@@ -308,25 +308,25 @@ def raw(data):
308
308
i2c0 .writeto (HT16K33_ADDR , buffer )
309
309
310
310
def show (value ):
311
+ global displayBuff
311
312
value = str (value )
312
313
value = bytearray (value )
313
314
value = value [- 2 :] # limit only 2-char
314
- buffer = bytearray (16 )
315
- buffer [0 ] = 0
316
- buffer [1 ] = 0
317
- buffer [2 ] = 0
318
- buffer [3 ] = 0
315
+ displayBuff [0 ] = 0
316
+ displayBuff [1 ] = 0
317
+ displayBuff [2 ] = 0
318
+ displayBuff [3 ] = 0
319
319
if (len (value ) >= 2 ):
320
320
for i in range (6 ):
321
- buffer [i + 4 ] = font_6_8 [((value [0 ] * 6 ) + i )]
321
+ displayBuff [i + 4 ] = font_6_8 [((value [0 ] * 6 ) + i )]
322
322
for i in range (6 ):
323
- buffer [i + 4 + 6 ] = font_6_8 [((value [1 ] * 6 ) + i )]
323
+ displayBuff [i + 4 + 6 ] = font_6_8 [((value [1 ] * 6 ) + i )]
324
324
else :
325
325
for i in range (6 ):
326
- buffer [i + 4 ] = 0
326
+ displayBuff [i + 4 ] = 0
327
327
for i in range (6 ):
328
- buffer [i + 4 + 6 ] = font_6_8 [((value [0 ] * 6 ) + i )]
329
- raw (buffer )
328
+ displayBuff [i + 4 + 6 ] = font_6_8 [((value [0 ] * 6 ) + i )]
329
+ raw (displayBuff )
330
330
331
331
332
332
def scroll (value , speed = 0.06 ):
@@ -352,11 +352,11 @@ def clear():
352
352
displayBuff = bytearray (16 )
353
353
354
354
def show4x8 (value ):
355
+ global displayBuff
355
356
value = str (value ).upper ()
356
357
value = bytearray (value )
357
358
value = value [:5 ]
358
359
value = value [:(5 if b'.' in value else 4 )]
359
- buffer = bytearray (16 )
360
360
nextIndex = 0
361
361
if (len (value ) < (5 if b'.' in value else 4 )): # fit to right
362
362
nextIndex = nextIndex + (((5 if b'.' in value else 4 ) - len (value )) * 4 )
@@ -377,11 +377,11 @@ def show4x8(value):
377
377
nextIndex = nextIndex + 4
378
378
continue
379
379
for i in range (4 ):
380
- buffer [nextIndex ] = font4x8 [((charIndex * 4 ) + i )] | (0x04 if showDotFlag else 0 )
380
+ displayBuff [nextIndex ] = font4x8 [((charIndex * 4 ) + i )] | (0x04 if showDotFlag else 0 )
381
381
if showDotFlag :
382
382
showDotFlag = False
383
383
nextIndex = nextIndex + 1
384
- raw (buffer )
384
+ raw (displayBuff )
385
385
386
386
def left (value ):
387
387
global displayBuff
@@ -471,6 +471,14 @@ def plot(value):
471
471
displayBuff [15 ] = 0
472
472
raw (displayBuff )
473
473
474
+ def dot (x , y , value ):
475
+ global displayBuff
476
+ if value :
477
+ displayBuff [x ] = displayBuff [x ] | (0x80 >> y )
478
+ else :
479
+ displayBuff [x ] = displayBuff [x ] & ((0x80 >> y ) ^ 0xFF )
480
+ raw (displayBuff )
481
+
474
482
clear ()
475
483
i2c0 .writeto (HT16K33_ADDR , bytes ([ HT16K33_OSC_ON ]))
476
484
i2c0 .writeto (HT16K33_ADDR , bytes ([ HT16K33_DIM_SET_8_16 ]))
0 commit comments