WiFi or TCP-IP Blocking high priority FreeRTOS tasks for over 10 seconds
Posted: Sun Aug 04, 2024 10:55 pm
I have an audio streaming client running on ESP32-C3 and I have optimized all the buffers and even have the IRAM optimizations for TCP-IP and WIFI in sdk_config. My problem is that when I put the internet radio receiver into a difficult wifi environment, I seem to completely lose control of it. I have a regularly updating task that VTaskDelays for 100 milliseconds and normally is fine, and with priority set to 23 which is the same priority as WiFi's free-RTOS priority. TCP-IP is only set at 18 which is a lower FreeRTOS priority.
Is there way to break into the wifi stack and to tell it to give up after 2 seconds of nothing? It is just completely blocking everything else at the moment, and I need some kind of timeout callback or any means of killing the existing TCP socket (which I normally do at the application layer) when it takes too long.
Is there way to break into the wifi stack and to tell it to give up after 2 seconds of nothing? It is just completely blocking everything else at the moment, and I need some kind of timeout callback or any means of killing the existing TCP socket (which I normally do at the application layer) when it takes too long.