packets queued but not sent
Posted: Fri Jul 03, 2015 8:06 am
Hello everyone,
I've rewritten some firmware, and am struggling to send packets reliably. It feels like a queue must be involved somewhere, but I'm no expert!!
I send a packet out for each motor (for example), and if I pause for at least 5ms between these four packets, they are all received nicely.
If I send them without pausing, only the first is received by the CF. Yet they are being queued somewhere. For example.
Send M1 on; Send M2 on; Send M3 on; Send M4 on;
>observe one motor on.
Pause; Send M1 off;
>observe additional motor on
Pause; Send M2 off;
>observe third motor on
Pause; Send M3 off;
>observe last motor on
Pause; Send M4 off;
>observe first motor off
I don't fully understand where this queue is happening, or why a delay is prompting the radio to send packets. Notably the queue isn't just unloading itself slowly: the additional packets (with sufficient delay) are prompting the original ones to be sent.
I'm very new to thread management, so I expect anyone with insight into the radiodriver operations to be more clued in than me!
Thanks in advance
absol
I've rewritten some firmware, and am struggling to send packets reliably. It feels like a queue must be involved somewhere, but I'm no expert!!
I send a packet out for each motor (for example), and if I pause for at least 5ms between these four packets, they are all received nicely.
If I send them without pausing, only the first is received by the CF. Yet they are being queued somewhere. For example.
Send M1 on; Send M2 on; Send M3 on; Send M4 on;
>observe one motor on.
Pause; Send M1 off;
>observe additional motor on
Pause; Send M2 off;
>observe third motor on
Pause; Send M3 off;
>observe last motor on
Pause; Send M4 off;
>observe first motor off
I don't fully understand where this queue is happening, or why a delay is prompting the radio to send packets. Notably the queue isn't just unloading itself slowly: the additional packets (with sufficient delay) are prompting the original ones to be sent.
I'm very new to thread management, so I expect anyone with insight into the radiodriver operations to be more clued in than me!
Thanks in advance
absol