Port kb2040 boards and add to quickpin

This commit is contained in:
Kyle Brown
2022-10-09 09:08:03 -07:00
committed by xs5871
parent 9842035834
commit 60e8f35eca
7 changed files with 88 additions and 75 deletions

View File

@@ -8,12 +8,10 @@ was designed with QMK in mind and KMK implementation is not officially supported
Keyboard works with controllers having Pro Micro layout. Existing configurations:
| PCB version | Board | Config file |
|:-----------:|----------------------------------------------------------------------|---------------------------|
| 1.* | [SparkFun Pro Micro RP2040](https://www.sparkfun.com/products/18288) | kyria_v1_rp2040 |
| 1.* | [Adafruit KB2040](https://www.adafruit.com/product/5302) | kyria_v1_kb2040 |
| 2.* | [SparkFun Pro Micro RP2040](https://www.sparkfun.com/products/18288) | _waiting for pinout docs_ |
| 2.* | [Adafruit KB2040](https://www.adafruit.com/product/5302) | _waiting for pinout docs_ |
| PCB version | Board | Config file |
|:-----------:|-------------------------------------|---------------------------|
| 1.* | Any quickpin pro micro based board. | kb_v1_ |
| 2.* | Any quickpin pro micro based board. | _waiting for pinout docs_ |
## Compatibility issues
@@ -51,3 +49,11 @@ Because of the above, besides of normal installation steps, you have to also:
- install Circuit Python in 7.2+ version
- add `adafruit_pioasm.mpy` library to lib or root folder of a board
## Microcontroller support
Update this line in `kb.py` to any supported microcontroller in `kmk/quickpin/pro_micro`
```python
from kmk.quickpin.pro_micro.boardsource_blok import pinout as pins
```

View File

@@ -1,27 +1,26 @@
import board
from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard
from kmk.quickpin.pro_micro.boardsource_blok import pinout as pins
from kmk.scanners import DiodeOrientation
from kmk.scanners import intify_coordinate as ic
class KMKKeyboard(_KMKKeyboard):
col_pins = (
board.A3,
board.A2,
board.A1,
board.A0,
board.SCK,
board.MISO,
board.MOSI,
board.D10,
pins[19],
pins[18],
pins[17],
pins[16],
pins[15],
pins[14],
pins[13],
pins[12],
)
row_pins = (board.D8, board.D7, board.D6, board.D4)
row_pins = (pins[10], pins[9], pins[8], pins[6])
diode_orientation = DiodeOrientation.COL2ROW
data_pin = board.D1
rgb_pixel_pin = board.D0
encoder_pin_0 = board.D9
encoder_pin_1 = board.D5
data_pin = pins[1]
rgb_pixel_pin = pins[0]
encoder_pin_0 = pins[11]
encoder_pin_1 = pins[7]
coord_mapping = []
coord_mapping.extend(ic(0, x, 8) for x in range(6))

View File

@@ -1,34 +0,0 @@
import board
from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard
from kmk.scanners import DiodeOrientation
from kmk.scanners import intify_coordinate as ic
class KMKKeyboard(_KMKKeyboard):
col_pins = (
board.D29,
board.D28,
board.D27,
board.D26,
board.D22,
board.D20,
board.D23,
board.D21,
)
row_pins = (board.D8, board.D7, board.D6, board.D4)
diode_orientation = DiodeOrientation.COL2ROW
data_pin = board.RX
rgb_pixel_pin = board.D0
encoder_pin_0 = board.D9
encoder_pin_1 = board.D5
coord_mapping = []
coord_mapping.extend(ic(0, x, 8) for x in range(6))
coord_mapping.extend(ic(4, x, 8) for x in range(5, -1, -1))
coord_mapping.extend(ic(1, x, 8) for x in range(6))
coord_mapping.extend(ic(5, x, 8) for x in range(5, -1, -1))
coord_mapping.extend(ic(2, x, 8) for x in range(8))
coord_mapping.extend(ic(6, x, 8) for x in range(7, -1, -1))
coord_mapping.extend(ic(3, x, 8) for x in range(3, 8))
coord_mapping.extend(ic(7, x, 8) for x in range(7, 2, -1))