From aeb9c03bd10441b04e1ab95e9b1352fdd9e0bf70 Mon Sep 17 00:00:00 2001 From: fvanroie <15969459+fvanroie@users.noreply.github.com> Date: Sat, 6 Mar 2021 00:53:35 +0100 Subject: [PATCH] Small code improvements --- .vscode/extensions.json | 7 +++++-- src/hasp/hasp_dispatch.h | 2 +- src/sys/gpio/hasp_gpio.cpp | 23 ++++++++++++++++++----- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 4ffe4f0c..9a44568a 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,5 +1,8 @@ { + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format "recommendations": [ - "platformio.platformio-ide","ms-vscode.cpptools" + "ms-vscode.cpptools", + "platformio.platformio-ide" ] -} \ No newline at end of file +} diff --git a/src/hasp/hasp_dispatch.h b/src/hasp/hasp_dispatch.h index ac0e591b..193ed7c2 100644 --- a/src/hasp/hasp_dispatch.h +++ b/src/hasp/hasp_dispatch.h @@ -54,7 +54,7 @@ void dispatch_page_prev(); void dispatch_dim(const char* level); void dispatch_backlight(const char* payload); -void dispatch_web_update(const char* espOtaUrl); +void dispatch_web_update(const char*, const char* espOtaUrl); void dispatch_reboot(bool saveConfig); void dispatch_output_idle_state(uint8_t state); diff --git a/src/sys/gpio/hasp_gpio.cpp b/src/sys/gpio/hasp_gpio.cpp index 21caa060..b4be2746 100644 --- a/src/sys/gpio/hasp_gpio.cpp +++ b/src/sys/gpio/hasp_gpio.cpp @@ -294,12 +294,21 @@ void gpio_set_normalized_value(hasp_gpio_config_t gpio, uint16_t state) case HASP_GPIO_LED_R: case HASP_GPIO_LED_G: case HASP_GPIO_LED_B: +#if defined(ARDUINO_ARCH_ESP32) + gpio.val = map(state, 0, 0xFFFFU, 0, 4095); + ledcWrite(gpio.group, gpio.val); // ledChannel and value +#else + gpio.val = map(state, 0, 0xFFFFU, 0, 1023); + analogWrite(gpio.pin, gpio.val); +#endif + break; case HASP_GPIO_PWM: #if defined(ARDUINO_ARCH_ESP32) gpio.val = map(state, 0, 0xFFFFU, 0, 4095); ledcWrite(gpio.group, gpio.val); // ledChannel and value #else - analogWrite(gpio.pin, map(state, 0, 0xFFFFU, 0, 1023)); + gpio.val = map(state, 0, 0xFFFFU, 0, 1023); + analogWrite(gpio.pin, gpio.val); #endif break; case HASP_GPIO_LED_INVERTED: @@ -311,7 +320,8 @@ void gpio_set_normalized_value(hasp_gpio_config_t gpio, uint16_t state) gpio.val = map(0xFFFFU - state, 0, 0xFFFFU, 0, 4095); ledcWrite(gpio.group, gpio.val); // ledChannel and value #else - analogWrite(gpio.pin, map(0xFFFFU - state, 0, 0xFFFFU, 0, 1023)); + gpio.val = map(0xFFFFU - state, 0, 0xFFFFU, 0, 1023); + analogWrite(gpio.pin, gpio.val); #endif break; @@ -342,19 +352,22 @@ void gpio_set_normalized_group_value(uint8_t groupid, uint16_t state) void gpio_set_moodlight(uint8_t r, uint8_t g, uint8_t b) { + // uint16_t max_level = power == 0 ? 0 : map(brightness, 0, 0xFF, 0, 0xFFFFU); + uint16_t max_level = 0xFFFFU; + for(uint8_t i = 0; i < HASP_NUM_GPIO_CONFIG; i++) { switch(gpioConfig[i].type) { case HASP_GPIO_LED_R: case HASP_GPIO_LED_R_INVERTED: - gpio_set_normalized_value(gpioConfig[i], map(r, 0, 0xFF, 0, 0xFFFFU)); + gpio_set_normalized_value(gpioConfig[i], map(r, 0, 0xFF, 0, max_level)); break; case HASP_GPIO_LED_G: case HASP_GPIO_LED_G_INVERTED: - gpio_set_normalized_value(gpioConfig[i], map(g, 0, 0xFF, 0, 0xFFFFU)); + gpio_set_normalized_value(gpioConfig[i], map(g, 0, 0xFF, 0, max_level)); break; case HASP_GPIO_LED_B: case HASP_GPIO_LED_B_INVERTED: - gpio_set_normalized_value(gpioConfig[i], map(b, 0, 0xFF, 0, 0xFFFFU)); + gpio_set_normalized_value(gpioConfig[i], map(b, 0, 0xFF, 0, max_level)); break; } }