@@ -126,7 +126,14 @@ bool ledcAttachChannel(uint8_t pin, uint32_t freq, uint8_t resolution, uint8_t c
126126 return false;
127127 }
128128 } else {
129- ledc_timer_config_t ledc_timer = {.speed_mode = group , .timer_num = timer , .duty_resolution = resolution , .freq_hz = freq , .clk_cfg = clock_source , .deconfigure = false};
129+ ledc_timer_config_t ledc_timer ;
130+ memset ((void * )& ledc_timer , 0 , sizeof (ledc_timer_config_t ));
131+ ledc_timer .speed_mode = group
132+ ledc_timer .timer_num = timer ;
133+ ledc_timer .duty_resolution = resolution ;
134+ ledc_timer .freq_hz = freq ;
135+ ledc_timer .clk_cfg = clock_source ;
136+
130137 if (ledc_timer_config (& ledc_timer ) != ESP_OK ) {
131138 log_e ("ledc setup failed!" );
132139 return false;
@@ -263,7 +270,13 @@ uint32_t ledcWriteTone(uint8_t pin, uint32_t freq) {
263270
264271 uint8_t group = (bus -> channel / 8 ), timer = ((bus -> channel / 2 ) % 4 );
265272
266- ledc_timer_config_t ledc_timer = {.speed_mode = group , .timer_num = timer , .duty_resolution = 10 , .freq_hz = freq , .clk_cfg = clock_source , .deconfigure = false};
273+ ledc_timer_config_t ledc_timer ;
274+ memset ((void * )& ledc_timer , 0 , sizeof (ledc_timer_config_t ));
275+ ledc_timer .speed_mode = group
276+ ledc_timer .timer_num = timer ;
277+ ledc_timer .duty_resolution = 10 ;
278+ ledc_timer .freq_hz = freq ;
279+ ledc_timer .clk_cfg = clock_source ;
267280
268281 if (ledc_timer_config (& ledc_timer ) != ESP_OK ) {
269282 log_e ("ledcWriteTone configuration failed!" );
@@ -314,7 +327,13 @@ uint32_t ledcChangeFrequency(uint8_t pin, uint32_t freq, uint8_t resolution) {
314327 }
315328 uint8_t group = (bus -> channel / 8 ), timer = ((bus -> channel / 2 ) % 4 );
316329
317- ledc_timer_config_t ledc_timer = {.speed_mode = group , .timer_num = timer , .duty_resolution = resolution , .freq_hz = freq , .clk_cfg = clock_source , .deconfigure = false};
330+ ledc_timer_config_t ledc_timer ;
331+ memset ((void * )& ledc_timer , 0 , sizeof (ledc_timer_config_t ));
332+ ledc_timer .speed_mode = group
333+ ledc_timer .timer_num = timer ;
334+ ledc_timer .duty_resolution = resolution ;
335+ ledc_timer .freq_hz = freq ;
336+ ledc_timer .clk_cfg = clock_source ;
318337
319338 if (ledc_timer_config (& ledc_timer ) != ESP_OK ) {
320339 log_e ("ledcChangeFrequency failed!" );
0 commit comments