Skip to content

Commit ec743a8

Browse files
author
brentru
committed
add first rev. of code
1 parent ec740ac commit ec743a8

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

Matrix_Portal_Learn_Stats/code.py

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import time
2+
import board
3+
import terminalio
4+
import rtc
5+
from adafruit_matrixportal.matrixportal import MatrixPortal
6+
7+
# --- Data Setup --- #
8+
GUIDE_INDEX = 0
9+
# Number of guides to fetch and display from the Adafruit Learning System
10+
DISPLAY_NUM_GUIDES = 5
11+
DATA_SOURCE = "https://learn.adafruit.com/api/guides/new.json?count=%d"%DISPLAY_NUM_GUIDES
12+
TITLE_DATA_LOCATION = ["guides", GUIDE_INDEX, "guide", "title"]
13+
TAGLINE_DATA_LOCATION = ["guides", GUIDE_INDEX, "guide", "tagline"]
14+
15+
# the current working directory (where this file is)
16+
cwd = ("/" + __file__).rsplit("/", 1)[0]
17+
18+
matrixportal = MatrixPortal(
19+
url=DATA_SOURCE,
20+
json_path=TITLE_DATA_LOCATION,
21+
status_neopixel=board.NEOPIXEL,
22+
debug=True
23+
)
24+
25+
print(matrixportal.graphics.display.height)
26+
matrixportal.add_text(
27+
text_font=terminalio.FONT,
28+
text_position=(2, 4),
29+
text_color=0xFFFFFF,
30+
scrolling=True,
31+
)
32+
33+
34+
35+
refresh_time = None
36+
while True:
37+
# Query local time every hour and on first run
38+
if (not refresh_time) or (time.monotonic() - refresh_time) > 3600:
39+
try:
40+
print("Getting time from internet!")
41+
matrixportal.get_local_time()
42+
refresh_time = time.monotonic()
43+
except RuntimeError as e:
44+
print("Some error occured, retrying! -", e)
45+
continue
46+
47+
the_time = time.localtime()
48+
print("Time: ", the_time)
49+
50+
try:
51+
print("Index is ", GUIDE_INDEX)
52+
# Update title location index
53+
TITLE_DATA_LOCATION = ["guides", GUIDE_INDEX, "guide", "title"]
54+
matrixportal.json_path=TITLE_DATA_LOCATION
55+
value = matrixportal.fetch()
56+
print("Response is", value)
57+
except (ValueError, RuntimeError) as e:
58+
print("Some error occured, retrying! -", e)
59+
matrixportal.scroll_text(0.01)
60+
if GUIDE_INDEX == DISPLAY_NUM_GUIDES - 1: # reached the end of the guides
61+
# reset the index
62+
print("Reached the end of the new guides, resetting!")
63+
GUIDE_INDEX = 0
64+
GUIDE_INDEX += 1
65+
time.sleep(0.5)

0 commit comments

Comments
 (0)