zmk_mf68/app/boards/shields/cradio
Peter Johanson 2b9a0ce2a5 refactor(shields): Move to generic central role config.
* Use new `ZMK_SPLIT_ROLE_CENTRAL` config instead of BLE
  specific Kconfig setting.
2022-05-29 19:18:09 -04:00
..
cradio.conf fix(shields): Cradio v2 keymap/shield improvements 2021-06-10 16:50:13 -04:00
cradio.dtsi feat(boards): Remove usage of pro_micro_a/d nodes 2021-09-25 23:09:21 -04:00
cradio.keymap fix(shields): Cradio v2 keymap/shield improvements 2021-06-10 16:50:13 -04:00
cradio.zmk.yml refactor(shields): Add pro-micro shield metadata. 2021-09-11 00:50:36 -04:00
cradio_left.conf refactor(splits): Ability to override split role. 2020-12-28 10:16:24 -05:00
cradio_left.overlay fix(shields): Cradio v2 keymap/shield improvements 2021-06-10 16:50:13 -04:00
cradio_right.conf fix(shields): Cradio v2 keymap/shield improvements 2021-06-10 16:50:13 -04:00
cradio_right.overlay fix(shields): Cradio v2 keymap/shield improvements 2021-06-10 16:50:13 -04:00
Kconfig.defconfig refactor(shields): Move to generic central role config. 2022-05-29 19:18:09 -04:00
Kconfig.shield fix(shields): Proper cradio Kconfig setup. 2020-10-15 20:29:00 -04:00
README.md fix(shields): Add note about Cradio pin arrangement 2021-09-08 15:12:58 -04:00

Cradio

Cradio is a firmware for a few 34 key keyboards, including Cradio, Hypergolic and Sweep.

Pin arrangement

Some revisions of the aforementioned PCBs have slightly different pin arrangements compared to what's defined in cradio.dtsi. If you need to swap a few keys for your particular PCB, you can easily reorder the input-gpio definition in your own keymap file (i.e. in zmk-config/config/cradio.keymap):

/* Adjusted Cradio pin arrangement */
/* The position of Q and B keys have been swapped */
&kscan0 {
	input-gpios
	= <&pro_micro_d  6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_a  0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_a  1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_a  2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_a  3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_d 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_d 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_d 16 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_d 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_d  1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_d  2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_d  3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_d  4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_d  5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_d  7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_d  8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	, <&pro_micro_d  9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
	;
};

This &kscan0 block must be placed outside of any blocks surrounded by curly braces ({...}).