}
}
+void rcv_robot_cmd_cb(const ORTERecvInfo *info, void *vinstance,
+ void *recvCallBackParam)
+{
+ struct robot_cmd_type *instance = (struct robot_cmd_type *)vinstance;
+ static unsigned char start_received = 0;
+
+ switch (info->status) {
+ case NEW_DATA:
+ if (instance->start && !start_received) {
+ FSM_SIGNAL(MAIN, EV_START, NULL);
+ start_received = 1;
+ }
+ break;
+ case DEADLINE:
+ DBG("ORTE deadline occurred - pwr_ctrl receive\n");
+ break;
+ }
+}
+
/* ----------------------------------------------------------------------
* SUBSCRIBER CALLBACKS - EB2008
* ---------------------------------------------------------------------- */
generic_subscriber_joy_data_create(&robot.gorte, rcv_joy_data_cb, &robot.gorte);
generic_subscriber_pwr_voltage_create(&robot.gorte, rcv_pwr_voltage_cb, &robot.gorte);
generic_subscriber_pwr_ctrl_create(&robot.gorte, rcv_pwr_ctrl_cb, &robot.gorte);
+ generic_subscriber_robot_cmd_create(&robot.gorte, rcv_robot_cmd_cb, &robot.gorte);
/* create eb2008 subscribers */
eb2008_subscriber_servos_create(&robot.orte, rcv_servos_cb, &robot.orte);