Able to build a VERY basic KMK image for Feather M4 Express, flashable over UF2 only

This commit is contained in:
Josh Klar
2018-10-06 01:32:17 -07:00
parent 478e198d6d
commit e11934ab2d
10 changed files with 198 additions and 33 deletions

View File

@@ -3,18 +3,17 @@ import logging
from kmk.common.event_defs import init_firmware
from kmk.common.internal_state import ReduxStore, kmk_reducer
try:
from kmk.circuitpython.matrix import MatrixScanner
except ImportError:
from kmk.micropython.matrix import MatrixScanner
class Firmware:
def __init__(
self, keymap, row_pins, col_pins,
diode_orientation, unicode_mode=None,
hid=None, log_level=logging.NOTSET,
matrix_scanner=None,
):
assert matrix_scanner is not None
self.matrix_scanner = matrix_scanner
logger = logging.getLogger(__name__)
logger.setLevel(log_level)
@@ -25,14 +24,14 @@ class Firmware:
lambda state, action: self._subscription(state, action),
)
if not hid:
if hid:
self.hid = hid(store=self.store, log_level=log_level)
else:
logger.warning(
"Must provide a HIDHelper (arg: hid), disabling HID\n"
"Board will run in debug mode",
)
self.hid = hid(store=self.store, log_level=log_level)
self.store.dispatch(init_firmware(
keymap=keymap,
row_pins=row_pins,
@@ -43,7 +42,7 @@ class Firmware:
def _subscription(self, state, action):
if not self.hydrated:
self.matrix = MatrixScanner(
self.matrix = self.matrix_scanner(
state.col_pins,
state.row_pins,
state.diode_orientation,