@@ -232,7 +232,7 @@ class QwiicAlphanumeric(object):
232232 colon_on_off = 0 # Tracks the on/off state of the colon segment
233233 blink_rate = ALPHA_BLINK_RATE_NOBLINK # Tracks the current blinking status
234234
235- display_RAM = [' ' ] * 16 * 4
235+ display_RAM = [0 ] * 16 * 4
236236 display_content = [' ' ] * (4 * 4 + 1 )
237237
238238 def __init__ (self , address = None , i2c_driver = None ):
@@ -627,7 +627,7 @@ def display_on(self):
627627
628628 for i in range (1 , self .number_of_displays + 1 ):
629629 if self .display_on_single (i ) == False :
630- status = false
630+ status = False
631631
632632 return status
633633
@@ -704,7 +704,8 @@ def set_decimal_on_off(self, display_number, turn_on_decimal):
704704 self .decimal_on_off = self .ALPHA_DECIMAL_OFF
705705 dat = 0x00
706706
707- self .display_RAM [adr + (display_number - 1 ) * 16 ] = self .display_RAM [adr + (display_number - 1 ) * 16 ] | dat
707+ self .display_RAM [adr + (display_number - 1 ) * 16 ] &= 0xFE
708+ self .display_RAM [adr + (display_number - 1 ) * 16 ] |= dat
708709 return self .update_display ()
709710
710711 # ---------------------------------------------------------------------------------
@@ -801,7 +802,8 @@ def set_colon_on_off(self, display_number, turn_on_colon):
801802 self .colon_on_off = self .ALPHA_COLON_OFF
802803 dat = 0x00
803804
804- self .display_RAM [adr + (display_number - 1 ) * 16 ] = self .display_RAM [adr + (display_number - 1 ) * 16 ] | dat
805+ self .display_RAM [adr + (display_number - 1 ) * 16 ] &= 0xFE
806+ self .display_RAM [adr + (display_number - 1 ) * 16 ] |= dat
805807 return self .update_display ()
806808
807809 # ---------------------------------------------------------------------------------
@@ -964,7 +966,7 @@ def print(self, print_string):
964966
965967 self .digit_position = 0
966968
967- for i in range (0 , len (print_string )):
969+ for i in range (0 , min ( len (print_string ), self . number_of_displays * 4 )):
968970 # For special characters like '.' or ':', do not increment the digit position
969971 if print_string [i ] == '.' :
970972 self .print_char ('.' , 0 )
@@ -976,7 +978,6 @@ def print(self, print_string):
976978 self .display_content [i ] = print_string [i ]
977979
978980 self .digit_position = self .digit_position + 1
979- self .digit_position = self .digit_position % (self .number_of_displays * 4 )
980981
981982 self .update_display ()
982983
0 commit comments