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)