firmwareteensyqmkqmk-firmware

Flashing QMK firmware for the 'SiCK-68' keyboard, but I am getting an error from undeclared MCU pins


I’m trying to flash firmware for a SiCK-68 keyboard on a Teensy LC. I already hand-wired up everything and am trying to flash on the Teensy LC. I'm getting an error saying that I am trying to use undeclared pins B16, B17, A1, A2, and E30. Here is how I am defining the row pins and column pins:

#define MATRIX_ROW_PINS { B16, B17, D0, A1, A2}

#define MATRIX_COL_PINS { C6, D7, E6, B4, B5, B0, D5, B6, B2, B3, B1, F7, F6, F5, F4 }

Here is the error when I try to "qmk compile":

Ψ Compiling keymap with make -j 1 handwired/sick68:default


QMK Firmware 0.13.32
Making handwired/sick68 with keymap default

avr-gcc (GCC) 5.4.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiling: keyboards/handwired/sick68/sick68.c                                                      [OK]
Compiling: keyboards/handwired/sick68/keymaps/default/keymap.c                                      [OK]
Compiling: quantum/quantum.c                                                                        [OK]
Compiling: quantum/send_string.c                                                                    [OK]
Compiling: quantum/bitwise.c                                                                        [OK]
Compiling: quantum/led.c                                                                            [OK]
Compiling: quantum/keymap_common.c                                                                  [OK]
Compiling: quantum/keycode_config.c                                                                 [OK]
Compiling: quantum/bootmagic/magic.c                                                                [OK]
Compiling: quantum/matrix_common.c                                                                  [OK]
Compiling: quantum/matrix.c                                                                        In file included from <command-line>:0:0:

./keyboards/handwired/sick68/config.h:48:27: error: ‘B16’ undeclared here (not in a function)
 #define MATRIX_ROW_PINS { B16, B17, D0, A1, A2}

                           ^
quantum/matrix.c:27:44: note: in expansion of macro ‘MATRIX_ROW_PINS’
 static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
                                            ^
./keyboards/handwired/sick68/config.h:48:32: error: ‘B17’ undeclared here (not in a function)
 #define MATRIX_ROW_PINS { B16, B17, D0, A1, A2}
                                ^
quantum/matrix.c:27:44: note: in expansion of macro ‘MATRIX_ROW_PINS’
 static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
                                            ^
./keyboards/handwired/sick68/config.h:48:41: error: ‘A1’ undeclared here (not in a function)
 #define MATRIX_ROW_PINS { B16, B17, D0, A1, A2}
                                         ^
quantum/matrix.c:27:44: note: in expansion of macro ‘MATRIX_ROW_PINS’
 static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
                                            ^
./keyboards/handwired/sick68/config.h:48:45: error: ‘A2’ undeclared here (not in a function)
 #define MATRIX_ROW_PINS { B16, B17, D0, A1, A2}
                                             ^
quantum/matrix.c:27:44: note: in expansion of macro ‘MATRIX_ROW_PINS’
 static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
                                            ^
./keyboards/handwired/sick68/config.h:52:63: error: ‘E30’ undeclared here (not in a function)
 #define MATRIX_COL_PINS { D7, D4, D2, D3, C3, C4, C6, C7, B1, E30, D1, C0, B0, B1, B3}
                                                               ^
quantum/matrix.c:28:44: note: in expansion of macro ‘MATRIX_COL_PINS’
 static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
                                            ^
 [ERRORS]
 |
 |
 |
make[1]: *** [tmk_core/rules.mk:436: .build/obj_handwired_sick68_default/quantum/matrix.o] Error 1
make: *** [Makefile:539: handwired/sick68:default] Error 1

Solution

  • Configure QMK to build for the Teensy LC. Looking at rules.mk, the SiCK-68 is based on the Arduino Pro Micro, which is very different architecturally from the Teensy series (AVR versus Freescale ARM Cortex-M0). If QMK is configured to expect an ATmega32U4, then that would explain why it doesn't recognize pin names for the MKL26Z64.