Skip to content

Commit 7b11ffe

Browse files
Add files via upload
1 parent 7e9f539 commit 7b11ffe

21 files changed

+1715
-0
lines changed

aws.gpr

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
project AWS is
2+
3+
for Object_Dir use "obj";
4+
for Exec_Dir use "bin";
5+
for Source_Dirs use ("src");
6+
for Main use ("read.adb");
7+
type Module_Type is
8+
("MOD_WIN", "MOD_RPI");
9+
Module : Module_Type := external ("Module", "MOD_RPI");
10+
type Private_Warnings_Type is ("TRUE", "FALSE");
11+
Private_Warnings : Private_Warnings_Type := external ("Private_Warnings", "TRUE");
12+
13+
package Builder is
14+
for Switches ("ada") use ("-g", "-k", "-s");
15+
16+
case Module is
17+
18+
when "MOD_WIN" =>
19+
for Executable ("read.adb") use "aws_win";
20+
21+
when "MOD_RPI" =>
22+
for Executable ("read.adb") use "aws";
23+
end case;
24+
end Builder;
25+
26+
package Compiler is
27+
for Switches ("ada") use ("-g", "-gnatf", "-gnateDModule=" & Module,
28+
"-gnateDPrivate_Warnings=" & Private_Warnings, "-gnat12");
29+
end Compiler;
30+
31+
package Linker is
32+
for Switches ("ada") use ("-g");
33+
end Linker;
34+
35+
package Binder is
36+
for Switches ("ada") use ("-E");
37+
end Binder;
38+
39+
end AWS;

bin/aws

54.2 KB
Binary file not shown.

bin/i2c.sh

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/bin/bash
2+
counter=1
3+
while [ $counter -le 10 ]
4+
do
5+
MP=$(( $(i2cget -y -a 1 0x5d 0x1A)))
6+
let "n1 = $(($MP*(2**14)))"
7+
LP=$(( $(i2cget -y -a 1 0x5d 0x1B)))
8+
let "n2 = $(($LP*(2**6)))"
9+
LSP=$(( $(i2cget -y -a 1 0x5d 0x1B)))
10+
let "n3 = $(($LSP))"
11+
let "n4 = $n1+$n2+$n3"
12+
let "p=($n4/2048)"
13+
echo "Pressure : $p hPa"
14+
15+
MT=$(( $(i2cget -y -a 1 0x5d 0x1D)))
16+
let "n5 = $(($MT*(2**8)))"
17+
LT=$(( $(i2cget -y -a 1 0x5d 0x1E)))
18+
let "n6 = $(($LT))"
19+
let "n7 = $n5+$n6"
20+
let "t=($n7/32)"
21+
echo "Temperature: $t *c "
22+
23+
sleep 3s
24+
25+
26+
done

obj/b__read.adb

+303
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,303 @@
1+
pragma Warnings (Off);
2+
pragma Ada_95;
3+
pragma Source_File_Name (ada_main, Spec_File_Name => "b__read.ads");
4+
pragma Source_File_Name (ada_main, Body_File_Name => "b__read.adb");
5+
pragma Suppress (Overflow_Check);
6+
with Ada.Exceptions;
7+
8+
package body ada_main is
9+
10+
E013 : Short_Integer; pragma Import (Ada, E013, "system__soft_links_E");
11+
E025 : Short_Integer; pragma Import (Ada, E025, "system__exception_table_E");
12+
E027 : Short_Integer; pragma Import (Ada, E027, "system__exceptions_E");
13+
E021 : Short_Integer; pragma Import (Ada, E021, "system__soft_links__initialize_E");
14+
E057 : Short_Integer; pragma Import (Ada, E057, "ada__io_exceptions_E");
15+
E114 : Short_Integer; pragma Import (Ada, E114, "ada__strings_E");
16+
E111 : Short_Integer; pragma Import (Ada, E111, "interfaces__c_E");
17+
E080 : Short_Integer; pragma Import (Ada, E080, "system__os_lib_E");
18+
E059 : Short_Integer; pragma Import (Ada, E059, "ada__tags_E");
19+
E056 : Short_Integer; pragma Import (Ada, E056, "ada__streams_E");
20+
E083 : Short_Integer; pragma Import (Ada, E083, "system__file_control_block_E");
21+
E078 : Short_Integer; pragma Import (Ada, E078, "system__finalization_root_E");
22+
E076 : Short_Integer; pragma Import (Ada, E076, "ada__finalization_E");
23+
E075 : Short_Integer; pragma Import (Ada, E075, "system__file_io_E");
24+
E140 : Short_Integer; pragma Import (Ada, E140, "system__storage_pools_E");
25+
E134 : Short_Integer; pragma Import (Ada, E134, "system__finalization_masters_E");
26+
E132 : Short_Integer; pragma Import (Ada, E132, "system__storage_pools__subpools_E");
27+
E109 : Short_Integer; pragma Import (Ada, E109, "ada__calendar_E");
28+
E107 : Short_Integer; pragma Import (Ada, E107, "ada__calendar__delays_E");
29+
E054 : Short_Integer; pragma Import (Ada, E054, "ada__text_io_E");
30+
E118 : Short_Integer; pragma Import (Ada, E118, "ada__strings__maps_E");
31+
E161 : Short_Integer; pragma Import (Ada, E161, "ada__strings__maps__constants_E");
32+
E126 : Short_Integer; pragma Import (Ada, E126, "ada__strings__unbounded_E");
33+
E158 : Short_Integer; pragma Import (Ada, E158, "system__regpat_E");
34+
E166 : Short_Integer; pragma Import (Ada, E166, "system__pool_global_E");
35+
E152 : Short_Integer; pragma Import (Ada, E152, "gnat__expect_E");
36+
E105 : Short_Integer; pragma Import (Ada, E105, "i2c_E");
37+
38+
Sec_Default_Sized_Stacks : array (1 .. 1) of aliased System.Secondary_Stack.SS_Stack (System.Parameters.Runtime_Default_Sec_Stack_Size);
39+
40+
Local_Priority_Specific_Dispatching : constant String := "";
41+
Local_Interrupt_States : constant String := "";
42+
43+
Is_Elaborated : Boolean := False;
44+
45+
procedure finalize_library is
46+
begin
47+
E152 := E152 - 1;
48+
declare
49+
procedure F1;
50+
pragma Import (Ada, F1, "gnat__expect__finalize_spec");
51+
begin
52+
F1;
53+
end;
54+
E166 := E166 - 1;
55+
declare
56+
procedure F2;
57+
pragma Import (Ada, F2, "system__pool_global__finalize_spec");
58+
begin
59+
F2;
60+
end;
61+
E126 := E126 - 1;
62+
declare
63+
procedure F3;
64+
pragma Import (Ada, F3, "ada__strings__unbounded__finalize_spec");
65+
begin
66+
F3;
67+
end;
68+
E054 := E054 - 1;
69+
declare
70+
procedure F4;
71+
pragma Import (Ada, F4, "ada__text_io__finalize_spec");
72+
begin
73+
F4;
74+
end;
75+
E132 := E132 - 1;
76+
declare
77+
procedure F5;
78+
pragma Import (Ada, F5, "system__storage_pools__subpools__finalize_spec");
79+
begin
80+
F5;
81+
end;
82+
E134 := E134 - 1;
83+
declare
84+
procedure F6;
85+
pragma Import (Ada, F6, "system__finalization_masters__finalize_spec");
86+
begin
87+
F6;
88+
end;
89+
declare
90+
procedure F7;
91+
pragma Import (Ada, F7, "system__file_io__finalize_body");
92+
begin
93+
E075 := E075 - 1;
94+
F7;
95+
end;
96+
declare
97+
procedure Reraise_Library_Exception_If_Any;
98+
pragma Import (Ada, Reraise_Library_Exception_If_Any, "__gnat_reraise_library_exception_if_any");
99+
begin
100+
Reraise_Library_Exception_If_Any;
101+
end;
102+
end finalize_library;
103+
104+
procedure adafinal is
105+
procedure s_stalib_adafinal;
106+
pragma Import (C, s_stalib_adafinal, "system__standard_library__adafinal");
107+
108+
procedure Runtime_Finalize;
109+
pragma Import (C, Runtime_Finalize, "__gnat_runtime_finalize");
110+
111+
begin
112+
if not Is_Elaborated then
113+
return;
114+
end if;
115+
Is_Elaborated := False;
116+
Runtime_Finalize;
117+
s_stalib_adafinal;
118+
end adafinal;
119+
120+
type No_Param_Proc is access procedure;
121+
122+
procedure adainit is
123+
Main_Priority : Integer;
124+
pragma Import (C, Main_Priority, "__gl_main_priority");
125+
Time_Slice_Value : Integer;
126+
pragma Import (C, Time_Slice_Value, "__gl_time_slice_val");
127+
WC_Encoding : Character;
128+
pragma Import (C, WC_Encoding, "__gl_wc_encoding");
129+
Locking_Policy : Character;
130+
pragma Import (C, Locking_Policy, "__gl_locking_policy");
131+
Queuing_Policy : Character;
132+
pragma Import (C, Queuing_Policy, "__gl_queuing_policy");
133+
Task_Dispatching_Policy : Character;
134+
pragma Import (C, Task_Dispatching_Policy, "__gl_task_dispatching_policy");
135+
Priority_Specific_Dispatching : System.Address;
136+
pragma Import (C, Priority_Specific_Dispatching, "__gl_priority_specific_dispatching");
137+
Num_Specific_Dispatching : Integer;
138+
pragma Import (C, Num_Specific_Dispatching, "__gl_num_specific_dispatching");
139+
Main_CPU : Integer;
140+
pragma Import (C, Main_CPU, "__gl_main_cpu");
141+
Interrupt_States : System.Address;
142+
pragma Import (C, Interrupt_States, "__gl_interrupt_states");
143+
Num_Interrupt_States : Integer;
144+
pragma Import (C, Num_Interrupt_States, "__gl_num_interrupt_states");
145+
Unreserve_All_Interrupts : Integer;
146+
pragma Import (C, Unreserve_All_Interrupts, "__gl_unreserve_all_interrupts");
147+
Exception_Tracebacks : Integer;
148+
pragma Import (C, Exception_Tracebacks, "__gl_exception_tracebacks");
149+
Detect_Blocking : Integer;
150+
pragma Import (C, Detect_Blocking, "__gl_detect_blocking");
151+
Default_Stack_Size : Integer;
152+
pragma Import (C, Default_Stack_Size, "__gl_default_stack_size");
153+
Default_Secondary_Stack_Size : System.Parameters.Size_Type;
154+
pragma Import (C, Default_Secondary_Stack_Size, "__gnat_default_ss_size");
155+
Leap_Seconds_Support : Integer;
156+
pragma Import (C, Leap_Seconds_Support, "__gl_leap_seconds_support");
157+
Bind_Env_Addr : System.Address;
158+
pragma Import (C, Bind_Env_Addr, "__gl_bind_env_addr");
159+
160+
procedure Runtime_Initialize (Install_Handler : Integer);
161+
pragma Import (C, Runtime_Initialize, "__gnat_runtime_initialize");
162+
163+
Finalize_Library_Objects : No_Param_Proc;
164+
pragma Import (C, Finalize_Library_Objects, "__gnat_finalize_library_objects");
165+
Binder_Sec_Stacks_Count : Natural;
166+
pragma Import (Ada, Binder_Sec_Stacks_Count, "__gnat_binder_ss_count");
167+
Default_Sized_SS_Pool : System.Address;
168+
pragma Import (Ada, Default_Sized_SS_Pool, "__gnat_default_ss_pool");
169+
170+
begin
171+
if Is_Elaborated then
172+
return;
173+
end if;
174+
Is_Elaborated := True;
175+
Main_Priority := -1;
176+
Time_Slice_Value := -1;
177+
WC_Encoding := 'b';
178+
Locking_Policy := ' ';
179+
Queuing_Policy := ' ';
180+
Task_Dispatching_Policy := ' ';
181+
Priority_Specific_Dispatching :=
182+
Local_Priority_Specific_Dispatching'Address;
183+
Num_Specific_Dispatching := 0;
184+
Main_CPU := -1;
185+
Interrupt_States := Local_Interrupt_States'Address;
186+
Num_Interrupt_States := 0;
187+
Unreserve_All_Interrupts := 0;
188+
Exception_Tracebacks := 1;
189+
Detect_Blocking := 0;
190+
Default_Stack_Size := -1;
191+
Leap_Seconds_Support := 0;
192+
193+
ada_main'Elab_Body;
194+
Default_Secondary_Stack_Size := System.Parameters.Runtime_Default_Sec_Stack_Size;
195+
Binder_Sec_Stacks_Count := 1;
196+
Default_Sized_SS_Pool := Sec_Default_Sized_Stacks'Address;
197+
198+
Runtime_Initialize (1);
199+
200+
Finalize_Library_Objects := finalize_library'access;
201+
202+
System.Soft_Links'Elab_Spec;
203+
System.Exception_Table'Elab_Body;
204+
E025 := E025 + 1;
205+
System.Exceptions'Elab_Spec;
206+
E027 := E027 + 1;
207+
System.Soft_Links.Initialize'Elab_Body;
208+
E021 := E021 + 1;
209+
E013 := E013 + 1;
210+
Ada.Io_Exceptions'Elab_Spec;
211+
E057 := E057 + 1;
212+
Ada.Strings'Elab_Spec;
213+
E114 := E114 + 1;
214+
Interfaces.C'Elab_Spec;
215+
E111 := E111 + 1;
216+
System.Os_Lib'Elab_Body;
217+
E080 := E080 + 1;
218+
Ada.Tags'Elab_Spec;
219+
Ada.Tags'Elab_Body;
220+
E059 := E059 + 1;
221+
Ada.Streams'Elab_Spec;
222+
E056 := E056 + 1;
223+
System.File_Control_Block'Elab_Spec;
224+
E083 := E083 + 1;
225+
System.Finalization_Root'Elab_Spec;
226+
E078 := E078 + 1;
227+
Ada.Finalization'Elab_Spec;
228+
E076 := E076 + 1;
229+
System.File_Io'Elab_Body;
230+
E075 := E075 + 1;
231+
System.Storage_Pools'Elab_Spec;
232+
E140 := E140 + 1;
233+
System.Finalization_Masters'Elab_Spec;
234+
System.Finalization_Masters'Elab_Body;
235+
E134 := E134 + 1;
236+
System.Storage_Pools.Subpools'Elab_Spec;
237+
E132 := E132 + 1;
238+
Ada.Calendar'Elab_Spec;
239+
Ada.Calendar'Elab_Body;
240+
E109 := E109 + 1;
241+
Ada.Calendar.Delays'Elab_Body;
242+
E107 := E107 + 1;
243+
Ada.Text_Io'Elab_Spec;
244+
Ada.Text_Io'Elab_Body;
245+
E054 := E054 + 1;
246+
Ada.Strings.Maps'Elab_Spec;
247+
E118 := E118 + 1;
248+
Ada.Strings.Maps.Constants'Elab_Spec;
249+
E161 := E161 + 1;
250+
Ada.Strings.Unbounded'Elab_Spec;
251+
E126 := E126 + 1;
252+
System.Regpat'Elab_Spec;
253+
E158 := E158 + 1;
254+
System.Pool_Global'Elab_Spec;
255+
E166 := E166 + 1;
256+
Gnat.Expect'Elab_Spec;
257+
E152 := E152 + 1;
258+
E105 := E105 + 1;
259+
end adainit;
260+
261+
procedure Ada_Main_Program;
262+
pragma Import (Ada, Ada_Main_Program, "_ada_read");
263+
264+
function main
265+
(argc : Integer;
266+
argv : System.Address;
267+
envp : System.Address)
268+
return Integer
269+
is
270+
procedure Initialize (Addr : System.Address);
271+
pragma Import (C, Initialize, "__gnat_initialize");
272+
273+
procedure Finalize;
274+
pragma Import (C, Finalize, "__gnat_finalize");
275+
SEH : aliased array (1 .. 2) of Integer;
276+
277+
Ensure_Reference : aliased System.Address := Ada_Main_Program_Name'Address;
278+
pragma Volatile (Ensure_Reference);
279+
280+
begin
281+
gnat_argc := argc;
282+
gnat_argv := argv;
283+
gnat_envp := envp;
284+
285+
Initialize (SEH'Address);
286+
adainit;
287+
Ada_Main_Program;
288+
adafinal;
289+
Finalize;
290+
return (gnat_exit_status);
291+
end;
292+
293+
-- BEGIN Object file/option list
294+
-- /home/pi/test/obj/i2c.o
295+
-- /home/pi/test/obj/read.o
296+
-- -L/home/pi/test/obj/
297+
-- -L/home/pi/test/obj/
298+
-- -L/usr/lib/gcc/arm-linux-gnueabihf/8/adalib/
299+
-- -shared
300+
-- -lgnat-8
301+
-- END Object file/option list
302+
303+
end ada_main;

0 commit comments

Comments
 (0)