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

Reply via email to