fsm->act_pos=0;
fsm->current_state = wait_for_cmd;
fsm->flags |= CAN_LIFT_HOMED;
+ fsm->trigger_can_send=1;
+ fsm->can_req_homing=0;
// fsm->can_req_position = 0x54E2;
}
else if (timer_msec >= (time_start + 3000)) {
fsm->flags |= CAN_LIFT_TIMEOUT;
fsm->flags &= ~CAN_LIFT_HOMED;
fsm->trigger_can_send=1;
- }
-
+ fsm->can_req_homing=0;
+ }
break;
case EVENT_EXIT:
break;
fsm->current_state=homing;
}
//homing if match start, but did not homing before start
- if ((fsm->flags & CAN_LIFT_START) && !(fsm->flags & CAN_LIFT_HOMED)){
+ if ((fsm->can_req_homing) && !(fsm->flags & CAN_LIFT_HOMED)){
fsm->current_state=homing;
}
do_control(fsm, 2);