Skip to content

Commit 9de4a89

Browse files
authored
fix(rmt): memset all config structs to zero
1 parent fbca62f commit 9de4a89

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

Diff for: cores/esp32/esp32-hal-rmt.c

+9-3
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,8 @@ bool rmtSetCarrier(int pin, bool carrier_en, bool carrier_level, uint32_t freque
206206
log_w("GPIO %d - RMT Carrier must be a float percentage from 0 to 1. Setting to 50%.", pin);
207207
duty_percent = 0.5;
208208
}
209-
rmt_carrier_config_t carrier_cfg = {0};
209+
rmt_carrier_config_t carrier_cfg;
210+
memset((void *) &carrier_cfg, 0, sizeof(rmt_carrier_config_t));
210211
carrier_cfg.duty_cycle = duty_percent; // duty cycle
211212
carrier_cfg.frequency_hz = carrier_en ? frequency_Hz : 0; // carrier frequency in Hz
212213
carrier_cfg.flags.polarity_active_low = carrier_level; // carrier modulation polarity level
@@ -313,7 +314,8 @@ static bool _rmtWrite(int pin, rmt_data_t *data, size_t num_rmt_symbols, bool bl
313314
return false;
314315
}
315316

316-
rmt_transmit_config_t transmit_cfg = {0}; // loop mode disabled
317+
rmt_transmit_config_t transmit_cfg; // loop mode disabled
318+
memset((void *) &transmit_cfg, 0, sizeof(rmt_transmit_config_t));
317319
bool retCode = true;
318320

319321
RMT_MUTEX_LOCK(bus);
@@ -380,6 +382,7 @@ static bool _rmtRead(int pin, rmt_data_t *data, size_t *num_rmt_symbols, bool wa
380382

381383
// request reading RMT Channel Data
382384
rmt_receive_config_t receive_config;
385+
memset((void *) &receive_config, 0, sizeof(rmt_receive_config_t));
383386
receive_config.signal_range_min_ns = bus->signal_range_min_ns;
384387
receive_config.signal_range_max_ns = bus->signal_range_max_ns;
385388

@@ -530,6 +533,7 @@ bool rmtInit(int pin, rmt_ch_dir_t channel_direction, rmt_reserve_memsize_t mem_
530533
if (channel_direction == RMT_TX_MODE) {
531534
// TX Channel
532535
rmt_tx_channel_config_t tx_cfg;
536+
memset((void *) &tx_cfg, 0, sizeof(rmt_tx_channel_config_t));
533537
tx_cfg.gpio_num = pin;
534538
// CLK_APB for ESP32|S2|S3|C3 -- CLK_PLL_F80M for C6 -- CLK_XTAL for H2
535539
tx_cfg.clk_src = RMT_CLK_SRC_DEFAULT;
@@ -559,6 +563,7 @@ bool rmtInit(int pin, rmt_ch_dir_t channel_direction, rmt_reserve_memsize_t mem_
559563
} else {
560564
// RX Channel
561565
rmt_rx_channel_config_t rx_cfg;
566+
memset((void *) &rx_cfg, 0, sizeof(rmt_rx_channel_config_t));
562567
rx_cfg.gpio_num = pin;
563568
// CLK_APB for ESP32|S2|S3|C3 -- CLK_PLL_F80M for C6 -- CLK_XTAL for H2
564569
rx_cfg.clk_src = RMT_CLK_SRC_DEFAULT;
@@ -585,7 +590,8 @@ bool rmtInit(int pin, rmt_ch_dir_t channel_direction, rmt_reserve_memsize_t mem_
585590
}
586591

587592
// allocate memory for the RMT Copy encoder
588-
rmt_copy_encoder_config_t copy_encoder_config = {};
593+
rmt_copy_encoder_config_t copy_encoder_config;
594+
memset((void *) &copy_encoder_config, 0, sizeof(rmt_copy_encoder_config_t));
589595
if (rmt_new_copy_encoder(&copy_encoder_config, &bus->rmt_copy_encoder_h) != ESP_OK) {
590596
log_e("GPIO %d - RMT Encoder Memory Allocation error.", pin);
591597
goto Err;

0 commit comments

Comments
 (0)