keychron_qmk_firmware/keyboards/ergodox_ez
James Laird-Wah f70f45ee67 RGB Matrix refactoring to open up for new drivers (#3913)
* rgb_matrix: use a driver ops struct

This is intended to avoid #ifdef proliferation on adding more drivers,
eg. model01, which use different architectures.

* rgb_matrix: document driver struct members

* rgb_matrix: remove unused LED testing code

* rgb_matrix: don't build into IS31x drivers unless being used

* rgb_matrix: refactor make config options

This ensures that the necessary files are included for any custom
RGB_MATRIX_ENABLE value, without having to add entries here for specific
boards. This particularly affects model01 because its controller is
integrated and won't be used anywhere else, so it's preferable not to
put it in common_features.mk.

This now validates the value of RGB_MATRIX_ENABLE.

It was necessary to fix an error in ergodox_ez rules.mk using the wrong
comment separator, yielding an invalid value.

* IS31x drivers: don't write the control registers all the time

This is only needed when they are changed. This is done in init() and
board- or keymap-specific code is free to make further changes.

* rgb_matrix: move structs from chip drivers to rgb_matrix_drivers.c

This approach is specific to the rgb_matrix functionality, so keep it
neatly separated from the raw chip drivers.
2018-09-27 10:40:18 -04:00
..
keymaps Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
util
190hotfix.sh
config.h Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
ergodox_ez.c adds immediate i2c return, fixes ez matrix code 2018-06-23 14:18:47 -04:00
ergodox_ez.h Merge pull request #3229 from qmk/hf/shinydox 2018-07-03 14:06:36 -04:00
i2cmaster.h
info.json Fix Ergodox EZ Info.json files (#2979) 2018-05-20 21:34:18 -07:00
matrix.c adds immediate i2c return, fixes ez matrix code 2018-06-23 14:18:47 -04:00
readme.md Syntax update (#2660) 2018-04-24 09:49:34 -07:00
rules.mk RGB Matrix refactoring to open up for new drivers (#3913) 2018-09-27 10:40:18 -04:00
twimaster.c

ErgoDox EZ

The Ez uses the Teensy Loader.

Linux users need to modify udev rules as described on the Teensy Linux page. Some distributions provide a binary, maybe called teensy-loader-cli.

To flash the firmware:

  • Build the firmware with make <keyboardname>:<keymapname>, for example make ergodox_ez:default

  • This will result in a hex file called ergodox_ez_keymapname.hex, e.g. ergodox_ez_default.hex

  • Start the teensy loader.

  • Load the .hex file into it.

  • Press the Reset button by inserting a paperclip gently into the reset hole in the top right corner.

  • Click the button in the Teensy app to download the firmware.

See also video demonstration using Teensy in auto mode.

To flash with ´teensy-loader-cli´:

  • Build the firmware with make keymapname, for example make default

  • Run ´<path/to/>teensy_loader_cli -mmcu=atmega32u4 -w ergodox_ez_.hex´

  • Press the Reset button by inserting a paperclip gently into the reset hole in the top right corder.

Settings

You may want to enable QMK_KEYS_PER_SCAN because the Ergodox has a relatively slow scan rate.