HIGH = LIFT_TRAVEL_POS,
} BASIC_LIFT_POSITION;
-BASIC_LIFT_POSITION basic_lift_position = HIGH;
-
// number of pucks loaded is stored in robot.pucks_inside variable
bool lintel_present = 1;
int floor_to_unload;
act_chelae(CHELA_TIGHT, CHELA_TIGHT);
}
act_holder(HOLDER_TIGHT); //act_holder(HOLDER_LOOSE);
- act_lift(basic_lift_position);
- switch(basic_lift_position) {
- case (LOW):
- printf("basic lift position set to LOW\n");
- break;
- case (HIGH):
- printf("basic lift position set to HIGH\n");
- break;
- }
+ act_lift(HIGH);
act_pusher(PUSHER_INSIDE);
act_hokuyo(HOKUYO_PITCH_HORIZONTAL);
break;
act_holder(HOLDER_OPENED);
if (robot.pucks_inside > 2) {
robot.pucks_inside++; // FIXME: (?) change this variable only here in this state?
- basic_lift_position = HIGH;
FSM_TRANSITION(wait_for_command);
FSM_SIGNAL(MAIN, EV_ACTION_DONE, NULL);
} else {
case 0: */
act_holder(HOLDER_TIGHT);
robot.pucks_inside++; // FIXME: (?) change this variable in EV_ENTRY and only in one place?
- basic_lift_position = HIGH;
FSM_TRANSITION(wait_for_command);
FSM_SIGNAL(MAIN, EV_ACTION_DONE, NULL);
break;
FSM_TIMER(2000);
break;
case EV_FREE_SPACE:
- if (dummy_unload_status == 2)
+ if (dummy_unload_status == 2) {
FSM_TIMER(1000);
+ FSM_TRANSITION(wait_for_command);
+ }
break;
case EV_LIFT_IN_POS:
case EV_PUSHER_IN_POS:
events = {
"main" : {
"EV_START" : "Changed state of start connector.",
- # solved differently "EV_SHORT_TIME_TO_END" : "Time to go for the deposition regarless of what do we have.",
+ # solved differently "EV_SHORT_TIME_TO_END" : "Time to go for the deposition regardless of what do we have.",
"EV_LASER_POWER" : "", # FIXME: what's this? (F.J.)
"EV_ACTION_DONE" : "ACT FSM signals that the requested action has finished successfully",