Code: Select all
Traceback (most recent call last):
File "/home/pi/software/wall_clock.py", line 325, in <module>
main()
File "/home/pi/software/wall_clock.py", line 268, in main
UpdateDisplay(now)
File "/home/pi/software/wall_clock.py", line 234, in UpdateDisplay
display[2] = TimeString[2]
File "/usr/local/lib/python3.9/dist-packages/adafruit_ht16k33/segments.py", line 168, in __setitem__
self.show()
File "/usr/local/lib/python3.9/dist-packages/adafruit_ht16k33/ht16k33.py", line 112, in show
self.i2c_device.write(self._buffer)
File "/usr/local/lib/python3.9/dist-packages/adafruit_bus_device/i2c_device.py", line 84, in write
self.i2c.writeto(self.device_address, buf, start=start, end=end)
File "/usr/local/lib/python3.9/dist-packages/busio.py", line 165, in writeto
return self._i2c.writeto(address, memoryview(buffer)[start:end], stop=stop)
File "/usr/local/lib/python3.9/dist-packages/adafruit_blinka/microcontroller/generic_linux/i2c.py", line 49, in writeto
self._i2c_bus.write_bytes(address, buffer[start:end])
File "/usr/local/lib/python3.9/dist-packages/Adafruit_PureIO/smbus.py", line 314, in write_bytes
self._device.write(buf)
OSError: [Errno 121] Remote I/O error
Code: Select all
def UpdateDisplay(CurrentTime):
TimeoutCount = 0
while TimeoutCount<10:
try:
if AMPM:
#Use AM/PM
TimeString = CurrentTime.strftime("%I%M")
if TimeString[0] == '0':
display[0] = ' '
else:
display[0] = TimeString[0]
else:
#24 hour time
TimeString = CurrentTime.strftime("%H%M")
display[0] = TimeString[0]
display[1] = TimeString[1]
display[2] = TimeString[2]
display[3] = TimeString[3]
display.colon = True
break
except OSError:
print(CurrentTime.strftime("%H:%M"), ": OS Error", TimeoutCount)
TimeoutCount = TimeoutCount + 1