Hello,
I am using lwip 2.0.2 RAW API + freertos 8.2.3
I am able to establish a connection and I can receive data
without any problems.
I would like to know what is the best way to send data outside
the lwip thread.
In my freertos task (outside lwip) I do following:
void SEND_TASK(void *pvParameters)
{
portTickType xLastWakeTime;
const portTickType xFrequency = SEND_CYCLE_TIME_MS; //100ms
xLastWakeTime = xTaskGetTickCount();
//------------------TASK-----------------------
for(;;)
{
tcpip_callback_with_block(WTF, tcp_active_pcbs, 0);
vTaskDelayUntil(&xLastWakeTime, xFrequency); //Pause
}
}
void WTF(void* arg)
{
struct tcp_pcb *pcb = (struct tcp_pcb*) arg;
char ucrecBuff[44] = {0x88};
pcb->flags |= (TF_NODELAY);
tcp_write(pcb, ucrecBuff, 44, TCP_WRITE_FLAG_COPY);
tcp_output(pcb);
}
Unfortunatelly I run into Assert function in tcpip_callback_with_block(.)
LWIP_ASSERT("Invalid mbox", sys_mbox_valid_val(mbox));
Does anybody know what I am doing wrong? I know that the RAW api is not for
Multithreading issues. But I am sure u know a way J
Is it legit to call tcpip_callback_with_block(..) outside the lwip thread?
What would be the proper architecture to send data? In the examples I only
saw
callback echo servers but I do not want to write data only after receiving
some J
I am looking forward to your help.
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users