Fully working split. Needs further testing
This commit is contained in:
parent
af3eccd715
commit
8d3e4e0a63
@ -64,6 +64,7 @@ class Firmware:
|
|||||||
|
|
||||||
split_type = None
|
split_type = None
|
||||||
split_offsets = ()
|
split_offsets = ()
|
||||||
|
split_flip = True
|
||||||
split_master_left = True
|
split_master_left = True
|
||||||
uart = None
|
uart = None
|
||||||
|
|
||||||
@ -86,6 +87,7 @@ class Firmware:
|
|||||||
def _handle_update(self, update):
|
def _handle_update(self, update):
|
||||||
# if self.split_type is not None and not self.split_master_left:
|
# if self.split_type is not None and not self.split_master_left:
|
||||||
# update[1] += self.split_offsets[update[1]]
|
# update[1] += self.split_offsets[update[1]]
|
||||||
|
print(update[1])
|
||||||
|
|
||||||
if update is not None:
|
if update is not None:
|
||||||
self._state.matrix_changed(
|
self._state.matrix_changed(
|
||||||
@ -115,9 +117,6 @@ class Firmware:
|
|||||||
if self.uart is None:
|
if self.uart is None:
|
||||||
self.uart = busio.UART(board.TX, board.RX, timeout=1)
|
self.uart = busio.UART(board.TX, board.RX, timeout=1)
|
||||||
|
|
||||||
# Update column with offset
|
|
||||||
# if self.split_master_left:
|
|
||||||
# update[1] += self.split_offsets[update[1]]
|
|
||||||
|
|
||||||
self.uart.write(update)
|
self.uart.write(update)
|
||||||
|
|
||||||
@ -126,7 +125,10 @@ class Firmware:
|
|||||||
if self.uart is None:
|
if self.uart is None:
|
||||||
self.uart = busio.UART(board.TX, board.RX, timeout=1)
|
self.uart = busio.UART(board.TX, board.RX, timeout=1)
|
||||||
|
|
||||||
update = self.uart.read(nbytes=3)
|
if self.uart.in_waiting > 0:
|
||||||
|
update = bytearray(self.uart.read())
|
||||||
|
if self.split_master_left:
|
||||||
|
update[1] += self.split_offsets[update[0]]
|
||||||
return update
|
return update
|
||||||
|
|
||||||
return None
|
return None
|
||||||
@ -137,6 +139,9 @@ class Firmware:
|
|||||||
assert self.col_pins, 'no GPIO pins defined for matrix columns'
|
assert self.col_pins, 'no GPIO pins defined for matrix columns'
|
||||||
assert self.diode_orientation is not None, 'diode orientation must be defined'
|
assert self.diode_orientation is not None, 'diode orientation must be defined'
|
||||||
|
|
||||||
|
if self.split_flip and not supervisor.runtime.serial_connected:
|
||||||
|
self.col_pins = list(reversed(self.col_pins))
|
||||||
|
|
||||||
self.matrix = MatrixScanner(
|
self.matrix = MatrixScanner(
|
||||||
cols=self.col_pins,
|
cols=self.col_pins,
|
||||||
rows=self.row_pins,
|
rows=self.row_pins,
|
||||||
@ -153,15 +158,15 @@ class Firmware:
|
|||||||
while True:
|
while True:
|
||||||
if self.split_type is not None and supervisor.runtime.serial_connected:
|
if self.split_type is not None and supervisor.runtime.serial_connected:
|
||||||
update = self._receive_from_slave()
|
update = self._receive_from_slave()
|
||||||
print(str(update))
|
|
||||||
if update is not None:
|
if update is not None:
|
||||||
|
print(str(update))
|
||||||
self._handle_update(update)
|
self._handle_update(update)
|
||||||
|
|
||||||
for update in self.matrix.scan_for_changes():
|
for update in self.matrix.scan_for_changes():
|
||||||
if update is not None:
|
if update is not None:
|
||||||
# Abstract this later. Bluetooth will fail here
|
# Abstract this later. Bluetooth will fail here
|
||||||
if supervisor.runtime.serial_connected:
|
if supervisor.runtime.serial_connected:
|
||||||
if update is not None:
|
print(str(update))
|
||||||
self._handle_update(update)
|
self._handle_update(update)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
@ -20,7 +20,8 @@ keyboard.tap_time = 900
|
|||||||
keyboard.leader_timeout = 2000
|
keyboard.leader_timeout = 2000
|
||||||
keyboard.debug_enabled = True
|
keyboard.debug_enabled = True
|
||||||
keyboard.split_type = "UART"
|
keyboard.split_type = "UART"
|
||||||
keyboard.split_offsets = [5, 5, 5, 5]
|
keyboard.split_flip = True
|
||||||
|
keyboard.split_offsets = [6, 6, 6, 6]
|
||||||
|
|
||||||
emoticons = compile_unicode_string_sequences({
|
emoticons = compile_unicode_string_sequences({
|
||||||
# Emoticons, but fancier
|
# Emoticons, but fancier
|
||||||
|
Loading…
x
Reference in New Issue
Block a user