Remove a ton of leftover MicroPython code and abstractions, including all of kmk.pins
This commit is contained in:
parent
86c8e006e0
commit
8c57844a22
@ -1,9 +1,10 @@
|
|||||||
|
import board
|
||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.D9, P.D10, P.D11, P.D12, P.D13, P.SCL)
|
col_pins = (board.D9, board.D10, board.D11, board.D12, board.D13, board.SCL)
|
||||||
row_pins = (P.A3, P.A4, P.A5, P.SCK, P.MOSI)
|
row_pins = (board.A3, board.A4, board.A5, board.SCK, board.MOSI)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
|
@ -2,12 +2,29 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.A0, P.A1, P.A2, P.A3, P.A4, P.A5, P.SCK, P.MOSI)
|
col_pins = (
|
||||||
row_pins = (P.TX, P.RX, P.SDA, P.SCL, P.D13, P.D12, P.D11, P.D10)
|
board.A0,
|
||||||
|
board.A1,
|
||||||
|
board.A2,
|
||||||
|
board.A3,
|
||||||
|
board.A4,
|
||||||
|
board.A5,
|
||||||
|
board.SCK,
|
||||||
|
board.MOSI,
|
||||||
|
)
|
||||||
|
row_pins = (
|
||||||
|
board.TX,
|
||||||
|
board.RX,
|
||||||
|
board.SDA,
|
||||||
|
board.SCL,
|
||||||
|
board.D13,
|
||||||
|
board.D12,
|
||||||
|
board.D11,
|
||||||
|
board.D10,
|
||||||
|
)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.D9
|
rgb_pixel_pin = board.D9
|
||||||
rgb_num_pixels = 12
|
rgb_num_pixels = 12
|
||||||
|
@ -2,10 +2,19 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.RX, P.D13, P.A0, P.D11, P.A4, P.A5, P.D10, P.D9, P.SCK)
|
col_pins = (
|
||||||
|
board.RX,
|
||||||
|
board.D13,
|
||||||
|
board.A0,
|
||||||
|
board.D11,
|
||||||
|
board.A4,
|
||||||
|
board.A5,
|
||||||
|
board.D10,
|
||||||
|
board.D9,
|
||||||
|
board.SCK,
|
||||||
|
)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.TX
|
rgb_pixel_pin = board.TX
|
||||||
|
@ -2,12 +2,11 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.A1, P.A2, P.A3, P.A4, P.A5, P.SCK, P.MOSI)
|
col_pins = (board.A1, board.A2, board.A3, board.A4, board.A5, board.SCK, board.MOSI)
|
||||||
row_pins = (P.A0, P.D11, P.D10, P.D9)
|
row_pins = (board.A0, board.D11, board.D10, board.D9)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.TX
|
rgb_pixel_pin = board.TX
|
||||||
uart_pin = board.SCL
|
uart_pin = board.SCL
|
||||||
|
@ -2,12 +2,11 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.A2, P.A3, P.A4, P.A5, P.SCK, P.MOSI)
|
col_pins = (board.A2, board.A3, board.A4, board.A5, board.SCK, board.MOSI)
|
||||||
row_pins = (P.D11, P.D10, P.D9, P.D7, P.D13)
|
row_pins = (board.D11, board.D10, board.D9, board.D7, board.D13)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.TX
|
rgb_pixel_pin = board.TX
|
||||||
uart_pin = board.SCL
|
uart_pin = board.SCL
|
||||||
|
@ -3,15 +3,14 @@ import board
|
|||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.matrix import intify_coordinate as ic
|
from kmk.matrix import intify_coordinate as ic
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
# Pin mappings for converter board found at hardware/README.md
|
# Pin mappings for converter board found at hardware/README.md
|
||||||
# QMK: MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }
|
# QMK: MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }
|
||||||
# QMK: MATRIX_ROW_PINS { D7, E6, B4, D2, D4 }
|
# QMK: MATRIX_ROW_PINS { D7, E6, B4, D2, D4 }
|
||||||
col_pins = (P.A2, P.A3, P.A4, P.A5, P.SCK, P.MOSI)
|
col_pins = (board.A2, board.A3, board.A4, board.A5, board.SCK, board.MOSI)
|
||||||
row_pins = (P.D11, P.D10, P.D9, P.RX, P.D13)
|
row_pins = (board.D11, board.D10, board.D9, board.RX, board.D13)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
|
|
||||||
split_flip = True
|
split_flip = True
|
||||||
|
@ -2,11 +2,27 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.SDA, P.A2, P.A3, P.A4, P.A5, P.SCK, P.MOSI)
|
col_pins = (
|
||||||
row_pins = (P.TX, P.A0, P.RX, P.A1, P.D11, P.D9, P.D12, P.D10)
|
board.SDA,
|
||||||
|
board.A2,
|
||||||
|
board.A3,
|
||||||
|
board.A4,
|
||||||
|
board.A5,
|
||||||
|
board.SCK,
|
||||||
|
board.MOSI,
|
||||||
|
)
|
||||||
|
row_pins = (
|
||||||
|
board.TX,
|
||||||
|
board.A0,
|
||||||
|
board.RX,
|
||||||
|
board.A1,
|
||||||
|
board.D11,
|
||||||
|
board.D9,
|
||||||
|
board.D12,
|
||||||
|
board.D10,
|
||||||
|
)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.D13
|
rgb_pixel_pin = board.D13
|
||||||
|
@ -2,12 +2,11 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.A2, P.A3, P.A4, P.A5, P.SCK, P.A0)
|
col_pins = (board.A2, board.A3, board.A4, board.A5, board.SCK, board.A0)
|
||||||
row_pins = (P.D11, P.D10, P.D9, P.D7)
|
row_pins = (board.D11, board.D10, board.D9, board.D7)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.TX
|
rgb_pixel_pin = board.TX
|
||||||
uart_pin = board.SCL
|
uart_pin = board.SCL
|
||||||
|
@ -2,12 +2,11 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.A2, P.A3, P.A4, P.A5, P.SCK, P.MOSI)
|
col_pins = (board.A2, board.A3, board.A4, board.A5, board.SCK, board.MOSI)
|
||||||
row_pins = (P.D13, P.D11, P.D10, P.D9)
|
row_pins = (board.D13, board.D11, board.D10, board.D9)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
|
|
||||||
split_type = 'UART'
|
split_type = 'UART'
|
||||||
|
@ -2,12 +2,11 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.A2, P.A3, P.A4, P.A5, P.SCK, P.MOSI)
|
col_pins = (board.A2, board.A3, board.A4, board.A5, board.SCK, board.MOSI)
|
||||||
row_pins = (P.D13, P.D11, P.D10, P.D9, P.D7)
|
row_pins = (board.D13, board.D11, board.D10, board.D9, board.D7)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.TX
|
rgb_pixel_pin = board.TX
|
||||||
uart_pin = board.SCL
|
uart_pin = board.SCL
|
||||||
|
@ -2,12 +2,11 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.RX, P.A1, P.A2, P.A3, P.A4, P.A5)
|
col_pins = (board.RX, board.A1, board.A2, board.A3, board.A4, board.A5)
|
||||||
row_pins = (P.D13, P.D11, P.D10, P.D9, P.D7)
|
row_pins = (board.D13, board.D11, board.D10, board.D9, board.D7)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
|
|
||||||
split_type = 'UART'
|
split_type = 'UART'
|
||||||
|
@ -2,13 +2,21 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
# Will need additional work and testing
|
# Will need additional work and testing
|
||||||
col_pins = (P.A1, P.A2, P.A3, P.A4, P.A5, P.SCK, P.MOSI, P.D12)
|
col_pins = (
|
||||||
row_pins = (P.A0, P.D13, P.D11, P.D10, P.D9, P.D7)
|
board.A1,
|
||||||
|
board.A2,
|
||||||
|
board.A3,
|
||||||
|
board.A4,
|
||||||
|
board.A5,
|
||||||
|
board.SCK,
|
||||||
|
board.MOSI,
|
||||||
|
board.D12,
|
||||||
|
)
|
||||||
|
row_pins = (board.A0, board.D13, board.D11, board.D10, board.D9, board.D7)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.TX
|
rgb_pixel_pin = board.TX
|
||||||
uart_pin = board.SCL
|
uart_pin = board.SCL
|
||||||
|
@ -2,12 +2,11 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.A2, P.A3, P.A4, P.A5, P.SCK, P.MOSI)
|
col_pins = (board.A2, board.A3, board.A4, board.A5, board.SCK, board.MOSI)
|
||||||
row_pins = (P.D11, P.D10, P.D9, P.RX, P.D13)
|
row_pins = (board.D11, board.D10, board.D9, board.RX, board.D13)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.TX
|
rgb_pixel_pin = board.TX
|
||||||
uart_pin = board.SCL
|
uart_pin = board.SCL
|
||||||
|
@ -1,9 +1,29 @@
|
|||||||
|
import board
|
||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.A0, P.A1, P.A2, P.A3, P.A4, P.A5, P.SCK, P.MOSI)
|
col_pins = (
|
||||||
row_pins = (P.TX, P.RX, P.SDA, P.SCL, P.D9, P.D10, P.D12, P.D11, P.D13)
|
board.A0,
|
||||||
|
board.A1,
|
||||||
|
board.A2,
|
||||||
|
board.A3,
|
||||||
|
board.A4,
|
||||||
|
board.A5,
|
||||||
|
board.SCK,
|
||||||
|
board.MOSI,
|
||||||
|
)
|
||||||
|
row_pins = (
|
||||||
|
board.TX,
|
||||||
|
board.RX,
|
||||||
|
board.SDA,
|
||||||
|
board.SCL,
|
||||||
|
board.D9,
|
||||||
|
board.D10,
|
||||||
|
board.D12,
|
||||||
|
board.D11,
|
||||||
|
board.D13,
|
||||||
|
)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
|
@ -2,12 +2,11 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.A1, P.A2, P.A3, P.A4, P.A5, P.SCK, P.MOSI)
|
col_pins = (board.A1, board.A2, board.A3, board.A4, board.A5, board.SCK, board.MOSI)
|
||||||
row_pins = (P.D13, P.D11, P.D10, P.D9, P.D7)
|
row_pins = (board.D13, board.D11, board.D10, board.D9, board.D7)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.TX
|
rgb_pixel_pin = board.TX
|
||||||
uart_pin = board.SCL
|
uart_pin = board.SCL
|
||||||
|
@ -2,12 +2,11 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.A0, P.A1, P.A2, P.A3, P.A4, P.A5, P.SCK)
|
col_pins = (board.A0, board.A1, board.A2, board.A3, board.A4, board.A5, board.SCK)
|
||||||
row_pins = (P.D13, P.D11, P.D10, P.D9, P.D7)
|
row_pins = (board.D13, board.D11, board.D10, board.D9, board.D7)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.TX
|
rgb_pixel_pin = board.TX
|
||||||
uart_pin = board.SCL
|
uart_pin = board.SCL
|
||||||
|
@ -2,12 +2,11 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.A5, P.A4, P.A3, P.A2, P.A1, P.A0)
|
col_pins = (board.A5, board.A4, board.A3, board.A2, board.A1, board.A0)
|
||||||
row_pins = (P.D7, P.D9, P.D10, P.D11)
|
row_pins = (board.D7, board.D9, board.D10, board.D11)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.TX
|
rgb_pixel_pin = board.TX
|
||||||
uart_pin = board.SCL
|
uart_pin = board.SCL
|
||||||
|
@ -2,12 +2,11 @@ import board
|
|||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
col_pins = (P.MOSI, P.SCK, P.A5, P.A4, P.A3, P.A2)
|
col_pins = (board.MOSI, board.SCK, board.A5, board.A4, board.A3, board.A2)
|
||||||
row_pins = (P.D11, P.D10, P.D9, P.D7)
|
row_pins = (board.D11, board.D10, board.D9, board.D7)
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
rgb_pixel_pin = board.TX
|
rgb_pixel_pin = board.TX
|
||||||
uart_pin = board.SCL
|
uart_pin = board.SCL
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
|
import board
|
||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
from kmk.matrix import intify_coordinate as ic
|
from kmk.matrix import intify_coordinate as ic
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig as _KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
|
|
||||||
# Implements what used to be handled by KeyboardConfig.swap_indicies for this
|
# Implements what used to be handled by KeyboardConfig.swap_indicies for this
|
||||||
# board, by flipping various row3 (bottom physical row) keys so their
|
# board, by flipping various row3 (bottom physical row) keys so their
|
||||||
@ -20,8 +21,17 @@ def r3_swap(col):
|
|||||||
class KeyboardConfig(_KeyboardConfig):
|
class KeyboardConfig(_KeyboardConfig):
|
||||||
# physical, visible cols (SCK, MO, MI, RX, TX, D4)
|
# physical, visible cols (SCK, MO, MI, RX, TX, D4)
|
||||||
# physical, visible rows (10, 11, 12, 13) (9, 6, 5, SCL)
|
# 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)
|
col_pins = (board.SCK, board.MOSI, board.MISO, board.RX, board.TX, board.D4)
|
||||||
row_pins = (P.D10, P.D11, P.D12, P.D13, P.D9, P.D6, P.D5, P.SCL)
|
row_pins = (
|
||||||
|
board.D10,
|
||||||
|
board.D11,
|
||||||
|
board.D12,
|
||||||
|
board.D13,
|
||||||
|
board.D9,
|
||||||
|
board.D6,
|
||||||
|
board.D5,
|
||||||
|
board.SCL,
|
||||||
|
)
|
||||||
rollover_cols_every_rows = 4
|
rollover_cols_every_rows = 4
|
||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@ except Exception:
|
|||||||
KMK_RELEASE = 'copied-from-git'
|
KMK_RELEASE = 'copied-from-git'
|
||||||
|
|
||||||
CIRCUITPYTHON = 'CircuitPython'
|
CIRCUITPYTHON = 'CircuitPython'
|
||||||
MICROPYTHON = 'MicroPython'
|
|
||||||
|
|
||||||
|
|
||||||
class HIDReportTypes:
|
class HIDReportTypes:
|
||||||
|
60
kmk/hid.py
60
kmk/hid.py
@ -1,3 +1,5 @@
|
|||||||
|
import usb_hid
|
||||||
|
|
||||||
from kmk.consts import HID_REPORT_SIZES, HIDReportTypes, HIDUsage, HIDUsagePage
|
from kmk.consts import HID_REPORT_SIZES, HIDReportTypes, HIDUsage, HIDUsagePage
|
||||||
from kmk.keys import FIRST_KMK_INTERNAL_KEY, ConsumerKey, ModifierKey
|
from kmk.keys import FIRST_KMK_INTERNAL_KEY, ConsumerKey, ModifierKey
|
||||||
|
|
||||||
@ -152,44 +154,36 @@ class USB_HID:
|
|||||||
return self
|
return self
|
||||||
|
|
||||||
|
|
||||||
try:
|
class CircuitPythonUSB_HID(USB_HID):
|
||||||
import usb_hid
|
REPORT_BYTES = 9
|
||||||
|
|
||||||
PLATFORM_CIRCUITPYTHON = True
|
def post_init(self):
|
||||||
except ImportError:
|
self.devices = {}
|
||||||
PLATFORM_CIRCUITPYTHON = False
|
|
||||||
else:
|
|
||||||
|
|
||||||
class CircuitPythonUSB_HID(USB_HID):
|
for device in usb_hid.devices:
|
||||||
REPORT_BYTES = 9
|
us = device.usage
|
||||||
|
up = device.usage_page
|
||||||
|
|
||||||
def post_init(self):
|
if up == HIDUsagePage.CONSUMER and us == HIDUsage.CONSUMER:
|
||||||
self.devices = {}
|
self.devices[HIDReportTypes.CONSUMER] = device
|
||||||
|
continue
|
||||||
|
|
||||||
for device in usb_hid.devices:
|
if up == HIDUsagePage.KEYBOARD and us == HIDUsage.KEYBOARD:
|
||||||
us = device.usage
|
self.devices[HIDReportTypes.KEYBOARD] = device
|
||||||
up = device.usage_page
|
continue
|
||||||
|
|
||||||
if up == HIDUsagePage.CONSUMER and us == HIDUsage.CONSUMER:
|
if up == HIDUsagePage.MOUSE and us == HIDUsage.MOUSE:
|
||||||
self.devices[HIDReportTypes.CONSUMER] = device
|
self.devices[HIDReportTypes.MOUSE] = device
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if up == HIDUsagePage.KEYBOARD and us == HIDUsage.KEYBOARD:
|
if up == HIDUsagePage.SYSCONTROL and us == HIDUsage.SYSCONTROL:
|
||||||
self.devices[HIDReportTypes.KEYBOARD] = device
|
self.devices[HIDReportTypes.SYSCONTROL] = device
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if up == HIDUsagePage.MOUSE and us == HIDUsage.MOUSE:
|
def hid_send(self, evt):
|
||||||
self.devices[HIDReportTypes.MOUSE] = device
|
# int, can be looked up in HIDReportTypes
|
||||||
continue
|
reporting_device_const = self.report_device[0]
|
||||||
|
|
||||||
if up == HIDUsagePage.SYSCONTROL and us == HIDUsage.SYSCONTROL:
|
return self.devices[reporting_device_const].send_report(
|
||||||
self.devices[HIDReportTypes.SYSCONTROL] = device
|
evt[1 : HID_REPORT_SIZES[reporting_device_const] + 1]
|
||||||
continue
|
)
|
||||||
|
|
||||||
def hid_send(self, evt):
|
|
||||||
# int, can be looked up in HIDReportTypes
|
|
||||||
reporting_device_const = self.report_device[0]
|
|
||||||
|
|
||||||
return self.devices[reporting_device_const].send_report(
|
|
||||||
evt[1 : HID_REPORT_SIZES[reporting_device_const] + 1]
|
|
||||||
)
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import digitalio
|
import digitalio
|
||||||
|
import gc
|
||||||
|
|
||||||
from kmk.consts import DiodeOrientation
|
from kmk.consts import DiodeOrientation
|
||||||
|
|
||||||
@ -15,28 +16,29 @@ class MatrixScanner:
|
|||||||
diode_orientation=DiodeOrientation.COLUMNS,
|
diode_orientation=DiodeOrientation.COLUMNS,
|
||||||
rollover_cols_every_rows=None,
|
rollover_cols_every_rows=None,
|
||||||
):
|
):
|
||||||
|
self.len_cols = len(cols)
|
||||||
|
self.len_rows = len(rows)
|
||||||
|
|
||||||
# A pin cannot be both a row and column, detect this by combining the
|
# A pin cannot be both a row and column, detect this by combining the
|
||||||
# two tuples into a set and validating that the length did not drop
|
# two tuples into a set and validating that the length did not drop
|
||||||
#
|
#
|
||||||
# repr() hackery is because CircuitPython Pin objects are not hashable
|
# repr() hackery is because CircuitPython Pin objects are not hashable
|
||||||
unique_pins = {repr(c) for c in cols} | {repr(r) for r in rows}
|
unique_pins = {repr(c) for c in cols} | {repr(r) for r in rows}
|
||||||
if len(unique_pins) != len(cols) + len(rows):
|
assert (
|
||||||
raise ValueError('Cannot use a pin as both a column and row')
|
len(unique_pins) == self.len_cols + self.len_rows
|
||||||
|
), 'Cannot use a pin as both a column and row'
|
||||||
self.cols = cols
|
del unique_pins
|
||||||
self.rows = rows
|
gc.collect()
|
||||||
self.len_cols = len(cols)
|
|
||||||
self.len_rows = len(rows)
|
|
||||||
|
|
||||||
self.diode_orientation = diode_orientation
|
self.diode_orientation = diode_orientation
|
||||||
|
|
||||||
if self.diode_orientation == DiodeOrientation.COLUMNS:
|
if self.diode_orientation == DiodeOrientation.COLUMNS:
|
||||||
self.outputs = self.cols
|
self.outputs = [digitalio.DigitalInOut(x) for x in cols]
|
||||||
self.inputs = self.rows
|
self.inputs = [digitalio.DigitalInOut(x) for x in rows]
|
||||||
self.translate_coords = True
|
self.translate_coords = True
|
||||||
elif self.diode_orientation == DiodeOrientation.ROWS:
|
elif self.diode_orientation == DiodeOrientation.ROWS:
|
||||||
self.outputs = self.rows
|
self.outputs = [digitalio.DigitalInOut(x) for x in rows]
|
||||||
self.inputs = self.cols
|
self.inputs = [digitalio.DigitalInOut(x) for x in cols]
|
||||||
self.translate_coords = False
|
self.translate_coords = False
|
||||||
else:
|
else:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
@ -68,7 +70,7 @@ class MatrixScanner:
|
|||||||
any_changed = False
|
any_changed = False
|
||||||
|
|
||||||
for oidx, opin in enumerate(self.outputs):
|
for oidx, opin in enumerate(self.outputs):
|
||||||
opin.value(True)
|
opin.value = True
|
||||||
|
|
||||||
for iidx, ipin in enumerate(self.inputs):
|
for iidx, ipin in enumerate(self.inputs):
|
||||||
# cast to int to avoid
|
# cast to int to avoid
|
||||||
@ -82,7 +84,7 @@ class MatrixScanner:
|
|||||||
# I haven't dived too far into what causes this, but it's
|
# I haven't dived too far into what causes this, but it's
|
||||||
# almost certainly because bool types in Python aren't just
|
# almost certainly because bool types in Python aren't just
|
||||||
# aliases to int values, but are proper pseudo-types
|
# aliases to int values, but are proper pseudo-types
|
||||||
new_val = int(ipin.value())
|
new_val = int(ipin.value)
|
||||||
old_val = self.state[ba_idx]
|
old_val = self.state[ba_idx]
|
||||||
|
|
||||||
if old_val != new_val:
|
if old_val != new_val:
|
||||||
@ -108,7 +110,7 @@ class MatrixScanner:
|
|||||||
|
|
||||||
ba_idx += 1
|
ba_idx += 1
|
||||||
|
|
||||||
opin.value(False)
|
opin.value = False
|
||||||
if any_changed:
|
if any_changed:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
99
kmk/pins.py
99
kmk/pins.py
@ -1,99 +0,0 @@
|
|||||||
from micropython import const
|
|
||||||
|
|
||||||
from kmk.consts import CIRCUITPYTHON, MICROPYTHON
|
|
||||||
|
|
||||||
PULL_UP = const(1)
|
|
||||||
PULL_DOWN = const(2)
|
|
||||||
|
|
||||||
|
|
||||||
try:
|
|
||||||
import board
|
|
||||||
import digitalio
|
|
||||||
|
|
||||||
PLATFORM = CIRCUITPYTHON
|
|
||||||
PIN_SOURCE = board
|
|
||||||
except ImportError:
|
|
||||||
import machine
|
|
||||||
|
|
||||||
PLATFORM = MICROPYTHON
|
|
||||||
PIN_SOURCE = machine.Pin.board
|
|
||||||
|
|
||||||
|
|
||||||
def get_pin(pin):
|
|
||||||
'''
|
|
||||||
Cross-platform method to find a pin by string.
|
|
||||||
|
|
||||||
The pin definitions are platform-dependent, but this provides
|
|
||||||
a way to say "I'm using pin D20" without rolling a D20 and
|
|
||||||
having to actually learn MicroPython/CircuitPython and the
|
|
||||||
differences in how they handle pinouts.
|
|
||||||
|
|
||||||
This also makes the keymap sanity checker actually work for
|
|
||||||
CircuitPython boards, since it's not possible in CPY to
|
|
||||||
define a module stub for `board` that uses Passthrough
|
|
||||||
natively (which is how the MicroPython stub worked originally)
|
|
||||||
'''
|
|
||||||
return getattr(PIN_SOURCE, pin)
|
|
||||||
|
|
||||||
|
|
||||||
class AbstractedDigitalPin:
|
|
||||||
def __init__(self, pin):
|
|
||||||
self.raw_pin = pin
|
|
||||||
|
|
||||||
if PLATFORM == CIRCUITPYTHON:
|
|
||||||
self.pin = digitalio.DigitalInOut(pin)
|
|
||||||
elif PLATFORM == MICROPYTHON:
|
|
||||||
self.pin = machine.Pin(pin)
|
|
||||||
else:
|
|
||||||
self.pin = pin
|
|
||||||
|
|
||||||
self.call_value = callable(self.pin.value)
|
|
||||||
|
|
||||||
def __repr__(self):
|
|
||||||
return 'AbstractedPin({})'.format(repr(self.raw_pin))
|
|
||||||
|
|
||||||
def switch_to_input(self, pull=None):
|
|
||||||
if PLATFORM == CIRCUITPYTHON:
|
|
||||||
if pull == PULL_UP:
|
|
||||||
return self.pin.switch_to_input(pull=digitalio.Pull.UP)
|
|
||||||
elif pull == PULL_DOWN:
|
|
||||||
return self.pin.switch_to_input(pull=digitalio.Pull.DOWN)
|
|
||||||
|
|
||||||
return self.pin.switch_to_input(pull=pull)
|
|
||||||
|
|
||||||
elif PLATFORM == MICROPYTHON:
|
|
||||||
if pull == PULL_UP:
|
|
||||||
return self.pin.init(machine.Pin.IN, machine.Pin.PULL_UP)
|
|
||||||
elif pull == PULL_DOWN:
|
|
||||||
return self.pin.init(machine.Pin.IN, machine.Pin.PULL_DOWN)
|
|
||||||
|
|
||||||
raise ValueError('only PULL_UP and PULL_DOWN supported on MicroPython')
|
|
||||||
|
|
||||||
raise NotImplementedError('switch_to_input not supported on platform')
|
|
||||||
|
|
||||||
def switch_to_output(self):
|
|
||||||
if PLATFORM == CIRCUITPYTHON:
|
|
||||||
return self.pin.switch_to_output()
|
|
||||||
elif PLATFORM == MICROPYTHON:
|
|
||||||
return self.pin.init(machine.Pin.OUT)
|
|
||||||
|
|
||||||
raise NotImplementedError('switch_to_output not supported on platform')
|
|
||||||
|
|
||||||
def value(self, value=None):
|
|
||||||
if value is None:
|
|
||||||
if self.call_value:
|
|
||||||
return self.pin.value()
|
|
||||||
return self.pin.value
|
|
||||||
|
|
||||||
if self.call_value:
|
|
||||||
return self.pin.value(value)
|
|
||||||
self.pin.value = value
|
|
||||||
return value
|
|
||||||
|
|
||||||
|
|
||||||
class PinLookup:
|
|
||||||
def __getattr__(self, attr):
|
|
||||||
return AbstractedDigitalPin(get_pin(attr))
|
|
||||||
|
|
||||||
|
|
||||||
Pin = PinLookup()
|
|
@ -18,5 +18,6 @@ exclude = '''
|
|||||||
| build
|
| build
|
||||||
| docs
|
| docs
|
||||||
| user_keymaps
|
| user_keymaps
|
||||||
|
| mnt
|
||||||
)/
|
)/
|
||||||
'''
|
'''
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
[flake8]
|
[flake8]
|
||||||
exclude = .git,__pycache__,vendor,.venv,build,dist,.compiled
|
exclude = .git,__pycache__,vendor,.venv,build,dist,.compiled,mnt
|
||||||
# match black expectations
|
# match black expectations
|
||||||
max_line_length = 88
|
max_line_length = 88
|
||||||
|
|
||||||
@ -47,6 +47,7 @@ known_standard_library =
|
|||||||
ubluepy,
|
ubluepy,
|
||||||
uio,
|
uio,
|
||||||
uos,
|
uos,
|
||||||
|
usb_hid,
|
||||||
|
|
||||||
# black compat
|
# black compat
|
||||||
multi_line_output=3
|
multi_line_output=3
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
|
import board
|
||||||
|
|
||||||
from kmk.consts import DiodeOrientation, UnicodeMode
|
from kmk.consts import DiodeOrientation, UnicodeMode
|
||||||
from kmk.handlers.sequences import compile_unicode_string_sequences, send_string
|
from kmk.handlers.sequences import compile_unicode_string_sequences, send_string
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
from kmk.types import AttrDict
|
from kmk.types import AttrDict
|
||||||
|
|
||||||
keyboard = KeyboardConfig()
|
keyboard = KeyboardConfig()
|
||||||
@ -29,8 +30,8 @@ PF5: A5
|
|||||||
Mosfet on B5 to control backlight
|
Mosfet on B5 to control backlight
|
||||||
'''
|
'''
|
||||||
|
|
||||||
keyboard.col_pins = (P.A4, P.A2, P.A3, P.A1, P.A0, P.SDA)
|
keyboard.col_pins = (board.A4, board.A2, board.A3, board.A1, board.A0, board.SDA)
|
||||||
keyboard.row_pins = (P.D2, P.TX, P.RX, P.MISO, P.MOSI)
|
keyboard.row_pins = (board.D2, board.TX, board.RX, board.MISO, board.MOSI)
|
||||||
|
|
||||||
# Kyle is fucking stupid
|
# Kyle is fucking stupid
|
||||||
keyboard.col_pins = tuple(reversed(keyboard.col_pins))
|
keyboard.col_pins = tuple(reversed(keyboard.col_pins))
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
|
import board
|
||||||
|
|
||||||
from kmk.consts import DiodeOrientation, UnicodeMode
|
from kmk.consts import DiodeOrientation, UnicodeMode
|
||||||
from kmk.handlers.sequences import compile_unicode_string_sequences, send_string
|
from kmk.handlers.sequences import compile_unicode_string_sequences, send_string
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from kmk.mcus.circuitpython_usbhid import KeyboardConfig
|
from kmk.mcus.circuitpython_usbhid import KeyboardConfig
|
||||||
from kmk.pins import Pin as P
|
|
||||||
from kmk.types import AttrDict
|
from kmk.types import AttrDict
|
||||||
|
|
||||||
keyboard = KeyboardConfig()
|
keyboard = KeyboardConfig()
|
||||||
|
|
||||||
keyboard.col_pins = (P.A0, P.A1, P.A2, P.A3, P.A4, P.A5, P.SCK, P.MOSI, P.MISO, P.RX, P.TX, P.D4)
|
keyboard.col_pins = (board.A0, board.A1, board.A2, board.A3, board.A4, board.A5, board.SCK, board.MOSI, board.MISO, board.RX, board.TX, board.D4)
|
||||||
keyboard.row_pins = (P.D10, P.D11, P.D12, P.D13)
|
keyboard.row_pins = (board.D10, board.D11, board.D12, board.D13)
|
||||||
keyboard.diode_orientation = DiodeOrientation.COLUMNS
|
keyboard.diode_orientation = DiodeOrientation.COLUMNS
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user