@@ -126,7 +126,14 @@ bool ledcAttachChannel(uint8_t pin, uint32_t freq, uint8_t resolution, uint8_t c
126
126
return false;
127
127
}
128
128
} 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
+
130
137
if (ledc_timer_config (& ledc_timer ) != ESP_OK ) {
131
138
log_e ("ledc setup failed!" );
132
139
return false;
@@ -263,7 +270,13 @@ uint32_t ledcWriteTone(uint8_t pin, uint32_t freq) {
263
270
264
271
uint8_t group = (bus -> channel / 8 ), timer = ((bus -> channel / 2 ) % 4 );
265
272
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 ;
267
280
268
281
if (ledc_timer_config (& ledc_timer ) != ESP_OK ) {
269
282
log_e ("ledcWriteTone configuration failed!" );
@@ -314,7 +327,13 @@ uint32_t ledcChangeFrequency(uint8_t pin, uint32_t freq, uint8_t resolution) {
314
327
}
315
328
uint8_t group = (bus -> channel / 8 ), timer = ((bus -> channel / 2 ) % 4 );
316
329
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 ;
318
337
319
338
if (ledc_timer_config (& ledc_timer ) != ESP_OK ) {
320
339
log_e ("ledcChangeFrequency failed!" );
0 commit comments