summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.adb
diff options
context:
space:
mode:
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.adb22
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;