@@ -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