geekhack

geekhack Projects => Making Stuff Together! => Topic started by: TheloniousDrunk on Sun, 06 March 2022, 15:07:54

Title: Extended Ergodox firmware using I/O expander
Post by: TheloniousDrunk on Sun, 06 March 2022, 15:07:54
At the tail end of a much procrastinated build for my brother. Essentially took an Ergodox and added a function row at the top. How do I build a custom QMK file for this considering the layout isn't one that can be found on qmk.config.fm? Never gone this custom before so this is new territory (I've make my own layout and flashed the config before, but that was when the base keyboard was an option to select from on qmk.config.fm, which now is not the case)
Title: Re: Extended Ergodox firmware using I/O expander
Post by: suicidal_orange on Tue, 08 March 2022, 12:03:06
At the tail end of a much procrastinated build for my brother. Essentially took an Ergodox and added a function row at the top. How do I build a custom QMK file for this considering the layout isn't one that can be found on qmk.config.fm? Never gone this custom before so this is new territory (I've make my own layout and flashed the config before, but that was when the base keyboard was an option to select from on qmk.config.fm, which now is not the case)
Are you using two pro micros or an IO expander in one half?
Title: Re: Extended Ergodox firmware using I/O expander
Post by: TheloniousDrunk on Tue, 08 March 2022, 22:11:53
At the tail end of a much procrastinated build for my brother. Essentially took an Ergodox and added a function row at the top. How do I build a custom QMK file for this considering the layout isn't one that can be found on qmk.config.fm? Never gone this custom before so this is new territory (I've make my own layout and flashed the config before, but that was when the base keyboard was an option to select from on qmk.config.fm, which now is not the case)
Are you using two pro micros or an IO expander in one half?

Teensy on right half and IO expander on left
Title: Re: Extended Ergodox firmware using I/O expander
Post by: suicidal_orange on Sat, 19 March 2022, 05:37:49
I've split this from the Simple Questions thread because it's not simple enough for me to answer.
Title: Re: Extended Ergodox firmware using I/O expander
Post by: TheloniousDrunk on Wed, 23 March 2022, 11:53:38
Right on, thank you.

I have the keymaps from KLE saved as separate layouts (left half as one, right half as the other). It seems like now I need to go to kbfirmware.com, load in each of the individual layouts, and set the wiring and pins according to my schematics. Is that the right approach? Then that gets me the hex file that I can edit and flash?
Title: Re: Extended Ergodox firmware using I/O expander
Post by: TheloniousDrunk on Tue, 29 March 2022, 17:35:29
I'm going to proceed to use KLE file and the keyboard firmware builder to edit the wiring and the pins according to the schematics. It seems that there's something that I should watch out for pertaining to the MCP on the left-hand keyboard?

Currently the left and right half are in 2 separate KLE layouts, but if that's not the right way to do it I will definitely need to combine them into one.
Title: Re: Extended Ergodox firmware using I/O expander
Post by: TheloniousDrunk on Wed, 04 May 2022, 14:46:23
Okay so far what I can tell is that I need to modify the ergodox_ez.h file from the qmk repos. I'm adding a new layout with #define LAYOUT_ergodox_fn. It seems like the matrix positions are transposed from the actual layout values above them, so I'm operating on that one.

Since I'm adding a row I'll have to add something to the I2C aliases and register addresses at the top to reference which pin on the MCP and the teensy have the new row mapped to them.

Other than that I should be able to just define my kemap and flash, correct? Is there anything I'm missing about the process?
Title: Re: Extended Ergodox firmware using I/O expander
Post by: suicidal_orange on Thu, 05 May 2022, 09:37:02
You're not missing anything, if you work out how to do it on the MCP side please post how :)