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
This commit is contained in:
		
							parent
							
								
									ebbc372f72
								
							
						
					
					
						commit
						3cf179be61
					
				
					 28 changed files with 241 additions and 2732 deletions
				
			
		
							
								
								
									
										21
									
								
								docs/proton_c_conversion.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								docs/proton_c_conversion.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue