16c82b1c0c
Resolves #70, Resolves #67 Still needs some regression testing in general, and a definite regression is that rotary encoders are no longer (for the immediate time being) supported. Moves to a much simpler internal state tracking system, and FAR lighter matrix scan. Removes MicroPython support entirely.
19 lines
590 B
Python
19 lines
590 B
Python
from kmk.consts import DiodeOrientation
|
|
from kmk.mcus.circuitpython_samd51 import Firmware as _Firmware
|
|
from kmk.pins import Pin as P
|
|
|
|
|
|
class Firmware(_Firmware):
|
|
# physical, visible cols (SCK, MO, MI, RX, TX, D4)
|
|
# physical, visible rows (10, 11, 12, 13) (9, 6, 5, SCL)
|
|
col_pins = (P.SCK, P.MOSI, P.MISO, P.RX, P.TX, P.D4)
|
|
row_pins = (P.D10, P.D11, P.D12, P.D13, P.D9, P.D6, P.D5, P.SCL)
|
|
rollover_cols_every_rows = 4
|
|
diode_orientation = DiodeOrientation.COLUMNS
|
|
|
|
swap_indicies = {
|
|
(3, 3): (3, 9),
|
|
(3, 4): (3, 10),
|
|
(3, 5): (3, 11),
|
|
}
|