Non-volatile memory data repository pattern (#24356)
* First batch of eeconfig conversions. * Offset and length for datablocks. * `via`, `dynamic_keymap`. * Fix filename. * Commentary. * wilba leds * satisfaction75 * satisfaction75 * more keyboard whack-a-mole * satisfaction75 * omnikeyish * more whack-a-mole * `generic_features.mk` to automatically pick up nvm repositories * thievery * deferred variable resolve * whitespace * convert api to structs/unions * convert api to structs/unions * convert api to structs/unions * fixups * code-side docs * code size fix * rollback * nvm_xxxxx_erase * Updated location of eeconfig magic numbers so non-EEPROM nvm drivers can use them too. * Fixup build. * Fixup compilation error with encoders. * Build fixes. * Add `via_ci` keymap to onekey to exercise VIA bindings (and thus dynamic keymap et.al.), fixup compilation errors based on preprocessor+sizeof. * Build failure rectification.
This commit is contained in:
		
							parent
							
								
									c9d62ddc78
								
							
						
					
					
						commit
						2b00b846dc
					
				
					 87 changed files with 1464 additions and 839 deletions
				
			
		| 
						 | 
				
			
			@ -149,14 +149,14 @@ void audio_driver_start(void) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
void eeconfig_update_audio_current(void) {
 | 
			
		||||
    eeconfig_update_audio(audio_config.raw);
 | 
			
		||||
    eeconfig_update_audio(&audio_config);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void eeconfig_update_audio_default(void) {
 | 
			
		||||
    audio_config.valid         = true;
 | 
			
		||||
    audio_config.enable        = AUDIO_DEFAULT_ON;
 | 
			
		||||
    audio_config.clicky_enable = AUDIO_DEFAULT_CLICKY_ON;
 | 
			
		||||
    eeconfig_update_audio(audio_config.raw);
 | 
			
		||||
    eeconfig_update_audio(&audio_config);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void audio_init(void) {
 | 
			
		||||
| 
						 | 
				
			
			@ -164,7 +164,7 @@ void audio_init(void) {
 | 
			
		|||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    audio_config.raw = eeconfig_read_audio();
 | 
			
		||||
    eeconfig_read_audio(&audio_config);
 | 
			
		||||
    if (!audio_config.valid) {
 | 
			
		||||
        dprintf("audio_init audio_config.valid = 0. Write default values to EEPROM.\n");
 | 
			
		||||
        eeconfig_update_audio_default();
 | 
			
		||||
| 
						 | 
				
			
			@ -196,7 +196,7 @@ void audio_toggle(void) {
 | 
			
		|||
        stop_all_notes();
 | 
			
		||||
    }
 | 
			
		||||
    audio_config.enable ^= 1;
 | 
			
		||||
    eeconfig_update_audio(audio_config.raw);
 | 
			
		||||
    eeconfig_update_audio(&audio_config);
 | 
			
		||||
    if (audio_config.enable) {
 | 
			
		||||
        audio_on_user();
 | 
			
		||||
    } else {
 | 
			
		||||
| 
						 | 
				
			
			@ -206,7 +206,7 @@ void audio_toggle(void) {
 | 
			
		|||
 | 
			
		||||
void audio_on(void) {
 | 
			
		||||
    audio_config.enable = 1;
 | 
			
		||||
    eeconfig_update_audio(audio_config.raw);
 | 
			
		||||
    eeconfig_update_audio(&audio_config);
 | 
			
		||||
    audio_on_user();
 | 
			
		||||
    PLAY_SONG(audio_on_song);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -217,7 +217,7 @@ void audio_off(void) {
 | 
			
		|||
    wait_ms(100);
 | 
			
		||||
    audio_stop_all();
 | 
			
		||||
    audio_config.enable = 0;
 | 
			
		||||
    eeconfig_update_audio(audio_config.raw);
 | 
			
		||||
    eeconfig_update_audio(&audio_config);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool audio_is_on(void) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,7 @@
 | 
			
		|||
#    include "audio_dac.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef union {
 | 
			
		||||
typedef union audio_config_t {
 | 
			
		||||
    uint8_t raw;
 | 
			
		||||
    struct {
 | 
			
		||||
        bool    enable : 1;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue