Author: remi
Date: 2008-07-01 18:32:24 +0200 (Tue, 01 Jul 2008)
New Revision: 1291
Modified:
software_suite_v2/middleware/tuxdriver/trunk/src/tux_driver.c
software_suite_v2/middleware/tuxdriver/trunk/src/tux_eyes.c
software_suite_v2/middleware/tuxdriver/trunk/src/tux_eyes.h
software_suite_v2/middleware/tuxdriver/trunk/src/tux_mouth.c
software_suite_v2/middleware/tuxdriver/trunk/src/tux_mouth.h
software_suite_v2/middleware/tuxdriver/trunk/src/tux_spinning.c
software_suite_v2/middleware/tuxdriver/trunk/src/tux_spinning.h
software_suite_v2/middleware/tuxdriver/trunk/src/tux_wings.c
software_suite_v2/middleware/tuxdriver/trunk/src/tux_wings.h
Log:
* added the events for the motor statuses.
* updated the "off" function for eyes, mouth, flippers and spinning
Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_driver.c
===================================================================
--- software_suite_v2/middleware/tuxdriver/trunk/src/tux_driver.c
2008-07-01 14:49:24 UTC (rev 1290)
+++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_driver.c
2008-07-01 16:32:24 UTC (rev 1291)
@@ -148,6 +148,11 @@
{
tux_wings_update_position();
tux_spinning_update_movements_remaining();
+ tux_eyes_update_motor();
+ tux_mouth_update_motor();
+ tux_wings_update_motor();
+ tux_spinning_update_left_motor();
+ tux_spinning_update_right_motor();
}
break;
case FRAME_HEADER_SENSORS1:
Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_eyes.c
===================================================================
--- software_suite_v2/middleware/tuxdriver/trunk/src/tux_eyes.c 2008-07-01
14:49:24 UTC (rev 1290)
+++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_eyes.c 2008-07-01
16:32:24 UTC (rev 1291)
@@ -60,6 +60,18 @@
}
/**
+ * Update the status of the motor state of the eyes.
+ */
+LIBLOCAL void
+tux_eyes_update_motor(void)
+{
+ unsigned char new_state;
+
+ new_state = hw_status_table.position2.motors.bits.eyes_on;
+ tux_sw_status_set_intvalue(SW_ID_EYES_MOTOR_ON, new_state, true);
+}
+
+/**
* Update the status of the eyes movements remaining.
*/
LIBLOCAL void
@@ -155,16 +167,7 @@
bool ret;
tux_cmd_parser_clean_sys_command(EYES);
-
- if (mvmt_counter == 0)
- {
- ret = tux_movement_perform(MOVE_EYES, 0, 0, 5, FINAL_ST_STOP, false);
- }
- else
- {
- ret = tux_movement_cmd_on(MOVE_EYES, 1, FINAL_ST_UNDEFINED);
- }
-
+ ret = tux_movement_perform(MOVE_EYES, 0, 0, 5, FINAL_ST_STOP, false);
mvmt_counter = 0;
tux_sw_status_set_intvalue(SW_ID_EYES_REMAINING_MVM, mvmt_counter, true);
Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_eyes.h
===================================================================
--- software_suite_v2/middleware/tuxdriver/trunk/src/tux_eyes.h 2008-07-01
14:49:24 UTC (rev 1290)
+++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_eyes.h 2008-07-01
16:32:24 UTC (rev 1291)
@@ -26,6 +26,7 @@
#define TUX_EYES_POSITION_CLOSE 2
extern void tux_eyes_update_position(void);
+extern void tux_eyes_update_motor(void);
extern void tux_eyes_update_movements_remaining(void);
extern bool tux_eyes_cmd_on(unsigned char counter, unsigned char final_state);
extern bool tux_eyes_cmd_on_during(float timeout, unsigned char final_state);
Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_mouth.c
===================================================================
--- software_suite_v2/middleware/tuxdriver/trunk/src/tux_mouth.c
2008-07-01 14:49:24 UTC (rev 1290)
+++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_mouth.c
2008-07-01 16:32:24 UTC (rev 1291)
@@ -60,6 +60,18 @@
}
/**
+ * Update the status of the motor state of the mouth.
+ */
+LIBLOCAL void
+tux_mouth_update_motor(void)
+{
+ unsigned char new_state;
+
+ new_state = hw_status_table.position2.motors.bits.mouth_on;
+ tux_sw_status_set_intvalue(SW_ID_MOUTH_MOTOR_ON, new_state, true);
+}
+
+/**
*
*/
LIBLOCAL void
@@ -156,16 +168,7 @@
bool ret;
tux_cmd_parser_clean_sys_command(MOUTH);
-
- if (mvmt_counter == 0)
- {
- ret = tux_movement_perform(MOVE_MOUTH, 0, 0, 5, FINAL_ST_STOP, false);
- }
- else
- {
- ret = tux_movement_cmd_on(MOVE_MOUTH, 1, FINAL_ST_UNDEFINED);
- }
-
+ ret = tux_movement_perform(MOVE_MOUTH, 0, 0, 5, FINAL_ST_STOP, false);
mvmt_counter = 0;
tux_sw_status_set_intvalue(SW_ID_MOUTH_REMAINING_MVM, mvmt_counter, true);
Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_mouth.h
===================================================================
--- software_suite_v2/middleware/tuxdriver/trunk/src/tux_mouth.h
2008-07-01 14:49:24 UTC (rev 1290)
+++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_mouth.h
2008-07-01 16:32:24 UTC (rev 1291)
@@ -28,6 +28,7 @@
#define TUX_MOUTH_POSITION_CLOSE 2
extern void tux_mouth_update_position(void);
+extern void tux_mouth_update_motor(void);
extern void tux_mouth_update_movements_remaining(void);
extern bool tux_mouth_cmd_on(unsigned char counter, unsigned char final_state);
extern bool tux_mouth_cmd_on_during(float timeout, unsigned char final_state);
Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_spinning.c
===================================================================
--- software_suite_v2/middleware/tuxdriver/trunk/src/tux_spinning.c
2008-07-01 14:49:24 UTC (rev 1290)
+++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_spinning.c
2008-07-01 16:32:24 UTC (rev 1291)
@@ -63,6 +63,30 @@
}
/**
+ * Update the status of the motor state of the left spin.
+ */
+LIBLOCAL void
+tux_spinning_update_left_motor(void)
+{
+ unsigned char new_state;
+
+ new_state = hw_status_table.position2.motors.bits.spin_left_on;
+ tux_sw_status_set_intvalue(SW_ID_SPIN_LEFT_MOTOR_ON, new_state, true);
+}
+
+/**
+ * Update the status of the motor state of the right spin.
+ */
+LIBLOCAL void
+tux_spinning_update_right_motor(void)
+{
+ unsigned char new_state;
+
+ new_state = hw_status_table.position2.motors.bits.spin_right_on;
+ tux_sw_status_set_intvalue(SW_ID_SPIN_RIGHT_MOTOR_ON, new_state, true);
+}
+
+/**
*
*/
LIBLOCAL void
@@ -129,9 +153,6 @@
return tux_movement_perform(movement, 0, timeout, 5,
FINAL_ST_UNDEFINED, false);
}
-
- mvmt_counter = 255;
- tux_sw_status_set_intvalue(SW_ID_SPINNING_REMAINING_MVM, mvmt_counter,
true);
/* Long movements */
ret = tux_usb_send_to_tux(frame);
@@ -140,6 +161,9 @@
return false;
}
+ mvmt_counter = 255;
+ tux_sw_status_set_intvalue(SW_ID_SPINNING_REMAINING_MVM, mvmt_counter,
true);
+
ret = tux_cmd_parser_insert_sys_command(timeout, &cmd);
return ret;
@@ -172,16 +196,7 @@
bool ret;
tux_cmd_parser_clean_sys_command(SPINNING);
-
- if (mvmt_counter == 0)
- {
- ret = tux_movement_perform(MOVE_SPIN_R, 0, 0, 5, FINAL_ST_STOP, false);
- }
- else
- {
- ret = tux_movement_cmd_on(MOVE_SPIN_R, 1, FINAL_ST_UNDEFINED);
- }
-
+ ret = tux_movement_perform(MOVE_SPIN_R, 0, 0, 5, FINAL_ST_STOP, false);
mvmt_counter = 0;
tux_sw_status_set_intvalue(SW_ID_SPINNING_REMAINING_MVM, mvmt_counter,
true);
Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_spinning.h
===================================================================
--- software_suite_v2/middleware/tuxdriver/trunk/src/tux_spinning.h
2008-07-01 14:49:24 UTC (rev 1290)
+++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_spinning.h
2008-07-01 16:32:24 UTC (rev 1291)
@@ -28,6 +28,8 @@
#define TUX_SPINNING_DIRECTION_RIGHT 2
extern void tux_spinning_update_direction(void);
+extern void tux_spinning_update_left_motor(void);
+extern void tux_spinning_update_right_motor(void);
extern void tux_spinning_update_movements_remaining(void);
extern bool tux_spinning_cmd_speed(unsigned char speed);
Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_wings.c
===================================================================
--- software_suite_v2/middleware/tuxdriver/trunk/src/tux_wings.c
2008-07-01 14:49:24 UTC (rev 1290)
+++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_wings.c
2008-07-01 16:32:24 UTC (rev 1291)
@@ -52,6 +52,18 @@
}
/**
+ * Update the status of the motor state of the flippers.
+ */
+LIBLOCAL void
+tux_wings_update_motor(void)
+{
+ unsigned char new_state;
+
+ new_state = hw_status_table.position2.motors.bits.flippers_on;
+ tux_sw_status_set_intvalue(SW_ID_FLIPPERS_MOTOR_ON, new_state, true);
+}
+
+/**
*
*/
LIBLOCAL void
@@ -157,16 +169,7 @@
bool ret;
tux_cmd_parser_clean_sys_command(WINGS);
-
- if (mvmt_counter == 0)
- {
- ret = tux_movement_perform(MOVE_FLIPPERS, 0, 0, 5, FINAL_ST_STOP,
false);
- }
- else
- {
- ret = tux_movement_cmd_on(MOVE_FLIPPERS, 1, FINAL_ST_UNDEFINED);
- }
-
+ ret = tux_movement_perform(MOVE_FLIPPERS, 0, 0, 5, FINAL_ST_STOP, false);
mvmt_counter = 0;
tux_sw_status_set_intvalue(SW_ID_WINGS_REMAINING_MVM, mvmt_counter, true);
Modified: software_suite_v2/middleware/tuxdriver/trunk/src/tux_wings.h
===================================================================
--- software_suite_v2/middleware/tuxdriver/trunk/src/tux_wings.h
2008-07-01 14:49:24 UTC (rev 1290)
+++ software_suite_v2/middleware/tuxdriver/trunk/src/tux_wings.h
2008-07-01 16:32:24 UTC (rev 1291)
@@ -27,6 +27,7 @@
#define TUX_WINGS_POSITION_UP 1
extern void tux_wings_update_position(void);
+extern void tux_wings_update_motor(void);
extern void tux_wings_update_movements_remaining(void);
extern bool tux_wings_cmd_speed(unsigned char speed);
extern bool tux_wings_cmd_on(unsigned char counter, unsigned char final_state);
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn