motor through button active on different paths, no button = inactive

devel_freefall^2
Simon Frei 3 years ago
parent 5e182838ca
commit de7d8b5f75
  1. 16
      ASYD_Safety/Ada_Microbit/examples/MicroBit/jumper/src/main.adb

@ -64,20 +64,22 @@ begin
Display.Clear;
loop
if Buttons.State (Button_A) = Released and Buttons.State (Button_B) = Released and not FreeFallCondition then
DO_1_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Down);
DO_2_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Down);
DO_3_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Down);
DO_4_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Down);
end if;
if Buttons.State (Button_A) = Pressed then
DO_1_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Up);
DO_2_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Up);
DO_3_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Up);
DO_4_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Up);
Display.Clear;
Display.Display ('X');
end if;
if Buttons.State (Button_B) = Pressed then
DO_1_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Down);
DO_2_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Down);
DO_3_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Down);
DO_4_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Down);
DO_2_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Up);
DO_4_Pt.Set_Pull_Resistor(Pull => HAL.GPIO.Pull_Up);
Display.Clear;
Display.Display ('0');
end if;

Loading…
Cancel
Save