summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDom H <dom@hxy.io>2021-09-04 10:06:44 +0100
committerPete Johanson <peter@peterjohanson.com>2021-09-08 15:12:58 -0400
commit4a5454b0f9f2cbf755f507ab2a233a2f8c4a2fd3 (patch)
tree8cf388b81a6ef59b62e1c89d1f36fea211fc061e /app
parent82cb76269811105bbe89569367d888d7a3fdd083 (diff)
fix(shields): Add note about Cradio pin arrangement
Diffstat (limited to 'app')
-rw-r--r--app/boards/shields/cradio/README.md34
1 files changed, 34 insertions, 0 deletions
diff --git a/app/boards/shields/cradio/README.md b/app/boards/shields/cradio/README.md
index f391bbe..b134429 100644
--- a/app/boards/shields/cradio/README.md
+++ b/app/boards/shields/cradio/README.md
@@ -1 +1,35 @@
+# 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`](./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`):
+
+```dts
+/* 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 (`{...}`).