diff --git a/src/main_arduino.cpp b/src/main_arduino.cpp index fd30a849..db06a6a1 100644 --- a/src/main_arduino.cpp +++ b/src/main_arduino.cpp @@ -116,6 +116,10 @@ void loop() haspLoop(); networkLoop(); +#if HASP_USE_GPIO > 0 + gpioLoop(); +#endif // GPIO + #if HASP_USE_MQTT > 0 mqttLoop(); #endif // MQTT diff --git a/src/sys/gpio/hasp_gpio.cpp b/src/sys/gpio/hasp_gpio.cpp index d2575f43..31762e7c 100644 --- a/src/sys/gpio/hasp_gpio.cpp +++ b/src/sys/gpio/hasp_gpio.cpp @@ -288,11 +288,11 @@ void gpio_set_normalized_value(hasp_gpio_config_t gpio, int16_t val, int16_t min switch(gpio.type) { case HASP_GPIO_RELAY: - gpio.val = map(val, min, max, 0, 1) ? HIGH : LOW; + gpio.val = val > min ? HIGH : LOW; digitalWrite(gpio.pin, gpio.val); break; case HASP_GPIO_RELAY_INVERTED: - gpio.val = map(val, min, max, 0, 1) ? LOW : HIGH; + gpio.val = val > min ? LOW : HIGH; digitalWrite(gpio.pin, gpio.val); break; case HASP_GPIO_LED: diff --git a/src/sys/net/hasp_network.cpp b/src/sys/net/hasp_network.cpp index ae69d02e..ba6dd8b0 100644 --- a/src/sys/net/hasp_network.cpp +++ b/src/sys/net/hasp_network.cpp @@ -75,10 +75,6 @@ void networkLoop(void) httpLoop(); #endif // HTTP -#if HASP_USE_GPIO > 0 - gpioLoop(); -#endif // GPIO - #if HASP_USE_OTA > 0 otaLoop(); #endif // OTA