heinbali01 wrote on Thursday, July 02, 2015:
On the page referred to by Richard you will also see this important user-provided function:
void vApplicationIPNetworkEventHook( eIPCallbackEvent_t eNetworkEvent )
static BaseType_t xTasksAlreadyCreated = pdFALSE;
/* Both eNetworkUp and eNetworkDown events can be processed here. */
if( eNetworkEvent == eNetworkUp )
/* Create the tasks that use the TCP/IP stack if they have not already
been created. */
if( xTasksAlreadyCreated == pdFALSE )
* For convenience, tasks that use FreeRTOS+TCP can be created here
* to ensure they are not created before the network is usable.
xTasksAlreadyCreated = pdTRUE;
xTasksAlreadyCreated has become true, you can start create and use sockets.
Of course, you can also make this a global variable and call it something like:
BaseType_t xIPNetworkIsReady = pdFALSE;