From 4f1929b0430fd9d564b297af638af008c27d892f Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Mon, 29 Jun 2020 12:55:54 +0200 Subject: [PATCH] keyboardio/Atreus: Simplify the hardware plugin a bit The `kaleidoscope::Device` aliases are there for use-cases that need to be device agnostic, we do not need to use them in the hardware plugin itself, because that plugin _is_ very much tied to the device. We can just use the device specific original names. To make things shorter, we can also set up a pair of aliases for `KeyScannerProps` and `KeyScanner`, to make the declarations even shorter. Signed-off-by: Gergely Nagy --- .../device/keyboardio/Atreus2.cpp | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/kaleidoscope/device/keyboardio/Atreus2.cpp b/src/kaleidoscope/device/keyboardio/Atreus2.cpp index 3daa5a8b..1bf38642 100644 --- a/src/kaleidoscope/device/keyboardio/Atreus2.cpp +++ b/src/kaleidoscope/device/keyboardio/Atreus2.cpp @@ -22,17 +22,25 @@ #include "kaleidoscope/Runtime.h" #include "kaleidoscope/driver/keyscanner/Base_Impl.h" +using namespace kaleidoscope::device::keyboardio; + +using KeyScannerProps = typename AtreusProps::KeyScannerProps; +using KeyScanner = typename AtreusProps::KeyScanner; + namespace kaleidoscope { namespace device { namespace keyboardio { -const uint8_t kaleidoscope::Device::KeyScannerProps::matrix_rows; -const uint8_t kaleidoscope::Device::KeyScannerProps::matrix_columns; -constexpr uint8_t kaleidoscope::Device::KeyScannerProps::matrix_row_pins[matrix_rows]; -constexpr uint8_t kaleidoscope::Device::KeyScannerProps::matrix_col_pins[matrix_columns]; -template<> uint16_t kaleidoscope::Device::KeyScanner::previousKeyState_[kaleidoscope::Device::KeyScannerProps::matrix_rows] = {}; -template<> uint16_t kaleidoscope::Device::KeyScanner::keyState_[kaleidoscope::Device::KeyScannerProps::matrix_rows] = {}; -template<> uint16_t kaleidoscope::Device::KeyScanner::masks_[kaleidoscope::Device::KeyScannerProps::matrix_rows] = {}; -template<> uint8_t kaleidoscope::Device::KeyScanner::debounce_matrix_[kaleidoscope::Device::KeyScannerProps::matrix_rows][kaleidoscope::Device::KeyScannerProps::matrix_columns] = {}; + +const uint8_t KeyScannerProps::matrix_rows; +const uint8_t KeyScannerProps::matrix_columns; + +constexpr uint8_t KeyScannerProps::matrix_row_pins[matrix_rows]; +constexpr uint8_t KeyScannerProps::matrix_col_pins[matrix_columns]; + +template<> uint16_t KeyScanner::previousKeyState_[KeyScannerProps::matrix_rows] = {}; +template<> uint16_t KeyScanner::keyState_[KeyScannerProps::matrix_rows] = {}; +template<> uint16_t KeyScanner::masks_[KeyScannerProps::matrix_rows] = {}; +template<> uint8_t KeyScanner::debounce_matrix_[KeyScannerProps::matrix_rows][KeyScannerProps::matrix_columns] = {}; ISR(TIMER1_OVF_vect) { Runtime.device().keyScanner().do_scan_ = true;