mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-11 22:17:17 +03:00
initial refactoring
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user