Skip to content

Commit a30f392

Browse files
authored
feat(ledc): use memset for all ledc struct
1 parent 7cfa399 commit a30f392

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

cores/esp32/esp32-hal-ledc.c

+22-3
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)