From c2d5af17a22dadfdd65223e3115b2f39dd5519fd Mon Sep 17 00:00:00 2001 From: morris Date: Wed, 25 Aug 2021 17:02:19 +0800 Subject: [PATCH] dac: apply generic check macro --- components/driver/dac_common.c | 24 +++++++++--------------- components/driver/esp32s2/dac.c | 24 +++++++++--------------- components/driver/gpio.c | 7 ++----- components/driver/ledc.c | 4 ++-- components/driver/pcnt.c | 7 ++----- components/driver/sigmadelta.c | 6 ++---- 6 files changed, 26 insertions(+), 46 deletions(-) diff --git a/components/driver/dac_common.c b/components/driver/dac_common.c index 79172eb984..791926b0fc 100644 --- a/components/driver/dac_common.c +++ b/components/driver/dac_common.c @@ -8,6 +8,7 @@ #include #include "esp_log.h" #include "esp_err.h" +#include "esp_check.h" #include "freertos/FreeRTOS.h" #include "freertos/semphr.h" #include "freertos/timers.h" @@ -18,21 +19,14 @@ extern portMUX_TYPE rtc_spinlock; //TODO: Will be placed in the appropriate position after the rtc module is finished. -static const char *DAC_TAG = "DAC"; - -#define DAC_CHECK(a, str, ret_val) ({ \ - if (!(a)) { \ - ESP_LOGE(DAC_TAG,"%s(%d): %s", __FUNCTION__, __LINE__, str); \ - return (ret_val); \ - } \ -}) +static const char *TAG = "DAC"; /*--------------------------------------------------------------- DAC ---------------------------------------------------------------*/ esp_err_t dac_pad_get_io_num(dac_channel_t channel, gpio_num_t *gpio_num) { - DAC_CHECK(channel < DAC_CHANNEL_MAX, "DAC channel error", ESP_ERR_INVALID_ARG); + ESP_RETURN_ON_FALSE(channel < DAC_CHANNEL_MAX, ESP_ERR_INVALID_ARG, TAG, "DAC channel error"); *gpio_num = (gpio_num_t)dac_periph_signal.dac_channel_io_num[channel]; @@ -41,7 +35,7 @@ esp_err_t dac_pad_get_io_num(dac_channel_t channel, gpio_num_t *gpio_num) static esp_err_t dac_rtc_pad_init(dac_channel_t channel) { - DAC_CHECK(channel < DAC_CHANNEL_MAX, "DAC channel error", ESP_ERR_INVALID_ARG); + ESP_RETURN_ON_FALSE(channel < DAC_CHANNEL_MAX, ESP_ERR_INVALID_ARG, TAG, "DAC channel error"); gpio_num_t gpio_num = 0; dac_pad_get_io_num(channel, &gpio_num); @@ -55,7 +49,7 @@ static esp_err_t dac_rtc_pad_init(dac_channel_t channel) esp_err_t dac_output_enable(dac_channel_t channel) { - DAC_CHECK(channel < DAC_CHANNEL_MAX, "DAC channel error", ESP_ERR_INVALID_ARG); + ESP_RETURN_ON_FALSE(channel < DAC_CHANNEL_MAX, ESP_ERR_INVALID_ARG, TAG, "DAC channel error"); dac_rtc_pad_init(channel); portENTER_CRITICAL(&rtc_spinlock); @@ -68,7 +62,7 @@ esp_err_t dac_output_enable(dac_channel_t channel) esp_err_t dac_output_disable(dac_channel_t channel) { - DAC_CHECK(channel < DAC_CHANNEL_MAX, "DAC channel error", ESP_ERR_INVALID_ARG); + ESP_RETURN_ON_FALSE(channel < DAC_CHANNEL_MAX, ESP_ERR_INVALID_ARG, TAG, "DAC channel error"); portENTER_CRITICAL(&rtc_spinlock); dac_hal_power_down(channel); @@ -79,7 +73,7 @@ esp_err_t dac_output_disable(dac_channel_t channel) esp_err_t dac_output_voltage(dac_channel_t channel, uint8_t dac_value) { - DAC_CHECK(channel < DAC_CHANNEL_MAX, "DAC channel error", ESP_ERR_INVALID_ARG); + ESP_RETURN_ON_FALSE(channel < DAC_CHANNEL_MAX, ESP_ERR_INVALID_ARG, TAG, "DAC channel error"); portENTER_CRITICAL(&rtc_spinlock); dac_hal_update_output_value(channel, dac_value); @@ -90,7 +84,7 @@ esp_err_t dac_output_voltage(dac_channel_t channel, uint8_t dac_value) esp_err_t dac_out_voltage(dac_channel_t channel, uint8_t dac_value) { - DAC_CHECK(channel < DAC_CHANNEL_MAX, "DAC channel error", ESP_ERR_INVALID_ARG); + ESP_RETURN_ON_FALSE(channel < DAC_CHANNEL_MAX, ESP_ERR_INVALID_ARG, TAG, "DAC channel error"); portENTER_CRITICAL(&rtc_spinlock); dac_hal_update_output_value(channel, dac_value); @@ -119,7 +113,7 @@ esp_err_t dac_cw_generator_disable(void) esp_err_t dac_cw_generator_config(dac_cw_config_t *cw) { - if (!cw) return ESP_ERR_INVALID_ARG; + ESP_RETURN_ON_FALSE(cw, ESP_ERR_INVALID_ARG, TAG, "invalid clock configuration"); portENTER_CRITICAL(&rtc_spinlock); dac_hal_cw_generator_config(cw); diff --git a/components/driver/esp32s2/dac.c b/components/driver/esp32s2/dac.c index 7a1d0d40c5..16f8742a90 100644 --- a/components/driver/esp32s2/dac.c +++ b/components/driver/esp32s2/dac.c @@ -8,6 +8,7 @@ #include #include "esp_log.h" #include "esp_err.h" +#include "esp_check.h" #include "esp_pm.h" #include "freertos/FreeRTOS.h" #include "freertos/semphr.h" @@ -17,14 +18,7 @@ #include "soc/dac_periph.h" #include "hal/dac_hal.h" -static const char *DAC_TAG = "DAC"; - -#define DAC_CHECK(a, str, ret_val) ({ \ - if (!(a)) { \ - ESP_LOGE(DAC_TAG,"%s(%d): %s", __FUNCTION__, __LINE__, str); \ - return (ret_val); \ - } \ -}) +static const char *TAG = "DAC"; extern portMUX_TYPE rtc_spinlock; //TODO: Will be placed in the appropriate position after the rtc module is finished. #define DAC_ENTER_CRITICAL() portENTER_CRITICAL(&rtc_spinlock) @@ -64,11 +58,11 @@ esp_err_t dac_digi_deinit(void) esp_err_t dac_digi_controller_config(const dac_digi_config_t *cfg) { - DAC_CHECK(cfg->mode < DAC_CONV_MAX, "DAC mode error", ESP_ERR_INVALID_ARG); - DAC_CHECK(cfg->interval > 0 && cfg->interval < 4096, "DAC interval error", ESP_ERR_INVALID_ARG); - DAC_CHECK(cfg->dig_clk.div_num < 256, "DAC clk div_num error", ESP_ERR_INVALID_ARG); - DAC_CHECK(cfg->dig_clk.div_b > 0 && cfg->dig_clk.div_b < 64, "DAC clk div_b error", ESP_ERR_INVALID_ARG); - DAC_CHECK(cfg->dig_clk.div_a < 64, "DAC clk div_a error", ESP_ERR_INVALID_ARG); + ESP_RETURN_ON_FALSE(cfg->mode < DAC_CONV_MAX, ESP_ERR_INVALID_ARG, TAG, "DAC mode error"); + ESP_RETURN_ON_FALSE(cfg->interval > 0 && cfg->interval < 4096, ESP_ERR_INVALID_ARG, TAG, "DAC interval error"); + ESP_RETURN_ON_FALSE(cfg->dig_clk.div_num < 256, ESP_ERR_INVALID_ARG, TAG, "DAC clk div_num error"); + ESP_RETURN_ON_FALSE(cfg->dig_clk.div_b > 0 && cfg->dig_clk.div_b < 64, ESP_ERR_INVALID_ARG, TAG, "DAC clk div_b error"); + ESP_RETURN_ON_FALSE(cfg->dig_clk.div_a < 64, ESP_ERR_INVALID_ARG, TAG, "DAC clk div_a error"); #ifdef CONFIG_PM_ENABLE esp_err_t err; if (s_dac_digi_lock == NULL) { @@ -79,7 +73,7 @@ esp_err_t dac_digi_controller_config(const dac_digi_config_t *cfg) } if (err != ESP_OK) { s_dac_digi_lock = NULL; - ESP_LOGE(DAC_TAG, "DAC-DMA pm lock error"); + ESP_LOGE(TAG, "DAC-DMA pm lock error"); return err; } } @@ -95,7 +89,7 @@ esp_err_t dac_digi_controller_config(const dac_digi_config_t *cfg) esp_err_t dac_digi_start(void) { #ifdef CONFIG_PM_ENABLE - DAC_CHECK((s_dac_digi_lock), "Should start after call `dac_digi_controller_config`", ESP_FAIL); + ESP_RETURN_ON_FALSE(s_dac_digi_lock, ESP_FAIL, TAG, "Should start after call `dac_digi_controller_config`"); esp_pm_lock_acquire(s_dac_digi_lock); #endif DAC_ENTER_CRITICAL(); diff --git a/components/driver/gpio.c b/components/driver/gpio.c index f749c77a34..db27ab45ab 100644 --- a/components/driver/gpio.c +++ b/components/driver/gpio.c @@ -18,15 +18,12 @@ #include "soc/soc_caps.h" #include "soc/gpio_periph.h" #include "esp_log.h" +#include "esp_check.h" #include "hal/gpio_hal.h" #include "esp_rom_gpio.h" static const char *GPIO_TAG = "gpio"; -#define GPIO_CHECK(a, str, ret_val) \ - if (!(a)) { \ - ESP_LOGE(GPIO_TAG,"%s(%d): %s", __FUNCTION__, __LINE__, str); \ - return (ret_val); \ - } +#define GPIO_CHECK(a, str, ret_val) ESP_RETURN_ON_FALSE(a, ret_val, GPIO_TAG, "%s", str) #define GPIO_ISR_CORE_ID_UNINIT (3) diff --git a/components/driver/ledc.c b/components/driver/ledc.c index ef0535b89d..6d82554795 100644 --- a/components/driver/ledc.c +++ b/components/driver/ledc.c @@ -22,8 +22,8 @@ static const char* LEDC_TAG = "ledc"; -#define LEDC_CHECK(a, str, ret_val) ESP_RETURN_ON_FALSE(a, ret_val, LEDC_TAG, "%s", str); -#define LEDC_ARG_CHECK(a, param) ESP_RETURN_ON_FALSE(a, ESP_ERR_INVALID_ARG, LEDC_TAG, param " argument is invalid"); +#define LEDC_CHECK(a, str, ret_val) ESP_RETURN_ON_FALSE(a, ret_val, LEDC_TAG, "%s", str) +#define LEDC_ARG_CHECK(a, param) ESP_RETURN_ON_FALSE(a, ESP_ERR_INVALID_ARG, LEDC_TAG, param " argument is invalid") typedef struct { ledc_mode_t speed_mode; diff --git a/components/driver/pcnt.c b/components/driver/pcnt.c index 060ff30a9d..9c72378d99 100644 --- a/components/driver/pcnt.c +++ b/components/driver/pcnt.c @@ -5,6 +5,7 @@ */ #include "freertos/FreeRTOS.h" #include "esp_log.h" +#include "esp_check.h" #include "soc/soc_caps.h" #if SOC_PCNT_SUPPORTED #include "driver/periph_ctrl.h" @@ -32,11 +33,7 @@ static const char *TAG = "pcnt"; -#define PCNT_CHECK(a, str, ret_val) \ - if (!(a)) { \ - ESP_LOGE(TAG,"%s(%d): %s", __FUNCTION__, __LINE__, str); \ - return (ret_val); \ - } +#define PCNT_CHECK(a, str, ret_val) ESP_RETURN_ON_FALSE(a, ret_val, TAG, "%s", str) typedef struct { pcnt_hal_context_t hal; /*!< PCNT hal context*/ diff --git a/components/driver/sigmadelta.c b/components/driver/sigmadelta.c index 9d72c04f47..4e909a043f 100644 --- a/components/driver/sigmadelta.c +++ b/components/driver/sigmadelta.c @@ -5,6 +5,7 @@ */ #include "esp_log.h" +#include "esp_check.h" #include "esp_err.h" #include "driver/sigmadelta.h" #include "esp_heap_caps.h" @@ -14,10 +15,7 @@ static const char *TAG = "sigma-delta"; -#define SIGMADELTA_CHECK(a,str,ret_val) if(!(a)) { \ - ESP_LOGE(TAG,"%s(%d): %s", __FUNCTION__, __LINE__, str); \ - return (ret_val); \ - } +#define SIGMADELTA_CHECK(a,str,ret_val) ESP_RETURN_ON_FALSE(a, ret_val, TAG, "%s", str) typedef struct { sigmadelta_hal_context_t hal; /*!< SIGMADELTA hal context*/