Serial com and external power supply
Port, board and/or hardware
rp2, raspberry pico
MicroPython version
MicroPython v1.24.1 on 2024-11-29; Raspberry Pi Pico with RP2040
Reproduction
- Start a code with serial printing such as:
import time
while True:
print(time.time())
time.sleep(0.1)
- Connect external power supply (+5V or 3V3)
- Disconnect usb
- Wait ~4 s
- Reconnect usb
Expected behaviour
When you reconnect USB, the board should be normally detected as CDC Serial device and printing.
Observed behaviour
When you reconnect USB the board is not detected anymore and it seems the program has been interrupted.
Additional Information
I suspect something like a buffer overflow on the serial output hardware is happening.
If the usb is reconnected quickly (in 1 second or so), the board is well detected.
Code of Conduct
Yes, I agree
rp2: Board does not enable USB after hard reset if an error is raised in boot.py.
Port, board and/or hardware
rp2, mimxrt, SAMD, but maybe other's as well
MicroPython version
MicroPython v1.24.0-preview.23.g8809ae716.dirty on 2024-07-16; Raspberry Pi Pico with RP2040
Reproduction
Just create a boot.py file, which raises an exception and push reset or do a power cycle. On Soft reset this problem does not occur. I used the following test script with the option to bypass the test:
from machine import Pin
p=Pin(2, Pin.IN, Pin.PULL_UP)
if p():
1/0
Expected behaviour
Just boot with an exception message and bypass main.py.
Observed behaviour
Board does not register USB and seems bricked. Uploading an older firmware including v1.23.0 helps.
Just a few interim commits:
Fails with commit 8809ae716 shared/tinyusb: Buffer startup CDC data to send to host on connection.
Runs with the previous commit d144f0699 lib/tinyusb: Update to the most recent master.
Additional Information
No, I've provided everything above.
@pi-anl
Code of Conduct
Yes, I agree