diff options
Diffstat (limited to 'c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.adb')
-rw-r--r-- | c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.adb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.adb new file mode 100644 index 0000000000..cc273b0b3f --- /dev/null +++ b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.adb @@ -0,0 +1,22 @@ +package body TS1325.Button is + + function Is_Button_Pressed return Boolean is + State: Byte; + begin + Inport (Button_Port, State); + return (State and Button_Mask) /= Button_Mask; + end Is_Button_Pressed; + + procedure Wait_For_Button_Press is + begin + Poll_Loop: + loop + if Is_Button_Pressed then + delay Minimum_Press_Time; + exit Poll_Loop when Is_Button_Pressed; + end if; + delay Poll_Interval; + end loop Poll_Loop; + end Wait_For_Button_Press; + +end TS1325.Button; |