Autopilot-CVS: downlink/ground/src Joystick.cpp,1.7,1.8 gui.fl,1.16,1.17 main.cpp,1.17,1.18
Status: Alpha
Brought to you by:
tramm
|
From: Dennis D'A. <den...@us...> - 2003-02-07 04:34:16
|
Update of /cvsroot/autopilot/downlink/ground/src
In directory sc8-pr-cvs1:/tmp/cvs-serv9771
Modified Files:
Joystick.cpp gui.fl main.cpp
Log Message:
added simple axes mapping
Index: Joystick.cpp
===================================================================
RCS file: /cvsroot/autopilot/downlink/ground/src/Joystick.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- Joystick.cpp 5 Feb 2003 17:31:26 -0000 1.7
+++ Joystick.cpp 7 Feb 2003 04:34:12 -0000 1.8
@@ -259,7 +259,8 @@
MMRESULT result;
JOYINFOEX joyinfo;
int i;
- signed int joyX, joyY, joyZ, joyR;
+ signed int joy[4];
+ signed int rollA, pitchA, collA, yawA;
joyinfo.dwSize=sizeof(joyinfo);
joyinfo.dwFlags=JOY_RETURNALL;
@@ -290,35 +291,30 @@
}
- Fl_Group *g = gui->axes;
-
-// if( num >= g->children() )
-// return;
-
- joyX=(signed int) joyinfo.dwXpos - 32000;
- joyY=(signed int) joyinfo.dwYpos - 32000;
- joyZ=(signed int) joyinfo.dwZpos - 32000;
- joyR=(signed int) joyinfo.dwRpos - 32000;
+ joy[0]=(signed int) joyinfo.dwXpos - 32000;
+ joy[1]=(signed int) joyinfo.dwYpos - 32000;
+ joy[2]=(signed int) joyinfo.dwZpos - 32000;
+ joy[3]=(signed int) joyinfo.dwRpos - 32000;
+
+ rollA=(int)gui->rollAxes->value();
+ pitchA=(int)gui->pitchAxes->value();
+ collA=(int)gui->collAxes->value();
+ yawA=(int)gui->yawAxes->value();
- handle_axis(0,joyX);
- handle_axis(1,joyY);
- handle_axis(2,joyZ);
- handle_axis(3,joyR);
+ joy_roll=joy[rollA];
+ joy_pitch=joy[pitchA];
+ joy_yaw=joy[yawA];
+ joy_throttle=joy[collA];
- Fl_Valuator *a = (Fl_Valuator*) g->child( 0 );
- a->value( joyX );
- a=(Fl_Valuator*) g->child( 1 );
- a->value( joyY );
- a=(Fl_Valuator*) g->child( 2 );
- a->value( joyZ );
- a=(Fl_Valuator*) g->child( 3 );
- a->value( joyR );
-
+ handle_axis(0,joy_roll); // roll
+ handle_axis(1,joy_pitch); // pitch
+ handle_axis(2,joy_throttle); // coll
+ handle_axis(3,joy_yaw); // yaw
- joy_roll = joyX;
- joy_pitch = joyY;
- joy_yaw = joyR;
- joy_throttle = joyZ;
+ gui->rollSlider->value(joy[0]);
+ gui->pitchSlider->value(joy[1]);
+ gui->collSlider->value(joy[2]);
+ gui->yawSlider->value(joy[3]);
if( joyinfo.dwFlags & JOY_RETURNBUTTONS )
{
Index: gui.fl
===================================================================
RCS file: /cvsroot/autopilot/downlink/ground/src/gui.fl,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- gui.fl 5 Feb 2003 17:40:09 -0000 1.16
+++ gui.fl 7 Feb 2003 04:34:12 -0000 1.17
@@ -14,7 +14,7 @@
xywh {10 10 375 290}
} {
Fl_Group {} {
- label Attitude open selected
+ label Attitude open
xywh {10 35 375 265}
} {
Fl_Box horizon {
@@ -265,8 +265,8 @@
xywh {335 45 30 235} minimum 17000 maximum 7000 step 8 value 16000 textsize 8
}
}
- Fl_Group {} {
- label Joystick open
+ Fl_Group joystickTab {
+ label Joystick open selected
xywh {10 35 375 265} hide
code0 {\#include "Joystick.h"}
} {
@@ -309,31 +309,47 @@
}
Fl_Group axes {
label Axes open
- xywh {20 40 245 250} labeltype NO_LABEL
+ xywh {20 40 245 260} labeltype NO_LABEL
} {
- Fl_Value_Slider {} {
- label 0
- xywh {20 50 30 235} type {Vert Knob} minimum 32768 maximum -32768 step 1 value 32768 textsize 8
+ Fl_Value_Slider rollSlider {
+ label { }
+ xywh {20 50 30 215} type {Vert Knob} minimum 32768 maximum -32768 step 1 value 32768 textsize 8
}
- Fl_Value_Slider {} {
- label 1
- xywh {63 50 30 235} type {Vert Knob} minimum 32768 maximum -32768 step 1 value 32768 textsize 8
+ Fl_Value_Slider pitchSlider {
+ label { }
+ xywh {63 50 30 215} type {Vert Knob} minimum 32768 maximum -32768 step 1 value 32768 textsize 8
}
- Fl_Value_Slider {} {
- label 2
- xywh {106 50 30 235} type {Vert Knob} minimum 32768 maximum -32768 step 1 value 32768 textsize 8
+ Fl_Value_Slider collSlider {
+ label { }
+ xywh {106 50 30 215} type {Vert Knob} minimum 32768 maximum -32768 step 1 value 32768 textsize 8
}
- Fl_Value_Slider {} {
- label 3
- xywh {149 50 30 235} type {Vert Knob} minimum 32768 maximum -32768 step 1 value 32768 textsize 8
+ Fl_Value_Slider yawSlider {
+ label { }
+ xywh {149 50 30 215} type {Vert Knob} minimum 32768 maximum -32768 step 1 value 32768 textsize 8
}
Fl_Value_Slider {} {
label 4
- xywh {192 50 30 235} type {Vert Knob} minimum 32768 maximum -32768 step 1 value 32768 textsize 8
+ xywh {192 50 30 225} type {Vert Knob} minimum 32768 maximum -32768 step 1 value 32768 textsize 8
}
Fl_Value_Slider {} {
label 5
- xywh {235 50 30 235} type {Vert Knob} minimum 32768 maximum -32768 step 1 value 32768 textsize 8
+ xywh {235 50 30 225} type {Vert Knob} minimum 32768 maximum -32768 step 1 value 32768 textsize 8
+ }
+ Fl_Value_Input rollAxes {
+ label { }
+ xywh {20 265 15 25}
+ }
+ Fl_Value_Input pitchAxes {
+ label { }
+ xywh {65 265 15 25}
+ }
+ Fl_Value_Input collAxes {
+ label { }
+ xywh {105 265 15 25}
+ }
+ Fl_Value_Input yawAxes {
+ label { }
+ xywh {150 265 15 25}
}
}
Fl_Light_Button joy_status {
Index: main.cpp
===================================================================
RCS file: /cvsroot/autopilot/downlink/ground/src/main.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- main.cpp 5 Feb 2003 17:39:26 -0000 1.17
+++ main.cpp 7 Feb 2003 04:34:12 -0000 1.18
@@ -230,7 +230,7 @@
if( state_fd >= 0 )
close( state_fd );
- state_fd = connect_state( 0, 0 );
+ state_fd = connect_state( "localhost", 2002 );
if( state_fd < 0 )
{
cerr << "Unable to contact state server" << endl;
@@ -350,6 +350,16 @@
udp_send( udp_fd, &server, 0x0001, 0, 0 );
}
+void
+init_gui(
+ void
+)
+{
+ gui->rollAxes->value(0);
+ gui->pitchAxes->value(1);
+ gui->collAxes->value(2);
+ gui->yawAxes->value(3);
+}
int
main(
@@ -362,6 +372,7 @@
gui = new UserInterface();
gui->make_window()->show( argc, argv );
+ init_gui();
reconnect_server();
reconnect_joy();
reconnect_udp();
|