Don't make EEPROM size assumptions with dynamic keymaps. (#16054)
* Don't make EEPROM size assumptions with dynamic keymaps. * Add support for checking against emulated flash, error out if someone attempts to build a board without specifying EEPROM size. * Reorder defines so that MCU is considered last. * Refactor EEPROM definitions for simplicity. * Fix max sizing of kabedon/kabedon980. * Fix max sizing of mechlovin/olly/jf. * Fix unit tests. * Review comments, add messages with values during build failures.
This commit is contained in:
		
							parent
							
								
									da5cb5fd6f
								
							
						
					
					
						commit
						e22efc037a
					
				
					 17 changed files with 185 additions and 153 deletions
				
			
		
							
								
								
									
										22
									
								
								platforms/chibios/eeprom_teensy.h
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								platforms/chibios/eeprom_teensy.h
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
// Copyright 2022 Nick Brassel (@tzarc)
 | 
			
		||||
// SPDX-License-Identifier: GPL-2.0-or-later
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#if defined(K20x)
 | 
			
		||||
/* Teensy 3.0, 3.1, 3.2; mchck; infinity keyboard */
 | 
			
		||||
// The EEPROM is really RAM with a hardware-based backup system to
 | 
			
		||||
// flash memory.  Selecting a smaller size EEPROM allows more wear
 | 
			
		||||
// leveling, for higher write endurance.  If you edit this file,
 | 
			
		||||
// set this to the smallest size your application can use.  Also,
 | 
			
		||||
// due to Freescale's implementation, writing 16 or 32 bit words
 | 
			
		||||
// (aligned to 2 or 4 byte boundaries) has twice the endurance
 | 
			
		||||
// compared to writing 8 bit bytes.
 | 
			
		||||
//
 | 
			
		||||
#    ifndef EEPROM_SIZE
 | 
			
		||||
#        define EEPROM_SIZE 32
 | 
			
		||||
#    endif
 | 
			
		||||
#elif defined(KL2x) /* Teensy LC (emulated) */
 | 
			
		||||
#    define EEPROM_SIZE 128
 | 
			
		||||
#else
 | 
			
		||||
#    error Unsupported Teensy EEPROM.
 | 
			
		||||
#endif
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue