diff options
| author | D Delmar Davis <don@suspectdevices.com> | 2025-07-09 22:13:28 -0700 |
|---|---|---|
| committer | D Delmar Davis <don@suspectdevices.com> | 2025-07-09 22:13:28 -0700 |
| commit | 5abd65fc6367a7fb8138e7cf27872d048c48d9ea (patch) | |
| tree | b2609466bd233d810cfe026e417d0af3a3c77b99 /bin | |
| parent | a815653cb3d63d58e3af90d6bfa338a6c60406e4 (diff) | |
not quite there yet.
Diffstat (limited to 'bin')
| -rw-r--r-- | bin/bigclock.py | 47 |
1 files changed, 35 insertions, 12 deletions
diff --git a/bin/bigclock.py b/bin/bigclock.py index 51fd687..ac09ca7 100644 --- a/bin/bigclock.py +++ b/bin/bigclock.py @@ -1,20 +1,43 @@ !#/usr/bin/python3 -#//3x2 https://exploreembedded.com/wiki/Distance_Meter_with_Big_Fonts -#const uint8_t bigNumbers3x2CustomPatterns_3[8][8] PROGMEM = { -#{ B11100, B11110, B11110, B11110, B11110, B11110, B11110, B11100}, // 0 left bar -#{ B00111, B01111, B01111, B01111, B01111, B01111, B01111, B00111}, // 1 right bar -#{ B11111, B11111, B00000, B00000, B00000, B00000, B11111, B11111}, // 2 upper and lower bar -#{ B11110, B11100, B00000, B00000, B00000, B00000, B11000, B11100}, // 3 left upper and lower rounded -#{ B01111, B00111, B00000, B00000, B00000, B00000, B00011, B00111}, // 4 right upper and lower rounded -#{ B00000, B00000, B00000, B00000, B00000, B00000, B11111, B11111}, // 5 right lower -#{ B00000, B00000, B00000, B00000, B00000, B00000, B00111, B01111}, // 6 right lower rounded -#{ B11111, B11111, B00000, B00000, B00000, B00000, B00000, B00000} // 7 upper bar -#}; + +import board import busio import adafruit_character_lcd.character_lcd_i2c as character_lcd i2c = busio.I2C(board.SCL, board.SDA) lcd = character_lcd.Character_LCD_I2C(i2c, 20, 4) lcd.backlight = True -lcd.message = "Hello there welcom\nCircuitPython\nwho knows if \nthis is too bright"
\ No newline at end of file +#lcd.message = "Hello there welcom\nCircuitPython\nwho knows if \nthis is too bright" +customchars=[ + bytes([0x01, 0x07, 0x0F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F]), # char 1: bottom right triangle + bytes([0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F]), # char 2: bottom block + bytes([0x10, 0x1C, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F]), # char 3: bottom left triangle + bytes([0x1F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00]), # char 4: top right triangle + bytes([0x1F, 0x1E, 0x1C, 0x10, 0x00, 0x00, 0x00, 0x00]), # char 5: top left triangle + bytes([0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00]), # char 6: upper block + bytes([0x1F, 0x1F, 0x1E, 0x1C, 0x18, 0x18, 0x10, 0x10]), # char 7: full top right triangle + bytes([0x01, 0x07, 0x0F, 0x1F, 0x00, 0x00, 0x00, 0x00]) # char 8: top right triangle +]; +for ch in range(0,7): + lcd.create_char(ch, customchars[ch]) + +mess="" +for ch in range(0,7): + mess+=chr(ch) + +lcd.message=mess + +bn4 = [ # 4-line numbers +# 0 1 2 3 4 5 6 7 8 9 + [0x01,0x06,0x03, 0x08,0xFF,0xFE, 0x08,0x06,0x03, 0x08,0x06,0x03, 0xFF,0xFE,0xFF, 0xFF,0x06,0x06, 0x01,0x06,0x03, 0x06,0x06,0xFF, 0x01,0x06,0x03, 0x01,0x06,0x03], + [0xFF,0xFE,0xFF, 0xFE,0xFF,0xFE, 0x02,0x02,0xFF, 0xFE,0x02,0xFF, 0xFF,0x02,0xFF, 0xFF,0x02,0x02, 0xFF,0x02,0x02, 0xFE,0x01,0x07, 0xFF,0x02,0xFF, 0xFF,0x02,0xFF], + [0xFF,0xFE,0xFF, 0xFE,0xFF,0xFE, 0xFF,0xFE,0xFE, 0xFE,0xFE,0xFF, 0xFE,0xFE,0xFF, 0xFE,0xFE,0xFF, 0xFF,0xFE,0xFF, 0xFE,0xFF,0xFE, 0xFF,0xFE,0xFF, 0xFE,0xFE,0xFF], + [0x04,0x06,0x05, 0xFE,0x06,0xFE, 0x06,0x06,0x06, 0x04,0x06,0x05, 0xFE,0xFE,0x06, 0x04,0x06,0x05, 0x04,0x06,0x05, 0xFE,0x06,0xFE, 0x04,0x06,0x05, 0x04,0x06,0x05] +] + +def printNum4(digit, leftAdjust): + for row in range(0,3): + lcd.cursor_position(leftAdjust,row); + i = digit*3 + lcd.message=chr(bn4[row][i])+chr(bn4[row][i+1])+chr(bn4[row][i+2]) |
