Skip to content

Commit d0d1017

Browse files
committed
fix logic in pwmout_reset()
1 parent 5a053f9 commit d0d1017

File tree

2 files changed

+4
-12
lines changed
  • ports/espressif

2 files changed

+4
-12
lines changed

ports/espressif/boards/adafruit_feather_esp32s3_tft/board.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,6 @@ uint8_t display_init_sequence[] = {
7171

7272

7373
void board_init(void) {
74-
// THIS SHOULD BE HANDLED BY espressif_board_reset_pin_number(), but it is not working.
75-
// TEMPORARY FIX UNTIL IT'S DIAGNOSED.
76-
common_hal_never_reset_pin(&pin_GPIO21);
77-
gpio_set_direction(21, GPIO_MODE_DEF_OUTPUT);
78-
gpio_set_level(21, true);
79-
8074
busio_spi_obj_t *spi = common_hal_board_create_spi(0);
8175
displayio_fourwire_obj_t *bus = &displays[0].fourwire_bus;
8276
bus->base.type = &displayio_fourwire_type;
@@ -95,7 +89,9 @@ void board_init(void) {
9589
display->base.type = &displayio_display_type;
9690

9791
// workaround as board_init() is called before reset_port() in main.c
92+
#if CIRCUITPY_PWMIO
9893
pwmout_reset();
94+
#endif
9995

10096
common_hal_displayio_display_construct(
10197
display,

ports/espressif/common-hal/pwmio/PWMOut.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,14 @@ STATIC uint32_t calculate_duty_cycle(uint32_t frequency) {
5555

5656
void pwmout_reset(void) {
5757
for (size_t i = 0; i < LEDC_CHANNEL_MAX; i++) {
58-
if (reserved_channels[i] != INDEX_EMPTY) {
58+
if (reserved_channels[i] != INDEX_EMPTY && !never_reset_chan[i]) {
5959
ledc_stop(LEDC_LOW_SPEED_MODE, i, 0);
60-
}
61-
if (!never_reset_chan[i]) {
6260
reserved_channels[i] = INDEX_EMPTY;
6361
}
6462
}
6563
for (size_t i = 0; i < LEDC_TIMER_MAX; i++) {
66-
if (reserved_timer_freq[i]) {
64+
if (reserved_timer_freq[i] && !never_reset_tim[i]) {
6765
ledc_timer_rst(LEDC_LOW_SPEED_MODE, i);
68-
}
69-
if (!never_reset_tim[i]) {
7066
reserved_timer_freq[i] = 0;
7167
varfreq_timers[i] = false;
7268
}

0 commit comments

Comments
 (0)