You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Got another weird one. I've got a plain old Pico. Using master branch, PlatformIO. I'm running into an odd issue where, if my code uses PIO (in my case, for RGB LEDs), I used both FastLED and Adafruit_Neopixel with the same issue - then, if VBUS / the USB port isn't connected to anything, both cores pause and won't execute code. It trips watchdog, but pauses again (probably when PIO is allocated again at the beginning of the code?).
I power my pico at VSYS with a 3.3v supply, and I have a transistor as descibed in the pico manual to switch to USB power to avoid dumping 5v on my 3v3 supply. I've got USB connected for serial output - not necessary for this code, just helpful for debugging - and when I unplug it, it pauses as above. If I short between VSYS and VBUS with my multimeter probe, the pico resumes. If I reconnect USB to any power source, the pico resumes.
The code is not hanging on serial; I removed all Serial.print() and Serial.begin(), same issue, and I never read from serial, it's only writing debug text.
My code never uses GPIO24 (VBUS detect). The issue goes away when I comment out all FastLED or Adafruit Neopixel code - even if it's not doing anything, just initialized (completely empty loops except for blinking onboard LED for confirming the issue), the pico pauses. the main thing in common between fastled and adafruit_neopixel is using pio to send the custom spi-like 800khz data to led strips. probably some DMA & irq stuff in there too, not sure. but even if it never ever writes to the I/o, just initializing the pio & memory, the issue occurs.
Tried with TinyUSB, same issue.
Oh, and with SWD debugging, it either doesn't pause at all and works fine, or seems to bounce around CoreMutex::~CoreMutex() {} function, void idleOtherCore() {}, or random bits of my code for a bit, and then just spams the error Info : The target is not running when halt was requested, stopping GDB. for all eternity. (crash?)
It never crashes without SWD debugging, it always resumes immediately when the USB cable is plugged in / VSYS + VBUS shorted, even if it's been several minutes.
Thanks, hopefully can figure out what the hell is happening,
Cole
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi,
Got another weird one. I've got a plain old Pico. Using master branch, PlatformIO. I'm running into an odd issue where, if my code uses PIO (in my case, for RGB LEDs), I used both FastLED and Adafruit_Neopixel with the same issue - then, if VBUS / the USB port isn't connected to anything, both cores pause and won't execute code. It trips watchdog, but pauses again (probably when PIO is allocated again at the beginning of the code?).
I power my pico at VSYS with a 3.3v supply, and I have a transistor as descibed in the pico manual to switch to USB power to avoid dumping 5v on my 3v3 supply. I've got USB connected for serial output - not necessary for this code, just helpful for debugging - and when I unplug it, it pauses as above. If I short between VSYS and VBUS with my multimeter probe, the pico resumes. If I reconnect USB to any power source, the pico resumes.
The code is not hanging on serial; I removed all Serial.print() and Serial.begin(), same issue, and I never read from serial, it's only writing debug text.
My code never uses GPIO24 (VBUS detect). The issue goes away when I comment out all FastLED or Adafruit Neopixel code - even if it's not doing anything, just initialized (completely empty loops except for blinking onboard LED for confirming the issue), the pico pauses. the main thing in common between fastled and adafruit_neopixel is using pio to send the custom spi-like 800khz data to led strips. probably some DMA & irq stuff in there too, not sure. but even if it never ever writes to the I/o, just initializing the pio & memory, the issue occurs.
Tried with TinyUSB, same issue.
Oh, and with SWD debugging, it either doesn't pause at all and works fine, or seems to bounce around CoreMutex::~CoreMutex() {} function, void idleOtherCore() {}, or random bits of my code for a bit, and then just spams the error
Info : The target is not running when halt was requested, stopping GDB.
for all eternity. (crash?)It never crashes without SWD debugging, it always resumes immediately when the USB cable is plugged in / VSYS + VBUS shorted, even if it's been several minutes.
Thanks, hopefully can figure out what the hell is happening,
Cole
Beta Was this translation helpful? Give feedback.
All reactions