aboutsummaryrefslogtreecommitdiffstats
path: root/hex33board/i2c.py
diff options
context:
space:
mode:
Diffstat (limited to 'hex33board/i2c.py')
-rw-r--r--hex33board/i2c.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/hex33board/i2c.py b/hex33board/i2c.py
index 8370b41..955d86a 100644
--- a/hex33board/i2c.py
+++ b/hex33board/i2c.py
@@ -19,10 +19,11 @@ def i2c_decode(msg):
def u16tob(v):
- return bytes([ v >> 8, v & 0xff ])
+ return bytes([v >> 8, v & 0xFF])
+
def btou16(b):
- return b[0] << 8 | b[1]
+ return b[0] << 8 | b[1]
class I2CModule:
@@ -51,7 +52,7 @@ class I2CModule:
elif msg[0] == ord(b"C") or msg[0] == ord(b"S"):
total_len = btou16(msg[1:])
assert not self.chunked
- self.chunked = (total_len, bytes()) # TODO: preallocate full buffer
+ self.chunked = (total_len, bytes()) # TODO: preallocate full buffer
elif msg[0] == ord(b"c") or msg[0] == ord(b"s"):
assert self.chunked
@@ -61,7 +62,9 @@ class I2CModule:
if total_len == len(data):
self.chunked = None
- self.keyboard.settings.loadstring(data.decode(), restore=False) # msg[0] == ord(b"c")
+ self.keyboard.settings.loadstring(
+ data.decode(), restore=False
+ ) # msg[0] == ord(b"c")
elif total_len < len(data):
raise ValueError("chunked message longer than size in header")
else:
@@ -84,7 +87,9 @@ class I2CLeader(I2CModule):
self.i2c.try_lock()
self.devices = self.i2c.scan()
- config = self.keyboard.settings.storestring(only=['rgb', 'layout', 'scale']).encode()
+ config = self.keyboard.settings.storestring(
+ only=["rgb", "layout", "scale"]
+ ).encode()
self.broadcast_chunked("C", config)
def broadcast(self, prefix: buffer, data: buffer, except_addr=None):
@@ -110,7 +115,7 @@ class I2CLeader(I2CModule):
# lower case: data buffers
prefix = prefix.lower().encode()
for i in range(0, total_len, CHUNK_SIZE):
- self.broadcast(prefix, data[i:i+CHUNK_SIZE])
+ self.broadcast(prefix, data[i : i + CHUNK_SIZE])
def tick(self):
msg = bytearray(2)