mmccoyd / hillside

Family of split ergonomic keyboards with three rows of five or six keys, aggressive column stagger, generous thumb arc and optional bottom utility keys
MIT License
309 stars 41 forks source link

Only USB-connected half is working after trying to enable VIA #27

Closed elentok closed 10 months ago

elentok commented 10 months ago

Last week I finished building my Hillside 46. I'm using two Type-C ProMicros from Aliexpress.

It worked for a couple of days with the default keymap, I had some issues with the left side working as the right side but I fixed it by adding these two lines to the keymaps/default/config.h file:

#undef SPLIT_HAND_MATRIX_GRID
#define EE_HANDS

I'm compiling with this command:

qmk compile -kb hillside/46/0_1 -km default

And flashing (each side separately):

qmk flash -bl avrdude-split-left hillside_46_0_1_default.hex
qmk flash -bl avrdude-split-right hillside_46_0_1_default.hex

Today I wanted to switch the C keymap and I also set VIA_ENABLE = yes in keymaps/default/rules.mk (not sure why I did both of these changes together, it might have been a dumb idea).

After flashing both sides I noticed only the side connected via USB is working:

When connecting the left side standalone it worked fine, but when connecting the right side standalone it behaved like the right side.

After flashing the original firmware I used and clearing the EEPROM using QMK Toolbox didn't work I found a tip about setting the handedness via QMK Toolbox and that fixed the right side problem.

But still only the USB-connected half is working...

Any suggestions?

EDIT: This is the output when flashing:

❯ qmk flash -bl avrdude-split-right hillside_46_0_1_default.hex

Flashing binary firmware...
Please reset your keyboard into bootloader mode now!
Press Ctrl-C to exit.

avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e9587 (probably m32u4)
avrdude: Note: flash memory has been specified, an erase cycle will be performed.
         To disable this feature, specify the -D option.
avrdude: erasing chip

avrdude: processing -U flash:w:/Users/david/qmk_firmware/hillside_46_0_1_default.hex:i
avrdude: reading input file /Users/david/qmk_firmware/hillside_46_0_1_default.hex for flash
         with 18256 bytes in 1 section within [0, 0x474f]
         using 143 pages and 48 pad bytes
avrdude: writing 18256 bytes flash ...
Writing | ################################################## | 100% 1.38 s
avrdude: 18256 bytes of flash written
avrdude: verifying flash memory against /Users/david/qmk_firmware/hillside_46_0_1_default.hex
Reading | ################################################## | 100% 0.14 s
avrdude: 18256 bytes of flash verified

avrdude done.  Thank you.
elentok commented 10 months ago

Never mind, I needed to add #define SPLIT_USB_DETECT:

/* Split */
// #define SPLIT_HAND_MATRIX_GRID B5, F6
// #define MATRIX_MASKED
#define EE_HANDS
#define SPLIT_USB_DETECT