diff --git a/content/posts/rmk-ferris-sweep/index.md b/content/posts/rmk-ferris-sweep/index.md index 9637534..b8c81ee 100644 --- a/content/posts/rmk-ferris-sweep/index.md +++ b/content/posts/rmk-ferris-sweep/index.md @@ -47,4 +47,20 @@ My [keymap](https://github.com/gabevenberg/qmk_firmware/blob/personal/keyboards/ is a bit complex, so it took some time to port. It was mostly tedium rather than anything truly headscratching, however. +Next, and the most complicated step, was creating a `vial.json`. +The json file [provided by the via project](https://github.com/the-via/keyboards/blob/master/src/ferris/sweep/sweep.json) was wrong, +as it layed out the keyboard as a 8x5, rather than a 4x10 that I had done in rmk. +So I had to take that file, load it into the [keyboard layout editor](https://www.keyboard-layout-editor.com/), +and follow [vials guide](https://get.vial.today/docs/porting-to-via.html) to remake the `vial.json` in the right layout. + +Finally, I could flash my keyboard. +I flashed it, and... It didnt work. +The left hand side, the one plugged into USB, worked fine, all keys worked. +But the right hand side, connected to the main by TRRS, did nothing. +A day or 2 of investigation later revealed that the half-duplex serial implementation +only used the RP2040s internal pull-up resistors, which for my keyboard and TRRS cable, +were insufficient for a baud rate of 115200. +This was (temporarily) fixed by setting a lower baud rate, +but for the long term, ive made a PR mirroring [QMKs solution](https://github.com/qmk/qmk_firmware/blob/6d0e5728aa61b442885d48caf49d29e5c60e8197/platforms/chibios/drivers/vendor/RP/RP2040/serial_vendor.c#L133) to this problem. + The final file looked like [this](https://github.com/gabevenberg/ferris-sweep-rmk/blob/main/keyboard.toml)