mirror of
https://github.com/espressif/esp-idf.git
synced 2026-08-18 06:35:35 +03:00
Merge branch 'feature/rmt_encoder_memory_allocator' into 'master'
feat(rmt): added a help function for allocating encoder memory Closes IDFGH-11954 See merge request espressif/esp-idf!28667
This commit is contained in:
@@ -111,7 +111,7 @@ esp_err_t rmt_new_dshot_esc_encoder(const dshot_esc_encoder_config_t *config, rm
|
||||
esp_err_t ret = ESP_OK;
|
||||
rmt_dshot_esc_encoder_t *dshot_encoder = NULL;
|
||||
ESP_GOTO_ON_FALSE(config && ret_encoder, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument");
|
||||
dshot_encoder = calloc(1, sizeof(rmt_dshot_esc_encoder_t));
|
||||
dshot_encoder = rmt_alloc_encoder_mem(sizeof(rmt_dshot_esc_encoder_t));
|
||||
ESP_GOTO_ON_FALSE(dshot_encoder, ESP_ERR_NO_MEM, err, TAG, "no mem for musical score encoder");
|
||||
dshot_encoder->base.encode = rmt_encode_dshot_esc;
|
||||
dshot_encoder->base.del = rmt_del_dshot_encoder;
|
||||
|
||||
@@ -99,7 +99,7 @@ esp_err_t rmt_new_ir_nec_encoder(const ir_nec_encoder_config_t *config, rmt_enco
|
||||
esp_err_t ret = ESP_OK;
|
||||
rmt_ir_nec_encoder_t *nec_encoder = NULL;
|
||||
ESP_GOTO_ON_FALSE(config && ret_encoder, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument");
|
||||
nec_encoder = calloc(1, sizeof(rmt_ir_nec_encoder_t));
|
||||
nec_encoder = rmt_alloc_encoder_mem(sizeof(rmt_ir_nec_encoder_t));
|
||||
ESP_GOTO_ON_FALSE(nec_encoder, ESP_ERR_NO_MEM, err, TAG, "no mem for ir nec encoder");
|
||||
nec_encoder->base.encode = rmt_encode_ir_nec;
|
||||
nec_encoder->base.del = rmt_del_ir_nec_encoder;
|
||||
|
||||
@@ -76,7 +76,7 @@ esp_err_t rmt_new_led_strip_encoder(const led_strip_encoder_config_t *config, rm
|
||||
esp_err_t ret = ESP_OK;
|
||||
rmt_led_strip_encoder_t *led_encoder = NULL;
|
||||
ESP_GOTO_ON_FALSE(config && ret_encoder, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument");
|
||||
led_encoder = calloc(1, sizeof(rmt_led_strip_encoder_t));
|
||||
led_encoder = rmt_alloc_encoder_mem(sizeof(rmt_led_strip_encoder_t));
|
||||
ESP_GOTO_ON_FALSE(led_encoder, ESP_ERR_NO_MEM, err, TAG, "no mem for led strip encoder");
|
||||
led_encoder->base.encode = rmt_encode_led_strip;
|
||||
led_encoder->base.del = rmt_del_led_strip_encoder;
|
||||
|
||||
@@ -53,7 +53,7 @@ esp_err_t rmt_new_musical_score_encoder(const musical_score_encoder_config_t *co
|
||||
esp_err_t ret = ESP_OK;
|
||||
rmt_musical_score_encoder_t *score_encoder = NULL;
|
||||
ESP_GOTO_ON_FALSE(config && ret_encoder, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument");
|
||||
score_encoder = calloc(1, sizeof(rmt_musical_score_encoder_t));
|
||||
score_encoder = rmt_alloc_encoder_mem(sizeof(rmt_musical_score_encoder_t));
|
||||
ESP_GOTO_ON_FALSE(score_encoder, ESP_ERR_NO_MEM, err, TAG, "no mem for musical score encoder");
|
||||
score_encoder->base.encode = rmt_encode_musical_score;
|
||||
score_encoder->base.del = rmt_del_musical_score_encoder;
|
||||
|
||||
@@ -69,7 +69,7 @@ esp_err_t rmt_new_stepper_motor_curve_encoder(const stepper_motor_curve_encoder_
|
||||
ESP_GOTO_ON_FALSE(config && ret_encoder, ESP_ERR_INVALID_ARG, err, TAG, "invalid arguments");
|
||||
ESP_GOTO_ON_FALSE(config->sample_points, ESP_ERR_INVALID_ARG, err, TAG, "sample points number can't be zero");
|
||||
ESP_GOTO_ON_FALSE(config->start_freq_hz != config->end_freq_hz, ESP_ERR_INVALID_ARG, err, TAG, "start freq can't equal to end freq");
|
||||
step_encoder = calloc(1, sizeof(rmt_stepper_curve_encoder_t) + config->sample_points * sizeof(rmt_symbol_word_t));
|
||||
step_encoder = rmt_alloc_encoder_mem(sizeof(rmt_stepper_curve_encoder_t) + config->sample_points * sizeof(rmt_symbol_word_t));
|
||||
ESP_GOTO_ON_FALSE(step_encoder, ESP_ERR_NO_MEM, err, TAG, "no mem for stepper curve encoder");
|
||||
rmt_copy_encoder_config_t copy_encoder_config = {};
|
||||
ESP_GOTO_ON_ERROR(rmt_new_copy_encoder(©_encoder_config, &step_encoder->copy_encoder), err, TAG, "create copy encoder failed");
|
||||
@@ -161,7 +161,7 @@ esp_err_t rmt_new_stepper_motor_uniform_encoder(const stepper_motor_uniform_enco
|
||||
esp_err_t ret = ESP_OK;
|
||||
rmt_stepper_uniform_encoder_t *step_encoder = NULL;
|
||||
ESP_GOTO_ON_FALSE(config && ret_encoder, ESP_ERR_INVALID_ARG, err, TAG, "invalid arguments");
|
||||
step_encoder = calloc(1, sizeof(rmt_stepper_uniform_encoder_t));
|
||||
step_encoder = rmt_alloc_encoder_mem(sizeof(rmt_stepper_uniform_encoder_t));
|
||||
ESP_GOTO_ON_FALSE(step_encoder, ESP_ERR_NO_MEM, err, TAG, "no mem for stepper uniform encoder");
|
||||
rmt_copy_encoder_config_t copy_encoder_config = {};
|
||||
ESP_GOTO_ON_ERROR(rmt_new_copy_encoder(©_encoder_config, &step_encoder->copy_encoder), err, TAG, "create copy encoder failed");
|
||||
|
||||
Reference in New Issue
Block a user