Skip to content

Commit bbec921

Browse files
authored
Merge pull request #29 from jposada202020/adding_displayio_example
adding_displayio_example
2 parents 4fbd4d5 + 5ee24ed commit bbec921

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

docs/examples.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,12 @@ Example showing ICM20948 sensor cycling between two magnetic data rates
6060
.. literalinclude:: ../examples/icm20x_icm20948_mag_data_rate_test.py
6161
:caption: examples/icm20x_icm20948_mag_data_rate_test.py
6262
:linenos:
63+
64+
DisplayIO Simpletest
65+
---------------------
66+
67+
This is a simple test for boards with built-in display.
68+
69+
.. literalinclude:: ../examples/icm20x_icm20948_displayio_simpletest.py
70+
:caption: examples/icm20x_icm20948_displayio_simpletest.py
71+
:linenos:
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
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+
8+
import board
9+
from adafruit_display_text.bitmap_label import Label
10+
from displayio import Group
11+
from terminalio import FONT
12+
13+
import adafruit_icm20x
14+
15+
# Simple demo of using the built-in display.
16+
# create a main_group to hold anything we want to show on the display.
17+
main_group = Group()
18+
# Initialize I2C bus and sensor.
19+
i2c = board.I2C() # uses board.SCL and board.SDA
20+
icm = adafruit_icm20x.ICM20948(i2c)
21+
22+
# Create Label(s) to show the readings. If you have a very small
23+
# display you may need to change to scale=1.
24+
display_output_label = Label(FONT, text="", scale=2)
25+
26+
# place the label(s) in the middle of the screen with anchored positioning
27+
display_output_label.anchor_point = (0, 0)
28+
display_output_label.anchored_position = (
29+
4,
30+
board.DISPLAY.height // 2 - 60,
31+
)
32+
33+
# add the label(s) to the main_group
34+
main_group.append(display_output_label)
35+
36+
# set the main_group as the root_group of the built-in DISPLAY
37+
board.DISPLAY.root_group = main_group
38+
39+
# begin main loop
40+
while True:
41+
# update the text of the label(s) to show the sensor readings
42+
acc_x, acc_y, acc_z = icm.acceleration
43+
display_output_label.text = (
44+
f"Acceleration\n"
45+
+ f"x: {acc_x:.1f} m/s^2\n"
46+
+ f"y: {acc_y:.1f} m/s^2\n"
47+
+ f"z: {acc_z:.1f} m/s^2"
48+
)
49+
# wait for a bit
50+
time.sleep(0.5)

0 commit comments

Comments
 (0)