From 3cf179be61a10860b2b66aecf2ec5ca6f0e30605 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Thu, 10 Jan 2019 11:22:57 -0500 Subject: 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 --- docs/proton_c_conversion.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 docs/proton_c_conversion.md (limited to 'docs/proton_c_conversion.md') 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 -- cgit v1.2.3-24-g4f1b