Skip to content

Input() block lead to Internal watchdog timer expired when I2SOut object exist. #8041

Open
@StreakingJerry

Description

@StreakingJerry

CircuitPython version

Adafruit CircuitPython 8.1.0 on 2023-05-22; ESP32-S3-Box-Lite with ESP32S3

Code/REPL

import board
import audiobusio

audio = audiobusio.I2SOut(board.I2S_SCLK, board.I2S_LRCK, board.I2S_CODEC_DSDIN)

def breakpoint():
    while True:
        _dbg_input = input('> Input:\n')
        print('> Output:')
        if _dbg_input:
            try:
                exec(_dbg_input)
            except Exception as e: 
                print('> ERROR:', e)
        else:
            break

breakpoint()

Behavior

When there is no tinyuf2 exist (firmware flashed from bin with esptool), if you don't input anything, just let the code pause at input(), The ESP32S3 will reset into safe mode within 5 minuates. The reason is Internal watchdog timer expired.

If there is a tinyuf2 exist, it will reset into tinyuf2 bootloader. My project is unattend so unfortunately I have to go there to reset it manually. Because I can not trigger a hard reset from the serial port. (I plug it on the resperberry pi).

If you remove the I2SOut() object, everything will be ok, no matter how long you stay in the input() function.

Description

No response

Additional information

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions