summaryrefslogtreecommitdiffstats
path: root/docs/proton_c_conversion.md
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2019-01-10 17:22:57 +0100
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2019-01-10 17:22:57 +0100
commit3cf179be61a10860b2b66aecf2ec5ca6f0e30605 (patch)
tree960c7bdde165f4419a96c2d48049e22226912882 /docs/proton_c_conversion.md
parentebbc372f72993123cd24fe27228e8d07c9b8d7fb (diff)
downloadqmk_firmware-3cf179be61a10860b2b66aecf2ec5ca6f0e30605.tar.gz
qmk_firmware-3cf179be61a10860b2b66aecf2ec5ca6f0e30605.tar.xz
Adds Proton C Conversion (#4661)
* adds proton c base * fixes custom matrix include * adds readme.md * initial proton coversion, no pin mapping * start of mcu selection * add pin mapping and sweet16 test * add at90 to list * disable backlight, fix d7 * update flag names * doc updates * proton c update for mcu selection
Diffstat (limited to 'docs/proton_c_conversion.md')
-rw-r--r--docs/proton_c_conversion.md21
1 files changed, 21 insertions, 0 deletions
diff --git a/docs/proton_c_conversion.md b/docs/proton_c_conversion.md
new file mode 100644
index 000000000..be7d50a9f
--- /dev/null
+++ b/docs/proton_c_conversion.md
@@ -0,0 +1,21 @@
+# Converting a board to use the Proton C
+
+If a board currently supported in QMK uses a Pro Micro (or compatible board) and you want to use the Proton C, you can generate the firmware by appending `CONVERT_TO_PROTON_C=yes` (or `CTPC=yes`) to your make argument, like this:
+
+ make 40percentclub/mf68:default CTPC=yes
+
+You can add the same argument to your keymap's `rules.mk`, which will accomplish the same thing.
+
+This exposes the `CONVERT_TO_PROTON_C` flag that you can use in your code with `#ifdef`s, like this:
+
+ #ifdef CONVERT_TO_PROTON_C
+ // Proton C code
+ #else
+ // Pro Micro code
+ #endif
+
+Before being able to compile, you may get some errors about `PORTB/DDRB`, etc not being defined, so you'll need to convert the keyboard's code to use the [GPIO Controls](internals_gpio_control.md) that will work for both ARM and AVR. This shouldn't affect the AVR builds at all.
+
+The Proton C only has one on-board LED (C13), and by default, the TXLED (D5) is mapped to it. If you want the RXLED (B0) mapped to it instead, add this like to your `config.h`:
+
+ #define CONVERT_TO_PROTON_C_RXLED