fsm_lift.switch_front = (0 != (IO1PIN & (1<<LIFT_FRONT_SWITCH)));
fsm_lift.switch_back = (0 != (IO1PIN & (1<<LIFT_BACK_SWITCH)));
- fsm_pusher.switch_front = (0 != (IO1PIN & (1<<PUSHER_FRONT_SWITCH)));
+ {
+ static int counter = 0;
+ /* Histereze koncaku */
+ if (0 != (IO1PIN & (1<<PUSHER_FRONT_SWITCH))) counter++;
+ else counter--;
+ if (counter > 10) {
+ counter=10;
+ fsm_pusher.switch_front = true;
+ }
+ if (counter < 0) {
+ fsm_pusher.switch_front = false;
+ counter = 0;
+ }
+ }
fsm_pusher.switch_back = (0 != (IO1PIN & (1<<PUSHER_BACK_SWITCH)));
if (fsm_lift.switch_front) can_flags |= LIFT_LIFT_ENDSW_UP;