initial refactoring

This commit is contained in:
Sebastien L
2023-12-04 23:25:57 -05:00
parent d03678ea81
commit c0ddf0a997
331 changed files with 29663 additions and 16553 deletions

View File

@@ -17,20 +17,13 @@
#include "esp_wifi.h"
#include "esp_log.h"
#include "monitor.h"
#include "platform_config.h"
#include "Configurator.h"
#include "messaging.h"
#include "gpio_exp.h"
#include "accessors.h"
#ifndef CONFIG_POWER_GPIO_LEVEL
#define CONFIG_POWER_GPIO_LEVEL 1
#endif
static const char TAG[] = "embedded";
static struct {
int gpio, active;
} power_control = { CONFIG_POWER_GPIO, CONFIG_POWER_GPIO_LEVEL };
static sys_GPIO * power=NULL;
extern void sb_controls_init(void);
extern bool sb_displayer_init(void);
@@ -40,16 +33,6 @@ u8_t custom_player_id = 12;
mutex_type slimp_mutex;
static jmp_buf jumpbuf;
#ifndef POWER_LOCKED
static void set_power_gpio(int gpio, char *value) {
if (strcasestr(value, "power")) {
char *p = strchr(value, ':');
if (p) power_control.active = atoi(p + 1);
power_control.gpio = gpio;
}
}
#endif
void get_mac(u8_t mac[]) {
esp_read_mac(mac, ESP_MAC_WIFI_STA);
}
@@ -88,16 +71,13 @@ int embedded_init(void) {
mutex_create(slimp_mutex);
sb_controls_init();
custom_player_id = sb_displayer_init() ? 100 : 101;
#ifndef POWER_LOCKED
parse_set_GPIO(set_power_gpio);
#endif
if (power_control.gpio != -1) {
gpio_pad_select_gpio_x(power_control.gpio);
gpio_set_direction_x(power_control.gpio, GPIO_MODE_OUTPUT);
gpio_set_level_x(power_control.gpio, !power_control.active);
ESP_LOGI(TAG, "setting power GPIO %d (active:%d)", power_control.gpio, power_control.active);
if(SYS_GPIOS_NAME(power,power) && power->pin >= 0){
gpio_pad_select_gpio_x(power->pin);
gpio_set_direction_x(power->pin, GPIO_MODE_OUTPUT);
gpio_set_level_x(power->pin, !power->level);
ESP_LOGI(TAG, "setting power GPIO %d (active:%d)", power->pin, power->level);
}
return setjmp(jumpbuf);
@@ -108,9 +88,9 @@ void embedded_exit(int code) {
}
void powering(bool on) {
if (power_control.gpio != -1) {
if (power->pin != -1) {
ESP_LOGI(TAG, "powering player %s", on ? "ON" : "OFF");
gpio_set_level_x(power_control.gpio, on ? power_control.active : !power_control.active);
gpio_set_level_x(power->pin, on ? power->level : !power->level);
}
}
@@ -131,25 +111,5 @@ u16_t get_battery(void) {
}
void set_name(char *name) {
char *cmd = config_alloc_get(NVS_TYPE_STR, "autoexec1");
char *p, *q;
if (!cmd) return;
if ((p = strstr(cmd, " -n")) != NULL) {
q = p + 3;
// in case some smart dude has a " -" in player's name
while ((q = strstr(q, " -")) != NULL) {
if (!strchr(q, '"') || !strchr(q+1, '"')) break;
q++;
}
if (q) memmove(p, q, strlen(q) + 1);
else *p = '\0';
}
asprintf(&q, "%s -n \"%s\"", cmd, name);
config_set_value(NVS_TYPE_STR, "autoexec1", q);
free(q);
free(cmd);
strncpy(platform->names.squeezelite,name,sizeof(platform->names.squeezelite));
}