Simple test
Ensure your device works with this simple test.
examples/lps28_simpletest.py
1# SPDX-FileCopyrightText: Copyright (c) 2025 Liz Clark for Adafruit Industries
2#
3# SPDX-License-Identifier: MIT
4
5import time
6
7import board
8
9import adafruit_lps28
10
11i2c = board.I2C()
12sensor = adafruit_lps28.LPS28(i2c)
13
14# Data Rate in hz
15# 1, 4, 10, 25, 50, 75, 100 or 200 (default)
16# sensor.data_rate = 200
17
18# Number of samples to average per measurement
19# 4 (default), 8, 16, 32, 64, 128, 512
20# sensor.averaging = 4
21
22# Full scale measurement mode for pressure
23# (False = 1260 hPa, True = 4060 hPa (default))
24# sensor.full_scale_mode = True
25
26# Enable/Disable Interrupts Defaults
27
28# sensor.data_ready_int = True # Data Ready Interrupt
29# sensor.data_ready_pulse = False # Data-ready interrupt as a pulse
30# sensor.fifo_full_int = False # FIFO full interrupt
31# sensor.fifo_overrun_int = False # FIFO overrun interrupt
32# sensor.fifo_watermark_int = False # FIFO watermark interrupt
33
34print("LPS28 Simple Test")
35print("-" * 40)
36
37while True:
38 if sensor.data_ready:
39 print(f"Pressure: {sensor.pressure:.1f} hPa")
40 print(f"Temperature: {sensor.temperature:.1f} °C")
41 print("-" * 40)
42
43 time.sleep(0.5)
One Shot test
Test for One Shot Reading
examples/lps28_oneshot.py
1# SPDX-FileCopyrightText: Copyright (c) 2025 Liz Clark for Adafruit Industries
2#
3# SPDX-License-Identifier: MIT
4
5import time
6
7import board
8
9import adafruit_lps28
10
11i2c = board.I2C()
12sensor = adafruit_lps28.LPS28(i2c)
13
14# Data Rate in hz
15# 1, 4, 10, 25, 50, 75, 100 or 200
16sensor.data_rate = 4
17# Number of samples to average per measurement
18# 4, 8, 16, 32, 64, 128, 512
19sensor.averaging = 512
20
21# Enable/Disable Interrupts Defaults
22
23# sensor.data_ready_int = True # Data Ready Interrupt
24# sensor.data_ready_pulse = False # Data-ready interrupt as a pulse
25# sensor.fifo_full_int = False # FIFO full interrupt
26# sensor.fifo_overrun_int = False # FIFO overrun interrupt
27# sensor.fifo_watermark_int = False # FIFO watermark interrupt
28
29while True:
30 # Trigger one-shot measurement
31 sensor.trigger_one_shot = True
32
33 # Wait for data ready
34 if sensor.data_ready:
35 print(f"Pressure: {sensor.pressure:.1f} hPa")
36 print(f"Temperature: {sensor.temperature:.1f} °C")
37 print("-" * 40)
FIFO Mode test
Test for FIFO Mode
examples/lps28_fifo.py
1# SPDX-FileCopyrightText: Copyright (c) 2025 Liz Clark for Adafruit Industries
2#
3# SPDX-License-Identifier: MIT
4
5import time
6
7import board
8
9import adafruit_lps28
10
11i2c = board.I2C()
12sensor = adafruit_lps28.LPS28(i2c)
13
14sensor.data_rate = 200
15sensor.averaging = 32
16
17# FIFO interrupts
18sensor.fifo_watermark_int = True # FIFO watermark interrupt
19# sensor.fifo_full_int = False # FIFO full interrupt
20# sensor.fifo_overrun_int = False # FIFO overrun interrupt
21
22# FIFO Modes
23# "BYPASS", "FIFO", "CONTINUOUS",
24# "CONTINUOUS_TO_FIFO", "BYPASS_TO_CONTINUOUS",
25# "CONTINUOUS_TO_BYPASS"
26sensor.fifo_mode = "CONTINUOUS"
27sensor.fifo_watermark = 10
28
29while True:
30 if sensor.fifo_ready: # Check watermark flag
31 samples = sensor.fifo_unread_samples
32 print(f"FIFO unread samples: {samples}")
33 for _ in range(samples):
34 pressure = sensor.fifo_pressure
35 print(f"FIFO Pressure (hPa): {pressure:.2f}")
36 time.sleep(0.1)