This converts the array that the Swap Hands feature uses to use PROGMEM, and to read from that array, as such. Since this array never changes at runtime, there is no reason to keep it in memory. Especially for AVR boards, as memory is a precious resource.
		
			
				
	
	
		
			30 lines
		
	
	
		
			766 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			766 B
		
	
	
	
		
			C
		
	
	
	
	
	
#include "wavelet.h"
 | 
						|
 | 
						|
void matrix_init_kb(void) {
 | 
						|
 | 
						|
    // // green led on
 | 
						|
    // DDRD |= (1<<5);
 | 
						|
    // PORTD &= ~(1<<5);
 | 
						|
 | 
						|
    // // orange led on
 | 
						|
    // DDRB |= (1<<0);
 | 
						|
    // PORTB &= ~(1<<0);
 | 
						|
 | 
						|
	matrix_init_user();
 | 
						|
};
 | 
						|
 | 
						|
#ifdef SWAP_HANDS_ENABLE
 | 
						|
__attribute__ ((weak))
 | 
						|
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
 | 
						|
 | 
						|
  {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
 | 
						|
  {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}},
 | 
						|
  {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}},
 | 
						|
  {{5, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}},
 | 
						|
  {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}},
 | 
						|
  {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}},
 | 
						|
  {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}},
 | 
						|
  {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}},
 | 
						|
};
 | 
						|
#endif
 |