Skip to content

Commit 28403bd

Browse files
authored
Merge pull request #19 from jposada202020/adding_displayio_example
adding_displayio_example
2 parents 167bf42 + 3941932 commit 28403bd

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed

docs/examples.rst

+9
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,12 @@ Calibrate the magnetometer and print out the hard-iron calibrations
3333
.. literalinclude:: ../examples/lis2mdl_calibrate.py
3434
:caption: examples/lis2mdl_calibrate.py
3535
:linenos:
36+
37+
DisplayIO Simpletest
38+
---------------------
39+
40+
This is a simple test for boards with built-in display.
41+
42+
.. literalinclude:: ../examples/lis2mdl_displayio_simpletest.py
43+
:caption: examples/lis2mdl_displayio_simpletest.py
44+
:linenos:
+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# SPDX-FileCopyrightText: 2024 Tim Cocks for Adafruit Industries
2+
# SPDX-FileCopyrightText: 2024 Jose D. Montoya
3+
#
4+
# SPDX-License-Identifier: MIT
5+
6+
import time
7+
import board
8+
from adafruit_display_text.bitmap_label import Label
9+
from terminalio import FONT
10+
from displayio import Group
11+
import adafruit_lis2mdl
12+
13+
# Simple demo of using the built-in display.
14+
# create a main_group to hold anything we want to show on the display.
15+
main_group = Group()
16+
# Initialize I2C bus and sensor.
17+
i2c = board.I2C() # uses board.SCL and board.SDA
18+
sensor = adafruit_lis2mdl.LIS2MDL(i2c)
19+
20+
# Create Label(s) to show the readings. If you have a very small
21+
# display you may need to change to scale=1.
22+
display_output_label = Label(FONT, text="", scale=2)
23+
24+
# place the label(s) in the middle of the screen with anchored positioning
25+
display_output_label.anchor_point = (0, 0)
26+
display_output_label.anchored_position = (
27+
4,
28+
board.DISPLAY.height // 2 - 60,
29+
)
30+
31+
# add the label(s) to the main_group
32+
main_group.append(display_output_label)
33+
34+
# set the main_group as the root_group of the built-in DISPLAY
35+
board.DISPLAY.root_group = main_group
36+
37+
# begin main loop
38+
while True:
39+
# update the text of the label(s) to show the sensor readings
40+
mag_x, mag_y, mag_z = sensor.magnetic
41+
display_output_label.text = f"X:{mag_x:10.2f}, Y:{mag_y:10.2f}, Z:{mag_z:10.2f} uT"
42+
# wait for a bit
43+
time.sleep(0.5)

0 commit comments

Comments
 (0)