[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paparazzi-commits] [4854] remove old joystick programs
From: |
Gautier Hattenberger |
Subject: |
[paparazzi-commits] [4854] remove old joystick programs |
Date: |
Wed, 21 Apr 2010 16:35:29 +0000 |
Revision: 4854
http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4854
Author: gautier
Date: 2010-04-21 16:35:29 +0000 (Wed, 21 Apr 2010)
Log Message:
-----------
remove old joystick programs
Modified Paths:
--------------
paparazzi3/trunk/sw/ground_segment/joystick/Makefile
paparazzi3/trunk/sw/ground_segment/joystick/attack3_booz_nav.xml
paparazzi3/trunk/sw/ground_segment/joystick/usb_stick.c
Added Paths:
-----------
paparazzi3/trunk/sw/ground_segment/joystick/test_stick.c
Removed Paths:
-------------
paparazzi3/trunk/sw/ground_segment/joystick/apm_stick.c
paparazzi3/trunk/sw/ground_segment/joystick/attack3_stick.c
paparazzi3/trunk/sw/ground_segment/joystick/main_stick.c
paparazzi3/trunk/sw/ground_segment/joystick/xbox_stick.c
Modified: paparazzi3/trunk/sw/ground_segment/joystick/Makefile
===================================================================
--- paparazzi3/trunk/sw/ground_segment/joystick/Makefile 2010-04-21
16:23:09 UTC (rev 4853)
+++ paparazzi3/trunk/sw/ground_segment/joystick/Makefile 2010-04-21
16:35:29 UTC (rev 4854)
@@ -29,23 +29,11 @@
OCAMLINCLUDES= -I $(OCAMLLIB) -I +lablgtk2 -I +xml-light -I $(TOOLSDIR)
LIBPPRZCMA=$(OCAMLLIB)/lib-pprz.cma
-all: main_stick
+all: test_stick input2ivy
-main_stick: main_stick.o usb_stick.o
- gcc -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config
glib-2.0 --libs` `pcre-config --libs` -lglibivy
+test_stick: test_stick.o
+ gcc -g -O2 -Wall -DSTICK_DBG `pkg-config glib-2.0 --cflags` -o $@ $^
usb_stick.c `pkg-config glib-2.0 --libs` `pcre-config --libs` -lglibivy
-main_stick_debug: main_stick.o usb_stick.o
- gcc -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config
glib-2.0 --libs` `pcre-config --libs` -lglibivy -DSTICK_DBG
-
-apm_stick: apm_stick.o usb_stick.o
- gcc -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config
glib-2.0 --libs` `pcre-config --libs` -lglibivy
-
-xbox_stick: xbox_stick.o usb_stick.o
- gcc -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config
glib-2.0 --libs` `pcre-config --libs` -lglibivy
-
-attack3_stick: attack3_stick.o usb_stick.o
- gcc -g -O2 -Wall `pkg-config glib-2.0 --cflags` -o $@ $^ `pkg-config
glib-2.0 --libs` `pcre-config --libs` -lglibivy
-
input2ivy: usb_stick.o ml_usb_stick.o input2ivy.cmo
$(OCAMLC) $(OCAMLINCLUDES) -custom -o $@ unix.cma str.cma
glibivy-ocaml.cma xml-light.cma lib-pprz.cma lablgtk.cma
$(TOOLSDIR)/fp_proc.cmo $^
@@ -58,5 +46,5 @@
$(Q)$(OCAMLC) $(OCAMLINCLUDES) -c $<
clean:
- rm -f *~ core *.o *.bak .depend main_stick main_stick_debug apm_stick
xbox_stick attack3_stick *.cmo *.cmi input2ivy
+ rm -f *~ core *.o *.bak .depend test_stick *.cmo *.cmi input2ivy
Deleted: paparazzi3/trunk/sw/ground_segment/joystick/apm_stick.c
===================================================================
--- paparazzi3/trunk/sw/ground_segment/joystick/apm_stick.c 2010-04-21
16:23:09 UTC (rev 4853)
+++ paparazzi3/trunk/sw/ground_segment/joystick/apm_stick.c 2010-04-21
16:35:29 UTC (rev 4854)
@@ -1,191 +0,0 @@
-/*
- * apm_stick
- *
- * send joystick control to paparazzi through ivy
- *
- * based on Force Feedback: Constant Force Stress Test
- * Copyright (C) 2001 Oliver Hamann
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "usb_stick.h"
-
-#include <inttypes.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <glib.h>
-#include <Ivy/ivy.h>
-#include <Ivy/ivyglibloop.h>
-
-#define TIMEOUT_PERIOD 100
-#define UPDATE_FREQ (1./TIMEOUT_PERIOD)
-
-#define DEFAULT_AC_ID 1
-
-#define CAM_TILT_MIN 1000
-#define CAM_TILT_MAX 2000
-
-/* Global vars */
-int fp_received_once = 0;
-long int fp_east_sp,fp_north_sp,fp_up_sp,fp_psi_sp;
-float east_sp,north_sp,up_sp,psi_sp;
-float cam_tilt_sp = 1500.;
-int last_button = 0;
-
-/* Options */
-char * device_name = NULL;
-int aircraft_id = DEFAULT_AC_ID;
-
-void parse_args(int argc, char * argv[])
-{
- int i;
-
- for (i = 1; i < argc; i++) {
- if (!strcmp(argv[i],"-d") && i<argc-1) device_name = argv[++i];
- else if (!strcmp(argv[i],"-a") && i<argc-1) aircraft_id = atoi(argv[++i]);
- else if (!strcmp(argv[i],"-h")) goto l_help;
- }
- return;
-
-l_help:
- printf("Usage:\n");
- printf(" %s <option> [<option>...]\n",argv[0]);
- printf("Options:\n");
- printf(" -d <string> device name\n");
- printf(" -a <int> aircraft id (default: %d)\n",DEFAULT_AC_ID);
- printf(" -h display this help\n");
- exit(1);
-}
-
-
-#define STICK_DEADBAND 10
-#define STICK_APPLY_DEADBAND(_v) (abs(_v) >= STICK_DEADBAND ? _v : 0)
-
-#define ATTITUDE_COEF 2144 // RadOfDeg(15 / 128) << 20
-#define CLIMB_COEF 0.5 // vertical speed (m/s)
-#define YAW_RATE_COEF (2./128) // 2 deg/s
-#define CAM_TILT_RATE 50 // cam rate
-
-#define SPEED_RES 19
-#define ANGLE_REF_RES 20
-
-#define bit_is_set(x, b) ((x >> b) & 0x1)
-
-// ATTITUDE
-static gboolean joystick_attitude_periodic(gpointer data __attribute__
((unused))) {
-
- stick_read();
-
- int roll = STICK_APPLY_DEADBAND(stick_axis_values[0]);
- int pitch = STICK_APPLY_DEADBAND(stick_axis_values[1]);
-
- int yaw_d_l = bit_is_set(stick_button_values,6);
- int yaw_d_r = bit_is_set(stick_button_values,7);
- int up = bit_is_set(stick_button_values,0);
- int down = bit_is_set(stick_button_values,3);
- int cam_up = bit_is_set(stick_button_values,2);
- int cam_down = bit_is_set(stick_button_values,5);
- /*printf("button %d %d %d %d %d %d\n", yaw_d_l, yaw_d_r, up, down, cam_up,
cam_down);*/
-
- float yaw_rate = 0.;
- if (yaw_d_l != yaw_d_r) {
- if (yaw_d_r) yaw_rate = YAW_RATE_COEF * (2^ANGLE_REF_RES);
- else yaw_rate = - YAW_RATE_COEF * (2^ANGLE_REF_RES);
- }
-
- float climb = 0.;
- if (up != down) {
- if (up) climb = - CLIMB_COEF; // Z DOWN !!!
- else climb = CLIMB_COEF;
- }
-
- if (cam_up != cam_down) {
- if (cam_up) cam_tilt_sp += CAM_TILT_RATE;
- else cam_tilt_sp -= CAM_TILT_RATE;
- }
- if (cam_tilt_sp < CAM_TILT_MIN) cam_tilt_sp = CAM_TILT_MIN;
- if (cam_tilt_sp > CAM_TILT_MAX) cam_tilt_sp = CAM_TILT_MAX;
-
- IvySendMsg("dl BOOZ2_FMS_COMMAND %d %d %d %d %d %d %d",
- 2, 3,
- (int)(climb * (1 << SPEED_RES)),
- (ATTITUDE_COEF * roll),
- (ATTITUDE_COEF * pitch),
- (int)(yaw_rate * YAW_RATE_COEF * (1 << ANGLE_REF_RES)),
- aircraft_id);
- /*printf("dl BOOZ2_FMS_COMMAND %d %d %d %d %d %d %d\n",
- 2, 3,
- (int)(climb * (1 << SPEED_RES)),
- (ATTITUDE_COEF * roll),
- (ATTITUDE_COEF * pitch),
- (int)(yaw_rate * YAW_RATE_COEF * (1 << ANGLE_REF_RES)),
- aircraft_id);*/
- if (cam_up != cam_down) {
- IvySendMsg("dl DL_SETTING %d %d %f",
- aircraft_id,
- 1, //CAM_TILT FIXME
- cam_tilt_sp);
- /*printf("dl DL_SETTING %d %d %f\n",
- aircraft_id,
- 1, //CAM_TILT FIXME
- cam_tilt_sp);*/
- }
-
- return 1;
-}
-
-/*
-void readBOOZ2_FPIvyBus(IvyClientPtr app, void *data, int argc, char **argv) {
-
- //printf("%s\n",argv[0]);
- if (argc > 0) {
- sscanf(argv[0],"%*d %*s
- %*d %*d %*d
- %*d %*d %*d
- %*d %*d %*d
- %ld %ld %ld %ld
- %*d",
- &fp_east_sp, &fp_north_sp, &fp_up_sp, &fp_psi_sp);
-
- fp_received_once = 1;
- }
-}
-*/
-
-int main ( int argc, char** argv) {
-
- GMainLoop *ml = g_main_loop_new(NULL, FALSE);
-
- parse_args(argc, argv);
-
- IvyInit ("IvyCtrlJoystick", "IvyCtrlJoystick READY", NULL, NULL, NULL, NULL);
- IvyStart("127.255.255.255");
-
- if (stick_init(device_name) != 0) return 0;
-
- /*
- char bindMsgBOOZ2_FP[32];
- snprintf(bindMsgBOOZ2_FP,32,"%s%d%s","(",aircraft_id," BOOZ2_FP .*)");
- IvyBindMsg(readBOOZ2_FPIvyBus,0,bindMsgBOOZ2_FP);
- */
-
- g_timeout_add(TIMEOUT_PERIOD, joystick_attitude_periodic, NULL);
-
- g_main_loop_run(ml);
-
- return 0;
-}
Modified: paparazzi3/trunk/sw/ground_segment/joystick/attack3_booz_nav.xml
===================================================================
--- paparazzi3/trunk/sw/ground_segment/joystick/attack3_booz_nav.xml
2010-04-21 16:23:09 UTC (rev 4853)
+++ paparazzi3/trunk/sw/ground_segment/joystick/attack3_booz_nav.xml
2010-04-21 16:35:29 UTC (rev 4854)
@@ -1,37 +1,45 @@
<joystick>
- <input>
- <axis index="0" name="roll"/>
- <axis index="1" name="pitch"/>
- <axis index="2" name="throttle"/>
- <button index="0" name="shoot"/>
- <button index="1" name="down"/>
- <button index="2" name="up"/>
- <button index="3" name="left"/>
- <button index="4" name="right"/>
- <button index="5" name="button6"/>
- <button index="6" name="button7"/>
- <button index="7" name="button8"/>
-</input>
-<messages period="0.1">
- <message class="datalink" name="BOOZ2_FMS_COMMAND">
- <field name="h_mode" value="IndexOfEnum(NAV)"/>
- <field name="v_mode" value="IndexOfEnum(NAV)"/>
- <field name="v_sp" value="(up-down)*127"/>
- <field name="h_sp_1" value="roll"/>
- <field name="h_sp_2" value="pitch"/>
- <field name="h_sp_3" value="(right-left)*127"/>
- </message>
+ <input>
+ <axis index="0" name="roll"/>
+ <axis index="1" name="pitch"/>
+ <axis index="2" name="throttle"/>
+ <button index="0" name="shoot"/>
+ <button index="1" name="down"/>
+ <button index="2" name="up"/>
+ <button index="3" name="left"/>
+ <button index="4" name="right"/>
+ <button index="5" name="button6"/>
+ <button index="6" name="button7"/>
+ <button index="7" name="button8"/>
+ </input>
- <message class="ground" name="DL_SETTING">
- <field name="index" value="IndexOfSetting(booz2_cam_tilt_pwm)"/>
- <field name="value" value="Scale(throttle, 1000, 2000)"/>
- </message>
+ <messages period="0.1">
+ <!--message class="datalink" name="BOOZ2_FMS_COMMAND">
+ <field name="h_mode" value="IndexOfEnum(NAV)"/>
+ <field name="v_mode" value="IndexOfEnum(NAV)"/>
+ <field name="v_sp" value="(up-down)*127"/>
+ <field name="h_sp_1" value="0-pitch"/>
+ <field name="h_sp_2" value="roll"/>
+ <field name="h_sp_3" value="(right-left)*127"/>
+ </message-->
- <message class="ground" name="JUMP_TO_BLOCK" on_event="shoot && button7">
- <field name="block_id" value="IndexOfBlock('land here')"/>
- </message>
- <message class="ground" name="JUMP_TO_BLOCK" on_event="shoot && button8">
- <field name="block_id" value="IndexOfBlock('Joystick')"/>
- </message>
- </messages>
+ <message class="datalink" name="BOOZ_NAV_STICK">
+ <field name="vx_sp" value="0-pitch"/>
+ <field name="vy_sp" value="roll"/>
+ <field name="vz_sp" value="(up-down)*127"/>
+ <field name="r_sp" value="(right-left)*127"/>
+ </message>
+
+ <!--message class="ground" name="DL_SETTING">
+ <field name="index" value="IndexOfSetting(booz2_cam_tilt_pwm)"/>
+ <field name="value" value="Scale(throttle, 1000, 2000)"/>
+ </message-->
+
+ <message class="ground" name="JUMP_TO_BLOCK" on_event="shoot && button7">
+ <field name="block_id" value="IndexOfBlock('land here')"/>
+ </message>
+ <message class="ground" name="JUMP_TO_BLOCK" on_event="shoot && button8">
+ <field name="block_id" value="IndexOfBlock('Joystick')"/>
+ </message>
+ </messages>
</joystick>
Deleted: paparazzi3/trunk/sw/ground_segment/joystick/attack3_stick.c
===================================================================
--- paparazzi3/trunk/sw/ground_segment/joystick/attack3_stick.c 2010-04-21
16:23:09 UTC (rev 4853)
+++ paparazzi3/trunk/sw/ground_segment/joystick/attack3_stick.c 2010-04-21
16:35:29 UTC (rev 4854)
@@ -1,225 +0,0 @@
-/*
- * Attack3 Logitech
- *
- * send joystick control to paparazzi through ivy
- *
- * based on Force Feedback: Constant Force Stress Test
- * Copyright (C) 2001 Oliver Hamann
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "usb_stick.h"
-
-#include <inttypes.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <glib.h>
-#include <Ivy/ivy.h>
-#include <Ivy/ivyglibloop.h>
-
-#define TIMEOUT_PERIOD 100
-#define UPDATE_FREQ (1./TIMEOUT_PERIOD)
-
-#define DEFAULT_AC_ID 1
-#define DEFAULT_MODE 0
-
-#define CAM_TILT_MIN 1000
-#define CAM_TILT_MAX 2000
-
-/* Global vars */
-int fp_received_once = 0;
-float cam_tilt_sp = 1500.;
-int last_button = 0;
-
-/* Options */
-char * device_name = NULL;
-int aircraft_id = DEFAULT_AC_ID;
-int mode = DEFAULT_MODE;
-
-void parse_args(int argc, char * argv[])
-{
- int i;
-
- for (i = 1; i < argc; i++) {
- if (!strcmp(argv[i],"-d") && i<argc-1) device_name = argv[++i];
- else if (!strcmp(argv[i],"-a") && i<argc-1) aircraft_id = atoi(argv[++i]);
- else if (!strcmp(argv[i],"-m") && i<argc-1) mode = atoi(argv[++i]);
- else if (!strcmp(argv[i],"-h")) goto l_help;
- }
- return;
-
-l_help:
- printf("Usage:\n");
- printf(" %s <option> [<option>...]\n",argv[0]);
- printf("Options:\n");
- printf(" -d <string> device name\n");
- printf(" -a <int> aircraft id (default: %d)\n",DEFAULT_AC_ID);
- printf(" -m <int> mode (0 attitude, 1 speed, default:
%d)\n",DEFAULT_MODE);
- printf(" -h display this help\n");
- exit(1);
-}
-
-
-#define STICK_DEADBAND 15
-#define STICK_APPLY_DEADBAND(_v) (abs(_v) >= STICK_DEADBAND ? _v : 0)
-#define STICK_LARGE_DEADBAND 20
-#define STICK_APPLY_LARGE_DEADBAND(_v) (abs(_v) >= STICK_LARGE_DEADBAND ? _v :
0)
-
-#define ATTITUDE_COEF 2144 // RadOfDeg(15 / 128) << 20
-#define CLIMB_COEF 0.5 // vertical speed (m/s)
-#define YAW_RATE_COEF (6./512) // 6 deg/s
-
-#define SPEED_RES 19
-#define ANGLE_REF_RES 20
-
-#define bit_is_set(x, b) ((x >> b) & 0x1)
-
-// ATTITUDE
-static gboolean joystick_attitude_periodic(gpointer data __attribute__
((unused))) {
-
- stick_read();
-
- int roll = STICK_APPLY_DEADBAND(stick_axis_values[0]);
- int pitch = STICK_APPLY_DEADBAND(stick_axis_values[1]);
- int tilt = stick_axis_values[2];
-
- int right = bit_is_set(stick_button_values,4);
- int left = bit_is_set(stick_button_values,3);
- int up = bit_is_set(stick_button_values,2);
- int down = bit_is_set(stick_button_values,1);
-
- float yaw_rate = 0.;
- if (left != right) {
- if (right) yaw_rate = 1.;
- else yaw_rate = -1.;
- }
-
- float climb = 0.;
- if (up != down) {
- if (up) climb = - CLIMB_COEF; // Z DOWN !!!
- else climb = CLIMB_COEF;
- }
-
- static int last_tilt = 0;
- cam_tilt_sp = CAM_TILT_MIN + (CAM_TILT_MAX - CAM_TILT_MIN) * (tilt +
127.)/254.;
- if (cam_tilt_sp < CAM_TILT_MIN) cam_tilt_sp = CAM_TILT_MIN;
- if (cam_tilt_sp > CAM_TILT_MAX) cam_tilt_sp = CAM_TILT_MAX;
-
- IvySendMsg("dl BOOZ2_FMS_COMMAND %d %d %d %d %d %d %d",
- 2, 3,
- (int)(climb * (1 << SPEED_RES)),
- (ATTITUDE_COEF * roll),
- (ATTITUDE_COEF * pitch),
- (int)(yaw_rate * YAW_RATE_COEF * (1 << ANGLE_REF_RES)),
- aircraft_id);
-// printf("dl BOOZ2_FMS_COMMAND %d %d %d %d %d %d %d\n",
-// 2, 3,
-// (int)(climb * (1 << SPEED_RES)),
-// (ATTITUDE_COEF * roll),
-// (ATTITUDE_COEF * pitch),
-// (int)(yaw_rate * YAW_RATE_COEF * (1 << ANGLE_REF_RES)),
-// aircraft_id);
- if (tilt != last_tilt) {
- IvySendMsg("dl DL_SETTING %d %d %f",
- aircraft_id,
- 1, //CAM_TILT FIXME
- cam_tilt_sp);
-// printf("dl DL_SETTING %d %d %f\n",
-// aircraft_id,
-// 1, //CAM_TILT FIXME
-// cam_tilt_sp);
- }
- last_tilt = tilt;
-
- return 1;
-}
-
-#define SPEED_MAX_VAL 127
-// SPEED
-static gboolean joystick_speed_periodic(gpointer data __attribute__
((unused))) {
-
- stick_read();
-
- int vx = -STICK_APPLY_DEADBAND(stick_axis_values[1]); // vx > 0 front
- int vy = STICK_APPLY_DEADBAND(stick_axis_values[0]); // vy > 0 right
- int tilt = stick_axis_values[2];
-
- int right = bit_is_set(stick_button_values,4);
- int left = bit_is_set(stick_button_values,3);
- int up = bit_is_set(stick_button_values,2);
- int down = bit_is_set(stick_button_values,1);
-
- int yaw_rate = 0; // rate > 0 clockwise
- if (left != right) {
- if (right) yaw_rate = SPEED_MAX_VAL;
- else yaw_rate = -SPEED_MAX_VAL;
- }
-
- int climb = 0; // climb > 0 up
- if (up != down) {
- if (up) climb = SPEED_MAX_VAL;
- else climb = -SPEED_MAX_VAL;
- }
-
- static int last_tilt = 0;
- cam_tilt_sp = CAM_TILT_MIN + (CAM_TILT_MAX - CAM_TILT_MIN) * (tilt +
127.)/254.;
- if (cam_tilt_sp < CAM_TILT_MIN) cam_tilt_sp = CAM_TILT_MIN;
- if (cam_tilt_sp > CAM_TILT_MAX) cam_tilt_sp = CAM_TILT_MAX;
-
- // NAV h = 4, v = 5
- IvySendMsg("dl BOOZ2_FMS_COMMAND %d %d %d %d %d %d %d", 4, 5, climb, vx, vy,
yaw_rate, aircraft_id);
- //printf("dl BOOZ2_FMS_COMMAND %d %d %d %d %d %d %d\n", 4, 5, climb, vx, vy,
yaw_rate, aircraft_id);
- if (tilt != last_tilt) {
- IvySendMsg("dl DL_SETTING %d %d %f",
- aircraft_id,
- 1, //CAM_TILT FIXME
- cam_tilt_sp);
-// printf("dl DL_SETTING %d %d %f\n",
-// aircraft_id,
-// 1, //CAM_TILT FIXME
-// cam_tilt_sp);
- }
- last_tilt = tilt;
-
- return 1;
-}
-
-int main ( int argc, char** argv) {
-
- GMainLoop *ml = g_main_loop_new(NULL, FALSE);
-
- parse_args(argc, argv);
-
- IvyInit ("IvyCtrlJoystick", "IvyCtrlJoystick READY", NULL, NULL, NULL, NULL);
- IvyStart("127.255.255.255");
-
- if (stick_init(device_name) != 0) return 0;
-
- if (mode == 0)
- g_timeout_add(TIMEOUT_PERIOD, joystick_attitude_periodic, NULL);
- else if (mode == 1)
- g_timeout_add(TIMEOUT_PERIOD, joystick_speed_periodic, NULL);
- else {
- fprintf(stderr,"Unknown mode : %d\n",mode);
- exit(1);
- }
-
-
- g_main_loop_run(ml);
-
- return 0;
-}
Deleted: paparazzi3/trunk/sw/ground_segment/joystick/main_stick.c
===================================================================
--- paparazzi3/trunk/sw/ground_segment/joystick/main_stick.c 2010-04-21
16:23:09 UTC (rev 4853)
+++ paparazzi3/trunk/sw/ground_segment/joystick/main_stick.c 2010-04-21
16:35:29 UTC (rev 4854)
@@ -1,197 +0,0 @@
-/*
- * main_stick
- *
- * send joystick control to paparazzi through ivy
- *
- * based on Force Feedback: Constant Force Stress Test
- * Copyright (C) 2001 Oliver Hamann
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "usb_stick.h"
-
-#include <inttypes.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <glib.h>
-#include <Ivy/ivy.h>
-#include <Ivy/ivyglibloop.h>
-
-#define TIMEOUT_PERIOD 100
-
-#define DEFAULT_AC_ID 1
-
-#define MODE_ATTITUDE 0
-#define MODE_HOVER 1
-
-/* Global vars */
-int fp_received_once = 0;
-long int lon_sp,lat_sp,alt_sp,psi_sp;
-int last_button = 0;
-int8_t last_up = 0, last_down = 0;
-
-/* Options */
-char * device_name = NULL;
-int aircraft_id = DEFAULT_AC_ID;
-int mode = MODE_ATTITUDE;
-
-void parse_args(int argc, char * argv[])
-{
- int i;
-
- for (i = 1; i < argc; i++) {
- if (!strcmp(argv[i],"-d") && i<argc-1) device_name = argv[++i];
- else if (!strcmp(argv[i],"-a") && i<argc-1) aircraft_id = atoi(argv[++i]);
- else if (!strcmp(argv[i],"-m") && i<argc-1) mode = atoi(argv[++i]);
- else if (!strcmp(argv[i],"-h")) goto l_help;
- }
- return;
-
-l_help:
- printf("Usage:\n");
- printf(" %s <option> [<option>...]\n",argv[0]);
- printf("Options:\n");
- printf(" -d <string> device name\n");
- printf(" -a <int> aircraft id (default: %d)\n",DEFAULT_AC_ID);
- printf(" -m <int> joystick mode: (%d) ATTITUDE, (%d) HOVER. (default:
%d)\n",MODE_ATTITUDE,MODE_HOVER,MODE_ATTITUDE);
- printf(" -h display this help\n");
- exit(1);
-}
-
-
-#define STICK_DEADBAND 10
-#define STICK_APPLY_DEADBAND(_v) (abs(_v) >= STICK_DEADBAND ? _v : 0)
-
-#define ATTITUDE_COEF 1430 // RadOfDeg(10 / 128) << 20
-#define CLIMB_COEF_SHIFT 6 // around 1 m/s
-#define CLIMB_INCR (10*127) // 1 m step
-#define YAW_RATE_COEF 50 // 4 deg/s = ATTITUDE_COEF / 10 (update frequncy)
-
-#define bit_is_set(x, b) ((x >> b) & 0x1)
-
-// ATTITUDE
-static gboolean joystick_attitude_periodic(gpointer data __attribute__
((unused))) {
-
- stick_read();
-
- int8_t roll = STICK_APPLY_DEADBAND(stick_axis_values[0]);
- int8_t pitch = STICK_APPLY_DEADBAND(stick_axis_values[1]);
- int8_t yaw_rate = STICK_APPLY_DEADBAND(stick_axis_values[2]);
- int climb = STICK_APPLY_DEADBAND(stick_axis_values[3]);
-
- int8_t last_up = bit_is_set(last_button,3);
- int8_t up = bit_is_set(stick_button_values,3);
- int8_t last_down = bit_is_set(last_button,1);
- int8_t down = bit_is_set(stick_button_values,1);
- if (up != last_up && up > 0) climb = - CLIMB_INCR;
- if (down != last_down && down > 0) climb = CLIMB_INCR;
- last_button = stick_button_values;
-
- if (! fp_received_once) return 1;
-
- alt_sp += (climb >> CLIMB_COEF_SHIFT);
- psi_sp += YAW_RATE_COEF * yaw_rate;
- IvySendMsg("dl BOOZ2_FMS_COMMAND %d %d %d %d %d %d %d",
- 2, 2,
- alt_sp,
- ATTITUDE_COEF * roll,
- ATTITUDE_COEF * pitch,
- psi_sp,
- aircraft_id);
-
- return 1;
-}
-
-#define SPEED_COEF_SHIFT 3 // around 2 m/s (128 >> 3 ~= 2 / 6378137 * 180 /
pi * 10^7 / 10)
-
-// HOVER
-static gboolean joystick_hover_periodic(gpointer data __attribute__
((unused))) {
-
- stick_read();
-
- int8_t vx = STICK_APPLY_DEADBAND(stick_axis_values[0]);
- int8_t vy = STICK_APPLY_DEADBAND(stick_axis_values[1]);
- int8_t yaw_rate = STICK_APPLY_DEADBAND(stick_axis_values[2]);
- int climb = STICK_APPLY_DEADBAND(stick_axis_values[3]);
-
- int8_t last_up = bit_is_set(last_button,3);
- int8_t up = bit_is_set(stick_button_values,3);
- int8_t last_down = bit_is_set(last_button,1);
- int8_t down = bit_is_set(stick_button_values,1);
- if (up != last_up && up > 0) climb = - CLIMB_INCR;
- if (down != last_down && down > 0) climb = CLIMB_INCR;
- last_button = stick_button_values;
- //printf("ok\n");
-
- if (! fp_received_once) return 1;
-
- alt_sp += (climb >> CLIMB_COEF_SHIFT);
- lon_sp += (vx >> SPEED_COEF_SHIFT);
- lat_sp -= (vy >> SPEED_COEF_SHIFT);
- psi_sp += YAW_RATE_COEF * yaw_rate;
- //printf("%ld %ld %ld %ld\n",alt_sp,lon_sp,lat_sp,psi_sp);
- IvySendMsg("dl BOOZ2_FMS_COMMAND %d %d %d %d %d %d %d",
- 3, 2,
- alt_sp,
- lat_sp,
- lon_sp,
- psi_sp,
- aircraft_id);
-
- return 1;
-}
-
-void readBOOZ2_FPIvyBus(IvyClientPtr app, void *data, int argc, char **argv) {
-
- //printf("%s\n",argv[0]);
- if (argc > 0) {
- sscanf(argv[0],"%*d %*s %*d %*d %*d %*d %*d %*d %*d %*d %ld %ld %ld %ld",
- &lon_sp, &lat_sp, &alt_sp, &psi_sp);
-
- fp_received_once = 1;
- }
-}
-
-int main ( int argc, char** argv) {
-
- GMainLoop *ml = g_main_loop_new(NULL, FALSE);
-
- parse_args(argc, argv);
-
- IvyInit ("IvyCtrlJoystick", "IvyCtrlJoystick READY", NULL, NULL, NULL, NULL);
- IvyStart("127.255.255.255");
-
- if (stick_init(device_name) != 0) return 0;
-
- char bindMsgBOOZ2_FP[32];
- snprintf(bindMsgBOOZ2_FP,32,"%s%d%s","(",aircraft_id," BOOZ2_FP .*)");
- IvyBindMsg(readBOOZ2_FPIvyBus,0,bindMsgBOOZ2_FP);
-
- switch(mode) {
- case MODE_ATTITUDE:
- g_timeout_add(TIMEOUT_PERIOD, joystick_attitude_periodic, NULL);
- break;
- case MODE_HOVER:
- g_timeout_add(TIMEOUT_PERIOD, joystick_hover_periodic, NULL);
- break;
- }
-
-
- g_main_loop_run(ml);
-
- return 0;
-}
Added: paparazzi3/trunk/sw/ground_segment/joystick/test_stick.c
===================================================================
--- paparazzi3/trunk/sw/ground_segment/joystick/test_stick.c
(rev 0)
+++ paparazzi3/trunk/sw/ground_segment/joystick/test_stick.c 2010-04-21
16:35:29 UTC (rev 4854)
@@ -0,0 +1,81 @@
+/*
+ * $Id: $
+ * Copyright (C) 2009 ENAC
+ *
+ * This file is part of paparazzi.
+ * test joystick detection and commands
+ *
+ * based on Force Feedback: Constant Force Stress Test
+ * Copyright (C) 2001 Oliver Hamann
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "usb_stick.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib.h>
+
+#define TIMEOUT_PERIOD 100
+
+
+/* Options */
+char * device_name = NULL;
+
+void parse_args(int argc, char * argv[])
+{
+ int i;
+
+ for (i = 1; i < argc; i++) {
+ if (!strcmp(argv[i],"-d") && i<argc-1) device_name = argv[++i];
+ else if (!strcmp(argv[i],"-h")) goto l_help;
+ }
+ return;
+
+l_help:
+ printf("Usage:\n");
+ printf(" %s <option> [<option>...]\n",argv[0]);
+ printf("Options:\n");
+ printf(" -d <string> device name\n");
+ printf(" -h display this help\n");
+ exit(1);
+}
+
+
+#define bit_is_set(x, b) ((x >> b) & 0x1)
+
+static gboolean periodic(gpointer data __attribute__ ((unused))) {
+
+ stick_read();
+
+ return 1;
+}
+
+int main ( int argc, char** argv) {
+
+ GMainLoop *ml = g_main_loop_new(NULL, FALSE);
+
+ parse_args(argc, argv);
+
+ if (stick_init(device_name) != 0) return 1;
+
+ g_timeout_add(TIMEOUT_PERIOD, periodic, NULL);
+
+ g_main_loop_run(ml);
+
+ return 0;
+}
Modified: paparazzi3/trunk/sw/ground_segment/joystick/usb_stick.c
===================================================================
--- paparazzi3/trunk/sw/ground_segment/joystick/usb_stick.c 2010-04-21
16:23:09 UTC (rev 4853)
+++ paparazzi3/trunk/sw/ground_segment/joystick/usb_stick.c 2010-04-21
16:35:29 UTC (rev 4854)
@@ -180,6 +180,8 @@
cnt,axis_min[cnt],axis_max[cnt],__FILE__,__LINE__);
return(1);
}
+ dbgprintf(stderr,"Axis %d : parameters = [%d,%d]\n",
+ cnt,axis_min[cnt],axis_max[cnt]);
}
#if 0
Deleted: paparazzi3/trunk/sw/ground_segment/joystick/xbox_stick.c
===================================================================
--- paparazzi3/trunk/sw/ground_segment/joystick/xbox_stick.c 2010-04-21
16:23:09 UTC (rev 4853)
+++ paparazzi3/trunk/sw/ground_segment/joystick/xbox_stick.c 2010-04-21
16:35:29 UTC (rev 4854)
@@ -1,181 +0,0 @@
-/*
- * xbox_stick
- *
- * send joystick control to paparazzi through ivy
- *
- * based on Force Feedback: Constant Force Stress Test
- * Copyright (C) 2001 Oliver Hamann
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "usb_stick.h"
-
-#include <inttypes.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <glib.h>
-#include <Ivy/ivy.h>
-#include <Ivy/ivyglibloop.h>
-
-#define TIMEOUT_PERIOD 100
-#define UPDATE_FREQ (1./TIMEOUT_PERIOD)
-
-#define DEFAULT_AC_ID 1
-
-#define CAM_TILT_MIN 1000
-#define CAM_TILT_MAX 2000
-
-/* Global vars */
-int fp_received_once = 0;
-long int fp_east_sp,fp_north_sp,fp_up_sp,fp_psi_sp;
-float east_sp,north_sp,up_sp,psi_sp;
-float cam_tilt_sp = 1500.;
-int last_button = 0;
-
-/* Options */
-char * device_name = NULL;
-int aircraft_id = DEFAULT_AC_ID;
-
-void parse_args(int argc, char * argv[])
-{
- int i;
-
- for (i = 1; i < argc; i++) {
- if (!strcmp(argv[i],"-d") && i<argc-1) device_name = argv[++i];
- else if (!strcmp(argv[i],"-a") && i<argc-1) aircraft_id = atoi(argv[++i]);
- else if (!strcmp(argv[i],"-h")) goto l_help;
- }
- return;
-
-l_help:
- printf("Usage:\n");
- printf(" %s <option> [<option>...]\n",argv[0]);
- printf("Options:\n");
- printf(" -d <string> device name\n");
- printf(" -a <int> aircraft id (default: %d)\n",DEFAULT_AC_ID);
- printf(" -h display this help\n");
- exit(1);
-}
-
-
-#define STICK_DEADBAND 15
-#define STICK_APPLY_DEADBAND(_v) (abs(_v) >= STICK_DEADBAND ? _v : 0)
-#define STICK_LARGE_DEADBAND 20
-#define STICK_APPLY_LARGE_DEADBAND(_v) (abs(_v) >= STICK_LARGE_DEADBAND ? _v :
0)
-
-#define ATTITUDE_COEF 2144 // RadOfDeg(15 / 128) << 20
-#define CLIMB_COEF 0.5 // vertical speed (m/s)
-#define YAW_RATE_COEF (4./(128*512)) // 2 deg/s
-#define CAM_TILT_COEF (50./128) // cam rate
-
-#define SPEED_RES 19
-#define ANGLE_REF_RES 20
-
-#define bit_is_set(x, b) ((x >> b) & 0x1)
-
-// ATTITUDE
-static gboolean joystick_attitude_periodic(gpointer data __attribute__
((unused))) {
-
- stick_read();
-
- int roll = STICK_APPLY_DEADBAND(stick_axis_values[0]);
- int pitch = STICK_APPLY_DEADBAND(stick_axis_values[1]);
- int yaw_rate = STICK_APPLY_LARGE_DEADBAND(stick_axis_values[3]);
- int tilt = STICK_APPLY_LARGE_DEADBAND(stick_axis_values[4]);
-
- int up = bit_is_set(stick_button_values,1);
- int down = bit_is_set(stick_button_values,0);
-
- float climb = 0.;
- if (up != down) {
- if (up) climb = - CLIMB_COEF; // Z DOWN !!!
- else climb = CLIMB_COEF;
- }
-
- cam_tilt_sp -= tilt * CAM_TILT_COEF;
- if (cam_tilt_sp < CAM_TILT_MIN) cam_tilt_sp = CAM_TILT_MIN;
- if (cam_tilt_sp > CAM_TILT_MAX) cam_tilt_sp = CAM_TILT_MAX;
-
- IvySendMsg("dl BOOZ2_FMS_COMMAND %d %d %d %d %d %d %d",
- 2, 3,
- (int)(climb * (1 << SPEED_RES)),
- (ATTITUDE_COEF * roll),
- (ATTITUDE_COEF * pitch),
- (int)(yaw_rate * YAW_RATE_COEF * (1 << ANGLE_REF_RES)),
- aircraft_id);
-// printf("dl BOOZ2_FMS_COMMAND %d %d %d %d %d %d %d\n",
-// 2, 3,
-// (int)(climb * (1 << SPEED_RES)),
-// (ATTITUDE_COEF * roll),
-// (ATTITUDE_COEF * pitch),
-// (int)(yaw_rate * YAW_RATE_COEF * (1 << ANGLE_REF_RES)),
-// aircraft_id);
- if (tilt != 0) {
- IvySendMsg("dl DL_SETTING %d %d %f",
- aircraft_id,
- 1, //CAM_TILT FIXME
- cam_tilt_sp);
-// printf("dl DL_SETTING %d %d %f\n",
-// aircraft_id,
-// 1, //CAM_TILT FIXME
-// cam_tilt_sp);
- }
-
- return 1;
-}
-
-/*
-void readBOOZ2_FPIvyBus(IvyClientPtr app, void *data, int argc, char **argv) {
-
- //printf("%s\n",argv[0]);
- if (argc > 0) {
- sscanf(argv[0],"%*d %*s
- %*d %*d %*d
- %*d %*d %*d
- %*d %*d %*d
- %ld %ld %ld %ld
- %*d",
- &fp_east_sp, &fp_north_sp, &fp_up_sp, &fp_psi_sp);
-
- fp_received_once = 1;
- }
-}
-*/
-
-int main ( int argc, char** argv) {
-
- GMainLoop *ml = g_main_loop_new(NULL, FALSE);
-
- parse_args(argc, argv);
-
- IvyInit ("IvyCtrlJoystick", "IvyCtrlJoystick READY", NULL, NULL, NULL, NULL);
- IvyStart("127.255.255.255");
-
- if (stick_init(device_name) != 0) return 0;
-
- /*
- char bindMsgBOOZ2_FP[32];
- snprintf(bindMsgBOOZ2_FP,32,"%s%d%s","(",aircraft_id," BOOZ2_FP .*)");
- IvyBindMsg(readBOOZ2_FPIvyBus,0,bindMsgBOOZ2_FP);
- */
-
- g_timeout_add(TIMEOUT_PERIOD, joystick_attitude_periodic, NULL);
-
- g_main_loop_run(ml);
-
- return 0;
-}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [4854] remove old joystick programs,
Gautier Hattenberger <=