Remove redundant audio eeconfig init (#22736)
This commit is contained in:
		
							parent
							
								
									b824faca71
								
							
						
					
					
						commit
						b24bd2351a
					
				@ -17,6 +17,8 @@
 | 
			
		||||
    "APA102_DI_PIN": {"info_key": "apa102.data_pin"},
 | 
			
		||||
 | 
			
		||||
    // Audio
 | 
			
		||||
    "AUDIO_DEFAULT_ON": {"info_key": "audio.default.on", "value_type": "bool"},
 | 
			
		||||
    "AUDIO_DEFAULT_CLICKY_ON": {"info_key": "audio.default.clicky", "value_type": "bool"},
 | 
			
		||||
    "AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "bool"},
 | 
			
		||||
    "SENDSTRING_BELL": {"info_key": "audio.macro_beep", "value_type": "bool"},
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -123,6 +123,14 @@
 | 
			
		||||
            "type": "object",
 | 
			
		||||
            "additionalProperties": false,
 | 
			
		||||
            "properties": {
 | 
			
		||||
                "default": {
 | 
			
		||||
                    "type": "object",
 | 
			
		||||
                    "additionalProperties": false,
 | 
			
		||||
                    "properties": {
 | 
			
		||||
                        "on": {"type": "boolean"},
 | 
			
		||||
                        "clicky": {"type": "boolean"}
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
                "macro_beep": {"type": "boolean"},
 | 
			
		||||
                "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
 | 
			
		||||
                "voices": {"type": "boolean"}
 | 
			
		||||
 | 
			
		||||
@ -111,6 +111,13 @@ Configures the [APA102](apa102_driver.md) driver.
 | 
			
		||||
Configures the [Audio](feature_audio.md) feature.
 | 
			
		||||
 | 
			
		||||
* `audio`
 | 
			
		||||
    * `default`
 | 
			
		||||
        * `on`
 | 
			
		||||
            * The default audio enabled state.
 | 
			
		||||
            * Default: `true`
 | 
			
		||||
        * `clicky`
 | 
			
		||||
            * The default audio clicky enabled state.
 | 
			
		||||
            * Default: `true`
 | 
			
		||||
    * `macro_beep`
 | 
			
		||||
        * Play a short beep for `\a` (ASCII `BEL`) characters in Send String macros.
 | 
			
		||||
        * Default: `false`
 | 
			
		||||
 | 
			
		||||
@ -17,6 +17,7 @@
 | 
			
		||||
#include "audio.h"
 | 
			
		||||
#include "eeconfig.h"
 | 
			
		||||
#include "timer.h"
 | 
			
		||||
#include "debug.h"
 | 
			
		||||
#include "wait.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
 | 
			
		||||
@ -62,6 +63,13 @@
 | 
			
		||||
 * the internal state of the audio system does its calculations with the later - ms
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef AUDIO_DEFAULT_ON
 | 
			
		||||
#    define AUDIO_DEFAULT_ON true
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AUDIO_DEFAULT_CLICKY_ON
 | 
			
		||||
#    define AUDIO_DEFAULT_CLICKY_ON true
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AUDIO_TONE_STACKSIZE
 | 
			
		||||
#    define AUDIO_TONE_STACKSIZE 8
 | 
			
		||||
#endif
 | 
			
		||||
@ -117,32 +125,31 @@ void eeconfig_update_audio_current(void) {
 | 
			
		||||
    eeconfig_update_audio(audio_config.raw);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void audio_init(void) {
 | 
			
		||||
    if (audio_initialized) {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Check EEPROM
 | 
			
		||||
#ifdef EEPROM_ENABLE
 | 
			
		||||
    if (!eeconfig_is_enabled()) {
 | 
			
		||||
        eeconfig_init();
 | 
			
		||||
    }
 | 
			
		||||
    audio_config.raw = eeconfig_read_audio();
 | 
			
		||||
#else // EEPROM settings
 | 
			
		||||
    audio_config.enable        = true;
 | 
			
		||||
#    ifdef AUDIO_CLICKY_ON
 | 
			
		||||
    audio_config.clicky_enable = true;
 | 
			
		||||
#    endif
 | 
			
		||||
#endif // EEPROM settings
 | 
			
		||||
    if (!audio_config.valid) {
 | 
			
		||||
        dprintf("audio_init audio_config.valid = 0. Write default values to EEPROM.\n");
 | 
			
		||||
        eeconfig_update_audio_default();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (uint8_t i = 0; i < AUDIO_TONE_STACKSIZE; i++) {
 | 
			
		||||
        tones[i] = (musical_tone_t){.time_started = 0, .pitch = -1.0f, .duration = 0};
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!audio_initialized) {
 | 
			
		||||
        audio_driver_initialize();
 | 
			
		||||
        audio_initialized = true;
 | 
			
		||||
    }
 | 
			
		||||
    audio_driver_initialize();
 | 
			
		||||
    audio_initialized = true;
 | 
			
		||||
 | 
			
		||||
    stop_all_notes();
 | 
			
		||||
#ifndef AUDIO_INIT_DELAY
 | 
			
		||||
    audio_startup();
 | 
			
		||||
 | 
			
		||||
@ -33,7 +33,8 @@ typedef union {
 | 
			
		||||
    struct {
 | 
			
		||||
        bool    enable : 1;
 | 
			
		||||
        bool    clicky_enable : 1;
 | 
			
		||||
        uint8_t level : 6;
 | 
			
		||||
        bool    valid : 1;
 | 
			
		||||
        uint8_t reserved : 5;
 | 
			
		||||
    };
 | 
			
		||||
} audio_config_t;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -54,7 +54,7 @@ void eeconfig_init_quantum(void) {
 | 
			
		||||
    // Enable oneshot and autocorrect by default: 0b0001 0100 0000 0000
 | 
			
		||||
    eeprom_update_word(EECONFIG_KEYMAP, 0x1400);
 | 
			
		||||
    eeprom_update_byte(EECONFIG_BACKLIGHT, 0);
 | 
			
		||||
    eeprom_update_byte(EECONFIG_AUDIO, 0xFF); // On by default
 | 
			
		||||
    eeprom_update_byte(EECONFIG_AUDIO, 0);
 | 
			
		||||
    eeprom_update_dword(EECONFIG_RGBLIGHT, 0);
 | 
			
		||||
    eeprom_update_byte(EECONFIG_RGBLIGHT_EXTENDED, 0);
 | 
			
		||||
    eeprom_update_byte(EECONFIG_UNUSED, 0);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user