Commit | Line | Data |
---|---|---|
3cf179be JH |
1 | # Converting a board to use the Proton C |
2 | ||
3 | 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: | |
4 | ||
5 | make 40percentclub/mf68:default CTPC=yes | |
6 | ||
7 | You can add the same argument to your keymap's `rules.mk`, which will accomplish the same thing. | |
8 | ||
9 | This exposes the `CONVERT_TO_PROTON_C` flag that you can use in your code with `#ifdef`s, like this: | |
10 | ||
11 | #ifdef CONVERT_TO_PROTON_C | |
12 | // Proton C code | |
13 | #else | |
14 | // Pro Micro code | |
15 | #endif | |
16 | ||
17 | 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. | |
18 | ||
19 | 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`: | |
20 | ||
21 | #define CONVERT_TO_PROTON_C_RXLED |