Skip to content

Commit 2d8792a

Browse files
author
jposada202020
committed
adding_displayio_example
1 parent 3ca563e commit 2d8792a

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-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: 43 additions & 0 deletions
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_icm20x
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+
icm = adafruit_icm20x.ICM20948(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+
acc_x, acc_y, acc_z = icm.acceleration
41+
display_output_label.text = f"Acceleration\nx: {acc_x:.1f} m/s^2\ny: {acc_y:.1f} m/s^2\nz: {acc_z:.1f} m/s^2"
42+
# wait for a bit
43+
time.sleep(0.5)

0 commit comments

Comments
 (0)