Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 51023ae

Browse filesBrowse files
feat(ledc): clear all fields added to ledc struct in IDF 5.4 (#11276)
* feat(ledc): clear all fields added to ledc struct in IDF 5.4 * feat(ledc): use memset for all ledc struct * fix(ledc): typo - missing semi collon * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
1 parent c110ca8 commit 51023ae
Copy full SHA for 51023ae

File tree

1 file changed

+32
-6
lines changed
Filter options

1 file changed

+32
-6
lines changed

‎cores/esp32/esp32-hal-ledc.c

Copy file name to clipboardExpand all lines: cores/esp32/esp32-hal-ledc.c
+32-6Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -126,17 +126,31 @@ 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};
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;
133140
}
134141

135142
uint32_t duty = ledc_get_duty(group, (channel % 8));
136143

137-
ledc_channel_config_t ledc_channel = {
138-
.speed_mode = group, .channel = (channel % 8), .timer_sel = timer, .intr_type = LEDC_INTR_DISABLE, .gpio_num = pin, .duty = duty, .hpoint = 0
139-
};
144+
ledc_channel_config_t ledc_channel;
145+
memset((void *)&ledc_channel, 0, sizeof(ledc_channel_config_t));
146+
ledc_channel.speed_mode = group;
147+
ledc_channel.channel = (channel % 8);
148+
ledc_channel.timer_sel = timer;
149+
ledc_channel.intr_type = LEDC_INTR_DISABLE;
150+
ledc_channel.gpio_num = pin;
151+
ledc_channel.duty = duty;
152+
ledc_channel.hpoint = 0;
153+
140154
ledc_channel_config(&ledc_channel);
141155
}
142156

@@ -256,7 +270,13 @@ uint32_t ledcWriteTone(uint8_t pin, uint32_t freq) {
256270

257271
uint8_t group = (bus->channel / 8), timer = ((bus->channel / 2) % 4);
258272

259-
ledc_timer_config_t ledc_timer = {.speed_mode = group, .timer_num = timer, .duty_resolution = 10, .freq_hz = freq, .clk_cfg = clock_source};
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;
260280

261281
if (ledc_timer_config(&ledc_timer) != ESP_OK) {
262282
log_e("ledcWriteTone configuration failed!");
@@ -307,7 +327,13 @@ uint32_t ledcChangeFrequency(uint8_t pin, uint32_t freq, uint8_t resolution) {
307327
}
308328
uint8_t group = (bus->channel / 8), timer = ((bus->channel / 2) % 4);
309329

310-
ledc_timer_config_t ledc_timer = {.speed_mode = group, .timer_num = timer, .duty_resolution = resolution, .freq_hz = freq, .clk_cfg = clock_source};
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;
311337

312338
if (ledc_timer_config(&ledc_timer) != ESP_OK) {
313339
log_e("ledcChangeFrequency failed!");

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.