annotate display.py @ 2:3fe178258a80 default tip

sysfont
author drewp@bigasterisk.com
date Thu, 11 May 2023 15:07:22 -0700
parents 5a93179ccae9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
1 import time
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
2 import random
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
3 from machine import Pin, PWM, SPI
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
4 from ST7735 import TFT, TFTColor
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
5 from sysfont import sysfont
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
6
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
7
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
8 class Display:
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
9 def __init__(self):
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
10 self.lcd_backlight = PWM(Pin(17), freq=20000, duty=1023)
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
11 self.backlight_level = 0 # to 100
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
12 self.spi = SPI(1,
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
13 baudrate=20000000,
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
14 polarity=0,
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
15 phase=0,
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
16 sck=Pin(5),
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
17 mosi=Pin(18))
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
18 self.tft = TFT(
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
19 self.spi,
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
20 aDC=19,
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
21 aReset=16, # not connected
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
22 aCS=21)
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
23 self.tft.rotation(2)
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
24 self.tft.initr()
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
25 self.tft.rgb(True)
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
26
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
27 self.tft.fill(TFT.BLACK)
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
28 # for x in range(0, self.tft.size()[0], 6):
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
29 # self.tft.line((0, 0), (x, self.tft.size()[1] - 1),
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
30 # TFTColor(random.randrange(0, 256),
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
31 # random.randrange(0, 256),
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
32 # random.randrange(0, 256)))
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
33 def startupText(self, row, msg):
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
34 y1 = (row + 1) * 10
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
35 self.tft.fillrect((0, y1), (128, 10), TFT.BLACK)
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
36 self.tft.text((3, y1), msg, TFT.WHITE, sysfont)
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
37
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
38 def backlight(self, new, step_sec=0.005):
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
39 v = self.backlight_level
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
40 while v != new:
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
41 v = v + (-1 if v > new else (1 if v < new else 0))
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
42 self.lcd_backlight.duty(v * 10)
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
43 self.backlight_level = v
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
44 time.sleep(step_sec)
5a93179ccae9 7key code
drewp@bigasterisk.com
parents:
diff changeset
45