make targets "loadable"

This commit is contained in:
Philippe G
2022-01-20 17:34:21 -08:00
parent 1b74c82c72
commit 47774c98f0
10 changed files with 68 additions and 28 deletions

View File

@@ -43,7 +43,7 @@ menu "Squeezelite-ESP32"
config MUTE_GPIO_LEVEL
int
default 0
config WELL_KNOWN
config TARGET_LOCKED
bool
default n
menu "Target"
@@ -59,20 +59,20 @@ menu "Squeezelite-ESP32"
select I2C_LOCKED
select LED_LOCKED
select SPKFAULT_LOCKED
select WELL_KNOWN
select TARGET_LOCKED
config MUSE
bool "Muse"
select JACK_LOCKED
select BAT_LOCKED
select I2C_LOCKED
select AMP_LOCKED
select WELL_KNOWN
select TARGET_LOCKED
config BASIC_I2C_BT
bool "Generic I2S & Bluetooth"
config TWATCH2020
bool "T-WATCH2020 by LilyGo"
select I2C_LOCKED
select WELL_KNOWN
select TARGET_LOCKED
endchoice
config RELEASE_API
string "Software update URL"
@@ -136,9 +136,14 @@ menu "Squeezelite-ESP32"
default "[{\"gpio\":32, \"pull\":true, \"debounce\":10, \"normal\":{\"pressed\":\"ACTRLS_VOLDOWN\"}}, {\"gpio\":19, \"pull\":true, \"debounce\":40, \"normal\":{\"pressed\":\"ACTRLS_VOLUP\"}}, {\"gpio\":12, \"pull\":true, \"debounce\":40, \"longpress\":1000, \"normal\":{\"pressed\":\"ACTRLS_TOGGLE\"},\"longpress\":{\"pressed\":\"ACTRLS_POWER\"}}]" if MUSE
default ""
config BAT_CONFIG
string
default "channel=7,scale=20.24,atten=0" if SQUEEZEAMP
default "channel=5,scale=1,atten=3,cells=1" if MUSE
default ""
config TARGET
string
default "muse" if MUSE
default ""
config AMP_GPIO
int
default 21 if MUSE
@@ -380,7 +385,7 @@ menu "Squeezelite-ESP32"
endmenu
menu "Audio JACK"
visible if !WELL_KNOWN
visible if !TARGET_LOCKED
config JACK_GPIO
int "Jack insertion GPIO"
help
@@ -392,7 +397,7 @@ menu "Squeezelite-ESP32"
endmenu
menu "Amplifier"
visible if !WELL_KNOWN
visible if !TARGET_LOCKED
config AMP_GPIO
int "Amplifier GPIO"
help
@@ -404,7 +409,7 @@ menu "Squeezelite-ESP32"
endmenu
menu "Speaker Fault"
visible if !WELL_KNOWN
visible if !TARGET_LOCKED
config SPKFAULT_GPIO
int "Speaker fault GPIO"
help
@@ -416,7 +421,7 @@ menu "Squeezelite-ESP32"
endmenu
menu "Battery measure"
visible if !WELL_KNOWN
visible if !TARGET_LOCKED
config BAT_CONFIG
string "Battery acquisition configuration"
help

View File

@@ -71,7 +71,7 @@ extern const uint8_t server_cert_pem_end[] asm("_binary_github_pem_end");
// as an exception _init function don't need include
extern void services_init(void);
extern void display_init(char *welcome);
extern void target_init(void);
extern void target_init(char *target);
const char * str_or_unknown(const char * str) { return (str?str:unknown_string_placeholder); }
const char * str_or_null(const char * str) { return (str?str:null_string_placeholder); }
bool is_recovery_running;
@@ -365,6 +365,8 @@ void register_default_nvs(){
register_default_string_val("pollmin","15");
register_default_string_val("ethtmout","8");
register_default_string_val("dhcp_tmout","8");
register_default_string_val("target", CONFIG_TARGET);
wait_for_commit();
ESP_LOGD(TAG,"Done setting default values in nvs.");
}
@@ -447,7 +449,11 @@ void app_main()
ESP_LOGI(TAG,"Initializing display");
display_init("SqueezeESP32");
MEMTRACE_PRINT_DELTA();
target_init();
char *target = config_alloc_get_default(NVS_TYPE_STR, "target", CONFIG_TARGET, 0);
if (target) {
target_init(target);
free(target);
}
if(is_recovery_running && display){
GDS_ClearExt(display, true);
GDS_SetFont(display, &Font_line_2 );