Fix error handling in the init function.
This commit is contained in:
@@ -15,6 +15,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "esp_err.h"
|
#include "esp_err.h"
|
||||||
|
#include "esp_check.h"
|
||||||
#include "esp_log.h"
|
#include "esp_log.h"
|
||||||
#include "esp_task.h"
|
#include "esp_task.h"
|
||||||
#include "driver/gpio.h"
|
#include "driver/gpio.h"
|
||||||
@@ -320,14 +321,14 @@ esp_err_t relay_chn_create(const gpio_num_t* gpio_map, uint8_t gpio_count)
|
|||||||
|
|
||||||
// Initialize the GPIOs
|
// Initialize the GPIOs
|
||||||
ret = gpio_reset_pin(forward_pin);
|
ret = gpio_reset_pin(forward_pin);
|
||||||
ret |= gpio_set_direction(forward_pin, GPIO_MODE_OUTPUT);
|
ESP_RETURN_ON_ERROR(ret, TAG, "Failed to reset GPIO forward pin for channel %d", i);
|
||||||
|
ret = gpio_set_direction(forward_pin, GPIO_MODE_OUTPUT);
|
||||||
|
ESP_RETURN_ON_ERROR(ret, TAG, "Failed to set GPIO direction for forward pin for channel %d", i);
|
||||||
|
|
||||||
ret |= gpio_reset_pin(reverse_pin);
|
ret = gpio_reset_pin(reverse_pin);
|
||||||
ret |= gpio_set_direction(reverse_pin, GPIO_MODE_OUTPUT);
|
ESP_RETURN_ON_ERROR(ret, TAG, "Failed to reset GPIO reverse pin for channel %d", i);
|
||||||
if (ret != ESP_OK) {
|
ret = gpio_set_direction(reverse_pin, GPIO_MODE_OUTPUT);
|
||||||
ESP_LOGE(TAG, "Failed to initialize GPIOs relay channel %d!", i);
|
ESP_RETURN_ON_ERROR(ret, TAG, "Failed to set GPIO direction for reverse pin for channel %d", i);
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
// Initialize the GPIOs
|
// Initialize the GPIOs
|
||||||
|
|
||||||
// Initialize the relay channel
|
// Initialize the relay channel
|
||||||
@@ -339,22 +340,22 @@ esp_err_t relay_chn_create(const gpio_num_t* gpio_map, uint8_t gpio_count)
|
|||||||
relay_chn->state = RELAY_CHN_STATE_FREE;
|
relay_chn->state = RELAY_CHN_STATE_FREE;
|
||||||
relay_chn->pending_cmd = RELAY_CHN_CMD_NONE;
|
relay_chn->pending_cmd = RELAY_CHN_CMD_NONE;
|
||||||
relay_chn->run_info.last_run_cmd = RELAY_CHN_CMD_NONE;
|
relay_chn->run_info.last_run_cmd = RELAY_CHN_CMD_NONE;
|
||||||
ret |= relay_chn_init_timer(relay_chn); // Create direction change inertia timer
|
ret = relay_chn_init_timer(relay_chn); // Create direction change inertia timer
|
||||||
|
ESP_RETURN_ON_ERROR(ret, TAG, "Failed to create relay channel timer for channel %d", i);
|
||||||
#if RELAY_CHN_ENABLE_TILTING == 1
|
#if RELAY_CHN_ENABLE_TILTING == 1
|
||||||
ret |= relay_chn_init_tilt_control(relay_chn);
|
ret = relay_chn_init_tilt_control(relay_chn);
|
||||||
|
ESP_RETURN_ON_ERROR(ret, TAG, "Failed to initialize tilt control for channel %d", i);
|
||||||
#endif
|
#endif
|
||||||
if (ret != ESP_OK) {
|
|
||||||
ESP_LOGE(TAG, "Failed to initialize relay channel %d!", i);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create relay channel command event loop
|
// Create relay channel command event loop
|
||||||
ret |= relay_chn_create_event_loop();
|
ret = relay_chn_create_event_loop();
|
||||||
|
ESP_RETURN_ON_ERROR(ret, TAG, "Failed to create relay channel event loop");
|
||||||
|
|
||||||
#if RELAY_CHN_ENABLE_TILTING == 1
|
#if RELAY_CHN_ENABLE_TILTING == 1
|
||||||
// Must call after the event loop is initialized
|
// Must call after the event loop is initialized
|
||||||
ret |= relay_chn_tilt_init(); // Initialize tilt feature
|
ret = relay_chn_tilt_init(); // Initialize tilt feature
|
||||||
|
ESP_RETURN_ON_ERROR(ret, TAG, "Failed to initialize tilt feature");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Init the state listener manager
|
// Init the state listener manager
|
||||||
|
|||||||
Reference in New Issue
Block a user