From fc455baf3e0330a9f6e85d5171b621af229a26d1 Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Wed, 21 Nov 2018 09:15:19 +0100 Subject: [PATCH] hardware/ErgoDox: Further simplify toggleATMegaRow Signed-off-by: Gergely Nagy --- .../hardware/ez/ErgoDox/ErgoDoxScanner.cpp | 26 +++---------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/src/kaleidoscope/hardware/ez/ErgoDox/ErgoDoxScanner.cpp b/src/kaleidoscope/hardware/ez/ErgoDox/ErgoDoxScanner.cpp index d9fb49c0..e7fcb9e3 100644 --- a/src/kaleidoscope/hardware/ez/ErgoDox/ErgoDoxScanner.cpp +++ b/src/kaleidoscope/hardware/ez/ErgoDox/ErgoDoxScanner.cpp @@ -27,6 +27,7 @@ #include "kaleidoscope/hardware/ez/ErgoDox/ErgoDoxScanner.h" #include +#include "kaleidoscope/hardware/avr/pins_and_ports.h" #include "kaleidoscope/hardware/ez/ErgoDox/i2cmaster.h" #define I2C_ADDR 0b0100000 @@ -119,29 +120,8 @@ out: } void __attribute__((optimize(3))) ErgoDoxScanner::toggleATMegaRow(int row) { - switch (row) { - case 0: - PORTB ^= (1 << 0); - break; - case 1: - PORTB ^= (1 << 1); - break; - case 2: - PORTB ^= (1 << 2); - break; - case 3: - PORTB ^= (1 << 3); - break; - case 4: - PORTD ^= (1 << 2); - break; - case 5: - PORTD ^= (1 << 3); - break; - case 6: - PORTC ^= (1 << 6); - break; - } + static uint8_t row_pins[] = { PIN_B0, PIN_B1, PIN_B2, PIN_B3, PIN_D2, PIN_D3, PIN_C6 }; + OUTPUT_TOGGLE(row_pins[row]); } uint8_t __attribute__((optimize(3)))