[tuxdroid-svn] r1291 - software_suite_v2/middleware/tuxdriver/trunk/src
Status: Beta
Brought to you by:
ks156
From: remi <c2m...@c2...> - 2008-07-01 16:32:21
|
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); |