I created a Queue with one item, and the item size is 2048 bytes.
I use this queue to pass commands or data to a 3G module.
the maximum size that a command can reach is about 256 bytes but for data can reach 2048.
I was wondering if I send 15 bytes in the queue will the xQueueSend() copy 2048 bytes or just 15 bytes ? and the same question for xQueueReceive() ?
Another question is from what I understand and in ordre to use queue. I have to copy the source buffer into the queue when sending, and copy the same data again when receiving the queue.
Basically I’ll have to use three times 2048 bytes : to pass data from the source buffer in the sending task to the queue and finally to recieve it in the receiving task. It it possible to use only the queue array that i reserved when creating the queue ?
I’m aware of passing pointers rather then actual data, (queue will be :2048 item, sizeof(item) = char) but that require to use global buffer and i’m trying to avoid global variable as much as possible.
any better ideas or help will be much appreciated