Replies: 2 comments 6 replies
-
Err, core0 runs the WiFi driver and the USB driver. Idiling it for 100ms (1/10th of a second) probably will kill your network and your USB connection. Also, the code as written will idle core0 basically forever. Why are you idling the 1st core, anyway? There's almost no reason for user code to need this (only SDK-native flash erase/write operations, really). |
Beta Was this translation helpful? Give feedback.
-
I got it working now, without funny delays, by copying the buffer to a temporary one before doing the udp.write().
|
Beta Was this translation helpful? Give feedback.
-
Hi,
I am trying to collect data frem I2S on core1, and send it on using UDP on core0. It appears that using rp2040.IdleOtherCore(); causes problems on core0. I noticed this in my code and started testing simple programs to verify my theory that it wasn't a good idea to do idle core0 when using WIFI. Here is some simple test program where if I periodically idle core0, I have unexplained consequences. First, the /dev/ttyACM0 is not available on my host machine anymore. Second, I don't see udp data either. So if I do not comment out the rp2040. things in loop1 and all these terrible things happen. If I do, all is well. Is this expected behavior? It looks like I need to carefully think about how not to pause Core0.
Beta Was this translation helpful? Give feedback.
All reactions