Skip to content

Commit 4c9ba87

Browse files
Minor refactoring
1 parent 2e297f5 commit 4c9ba87

File tree

3 files changed

+116
-117
lines changed

3 files changed

+116
-117
lines changed

components/src/sensors/combined/BMP280/bmp280.adb

Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
------------------------------------------------------------------------------
22
-- --
3-
-- Copyright (C) 2025, AdaCore --
3+
-- Copyright (C) 2026, AdaCore --
44
-- --
55
-- Redistribution and use in source and binary forms, with or without --
66
-- modification, are permitted provided that the following conditions are --
@@ -32,14 +32,14 @@
3232
package body BMP280 is
3333

3434
function Time_Standby_To_UInt3
35-
(Time_Standby : Time_Standby_Type) return UInt3;
35+
(Time_Standby : Standby_Milliseconds) return UInt3;
3636

3737
----------------
3838
-- Initialize --
3939
----------------
4040

4141
procedure Initialize
42-
(This : in out BMP280_Device;
42+
(This : in out BMP280_Pressure_Sensor;
4343
CS : Any_GPIO_Point;
4444
SPI : Any_SPI_Port;
4545
Error : out Boolean) is
@@ -77,7 +77,7 @@ package body BMP280 is
7777
-- CS_Low --
7878
------------
7979

80-
procedure CS_Low (This : BMP280_Device) is
80+
procedure CS_Low (This : BMP280_Pressure_Sensor) is
8181
begin
8282
if This.Holder.CS /= null then
8383
This.Holder.CS.Clear;
@@ -88,7 +88,7 @@ package body BMP280 is
8888
-- CS_High --
8989
-------------
9090

91-
procedure CS_High (This : BMP280_Device) is
91+
procedure CS_High (This : BMP280_Pressure_Sensor) is
9292
begin
9393
if This.Holder.CS /= null then
9494
This.Holder.CS.Set;
@@ -100,7 +100,7 @@ package body BMP280 is
100100
-------------------
101101

102102
function Read_Register
103-
(This : BMP280_Device;
103+
(This : BMP280_Pressure_Sensor;
104104
Register : Register_Name)
105105
return UInt8
106106
is
@@ -131,7 +131,7 @@ package body BMP280 is
131131
--------------------
132132

133133
procedure Write_Register
134-
(This : BMP280_Device;
134+
(This : BMP280_Pressure_Sensor;
135135
Register : Register_Name;
136136
Data : UInt8)
137137
is
@@ -161,7 +161,7 @@ package body BMP280 is
161161
-------------------
162162

163163
function Read_Register
164-
(This : BMP280_Device;
164+
(This : BMP280_Pressure_Sensor;
165165
Msb : Register_Name;
166166
Lsb : Register_Name)
167167
return UInt16 is
@@ -175,7 +175,7 @@ package body BMP280 is
175175
-------------------
176176

177177
function Read_Register
178-
(This : BMP280_Device;
178+
(This : BMP280_Pressure_Sensor;
179179
Msb : Register_Name;
180180
Lsb : Register_Name)
181181
return Interfaces.Integer_16
@@ -190,7 +190,7 @@ package body BMP280 is
190190
-- Read_Trim_Registers --
191191
-------------------------
192192

193-
procedure Read_Trim_Registers (This : in out BMP280_Device) is
193+
procedure Read_Trim_Registers (This : in out BMP280_Pressure_Sensor) is
194194
begin
195195
This.Holder.Dig_T1 := Integer_32
196196
(UInt16'(Read_Register (This, dig_T1_msb, dig_T1_lsb)));
@@ -234,18 +234,18 @@ package body BMP280 is
234234
-------------------
235235

236236
function Read_Register
237-
(This : BMP280_Device;
238-
Precision : Precision_Type;
239-
Msb : Register_Name;
240-
Lsb : Register_Name;
241-
Xlsb : Register_Name)
237+
(This : BMP280_Pressure_Sensor;
238+
Resol : Resolution;
239+
Msb : Register_Name;
240+
Lsb : Register_Name;
241+
Xlsb : Register_Name)
242242
return Interfaces.Integer_32
243243
is
244244
Xlsb_Data : UInt8 := Read_Register (This, Xlsb);
245245
Sb_Data : constant UInt32 := UInt32
246246
(UInt16'(Read_Register (This => This, Msb => Msb, Lsb => Lsb)));
247247
begin
248-
case Precision is
248+
case Resol is
249249
when Skipped | Ultra_Low_Power =>
250250
null;
251251

@@ -270,7 +270,7 @@ package body BMP280 is
270270
-- Get_Chip_ID --
271271
-----------------
272272

273-
function Get_Chip_ID (This : BMP280_Device) return Chip_ID is
273+
function Get_Chip_ID (This : BMP280_Pressure_Sensor) return Chip_ID is
274274
begin
275275
return Chip_ID (Read_Register (This, id));
276276
end Get_Chip_ID;
@@ -279,7 +279,7 @@ package body BMP280 is
279279
-- Reset --
280280
-----------
281281

282-
procedure Reset (This : BMP280_Device) is
282+
procedure Reset (This : BMP280_Pressure_Sensor) is
283283
begin
284284
Write_Register
285285
(This => This,
@@ -291,10 +291,10 @@ package body BMP280 is
291291
-- Get_Status --
292292
----------------
293293

294-
function Get_Status (This : BMP280_Device) return Status_Type
294+
function Get_Status (This : BMP280_Pressure_Sensor) return Device_Status
295295
is
296296
Data : UInt8;
297-
Register : Status_Type with Import, Address => Data'Address;
297+
Register : Device_Status with Import, Address => Data'Address;
298298
begin
299299
Data := Read_Register (This, status);
300300
return Register;
@@ -304,7 +304,7 @@ package body BMP280 is
304304
-- Is_Measuring_Set --
305305
----------------------
306306

307-
function Is_Measuring_Set (Status : Status_Type) return Boolean is
307+
function Is_Measuring_Set (Status : Device_Status) return Boolean is
308308
begin
309309
return Status.Measuring = 1;
310310
end Is_Measuring_Set;
@@ -313,7 +313,7 @@ package body BMP280 is
313313
-- Is_Im_Update_Set --
314314
----------------------
315315

316-
function Is_Im_Update_Set (Status : Status_Type) return Boolean is
316+
function Is_Im_Update_Set (Status : Device_Status) return Boolean is
317317
begin
318318
return Status.Im_Update = 1;
319319
end Is_Im_Update_Set;
@@ -323,8 +323,8 @@ package body BMP280 is
323323
--------------------
324324

325325
procedure Set_Power_Mode
326-
(This : BMP280_Device;
327-
Power_Mode : Power_Mode_Type)
326+
(This : BMP280_Pressure_Sensor;
327+
Power_Mode : Power_Modes)
328328
is
329329
Data : UInt8;
330330
Register : Ctrl_Meas_Register with Import, Address => Data'Address;
@@ -339,14 +339,14 @@ package body BMP280 is
339339
------------------------
340340

341341
procedure Set_Temp_Precision
342-
(This : BMP280_Device;
343-
Precision : Precision_Type)
342+
(This : BMP280_Pressure_Sensor;
343+
Value : Resolution)
344344
is
345345
Data : UInt8;
346346
Register : Ctrl_Meas_Register with Import, Address => Data'Address;
347347
begin
348348
Data := Read_Register (This, ctrl_meas);
349-
Register.osrs_t := Precision;
349+
Register.osrs_t := Value;
350350
Write_Register (This, ctrl_meas, Data);
351351
end Set_Temp_Precision;
352352

@@ -355,14 +355,14 @@ package body BMP280 is
355355
-------------------------
356356

357357
procedure Set_Press_Precision
358-
(This : BMP280_Device;
359-
Precision : Precision_Type)
358+
(This : BMP280_Pressure_Sensor;
359+
Value : Resolution)
360360
is
361361
Data : UInt8;
362362
Register : Ctrl_Meas_Register with Import, Address => Data'Address;
363363
begin
364364
Data := Read_Register (This, ctrl_meas);
365-
Register.osrs_p := Precision;
365+
Register.osrs_p := Value;
366366
Write_Register (This, ctrl_meas, Data);
367367
end Set_Press_Precision;
368368

@@ -371,11 +371,11 @@ package body BMP280 is
371371
----------------------
372372

373373
procedure Set_Time_Standby
374-
(This : BMP280_Device;
375-
Time_Standby : Time_Standby_Type)
374+
(This : BMP280_Pressure_Sensor;
375+
Time_Standby : Standby_Milliseconds)
376376
is
377-
Data : UInt8;
378-
Register : Config_Register with Import, Address => Data'Address;
377+
Data : UInt8;
378+
Register : Config_Register with Import, Address => Data'Address;
379379
begin
380380
Data := Read_Register (This, config);
381381
Register.t_sb := Time_Standby_To_UInt3 (Time_Standby);
@@ -387,8 +387,8 @@ package body BMP280 is
387387
----------------
388388

389389
procedure Set_Filter
390-
(This : BMP280_Device;
391-
Filter : Filter_Type)
390+
(This : BMP280_Pressure_Sensor;
391+
Filter : Filters)
392392
is
393393
Data : UInt8;
394394
Register : Config_Register with Import, Address => Data'Address;
@@ -403,7 +403,7 @@ package body BMP280 is
403403
----------------
404404

405405
function Get_T_Fine
406-
(This : BMP280_Device;
406+
(This : BMP280_Pressure_Sensor;
407407
Adc_T : Interfaces.Integer_32)
408408
return Interfaces.Integer_32
409409
is
@@ -420,11 +420,11 @@ package body BMP280 is
420420
return var1 + var2;
421421
end Get_T_Fine;
422422

423-
--------------
424-
-- Get_Temp --
425-
--------------
423+
---------------------
424+
-- Get_Temperature --
425+
---------------------
426426

427-
function Get_Temp (This : BMP280_Device) return Temperature
427+
function Get_Temperature (This : BMP280_Pressure_Sensor) return Temperature
428428
is
429429
Val : constant UInt8 := Read_Register (This, ctrl_meas);
430430
Resolution : Ctrl_Meas_Register with Import, Address => Val'Address;
@@ -436,21 +436,21 @@ package body BMP280 is
436436
end if;
437437

438438
Adc_T := Read_Register
439-
(This => This,
440-
Precision => Resolution.osrs_t,
441-
Msb => temp_msb,
442-
Lsb => temp_lsb,
443-
Xlsb => temp_xlsb);
439+
(This => This,
440+
Resol => Resolution.osrs_t,
441+
Msb => temp_msb,
442+
Lsb => temp_lsb,
443+
Xlsb => temp_xlsb);
444444
T := (Get_T_Fine (This, Adc_T) * 5 + 128) / 256;
445445

446446
return Temperature (Float (T) / 100.0);
447-
end Get_Temp;
447+
end Get_Temperature;
448448

449-
---------------
450-
-- Get_Press --
451-
---------------
449+
------------------
450+
-- Get_Pressure --
451+
------------------
452452

453-
function Get_Press (This : BMP280_Device) return Pressure
453+
function Get_Pressure (This : BMP280_Pressure_Sensor) return Pressure
454454
is
455455
Val : constant UInt8 := Read_Register (This, ctrl_meas);
456456
Resolution : Ctrl_Meas_Register with Import, Address => Val'Address;
@@ -479,14 +479,14 @@ package body BMP280 is
479479

480480
Adc_T := Read_Register
481481
(This => This,
482-
Precision => Resolution.osrs_t,
482+
Resol => Resolution.osrs_t,
483483
Msb => temp_msb,
484484
Lsb => temp_lsb,
485485
Xlsb => temp_xlsb);
486486

487487
Adc_P := Read_Register
488488
(This => This,
489-
Precision => Resolution.osrs_p,
489+
Resol => Resolution.osrs_p,
490490
Msb => press_msb,
491491
Lsb => press_lsb,
492492
Xlsb => press_xlsb);
@@ -511,13 +511,13 @@ package body BMP280 is
511511
P := (((P + Var1 + Var2) / 256) + (Integer_64 (dig_P7) * 16));
512512

513513
return Pressure (Float (P) / 25600.0);
514-
end Get_Press;
514+
end Get_Pressure;
515515

516516
------------------
517517
-- Set_SPI_Mode --
518518
------------------
519519

520-
procedure Set_SPI_Mode (This : BMP280_Device; Mode : SPI_Mode)
520+
procedure Set_SPI_Mode (This : BMP280_Pressure_Sensor; Mode : SPI_Mode)
521521
is
522522
Data : UInt8;
523523
Register : Config_Register with Import, Address => Data'Address;
@@ -536,7 +536,7 @@ package body BMP280 is
536536
----------------------
537537

538538
function Time_Standby_To_UInt3
539-
(Time_Standby : Time_Standby_Type) return UInt3 is
539+
(Time_Standby : Standby_Milliseconds) return UInt3 is
540540
begin
541541
return (if Time_Standby = 0.5 then 2#000#
542542
elsif Time_Standby = 62.5 then 2#001#

0 commit comments

Comments
 (0)