I have a test program that sends data from an End Device to a Coordinator.
It checks CTS and if low, it sends 8 bytes. It just loops doing this.
I can see CTS going up and down to flow control the program as expected.
At the Coordinator however, after the second flow control event, I start loosing a few bytes.
So this is what the End Device is sending: 'test' followed by a sequential number.
At test221 CTS is asserted and it stops sending. It starts again after CTS goes low again.
This happens again at test230
test214
test215
test216
test217
test218
test219
test220
test221
STOP SENDING
START SENDINGtest222
test223
test224
test225
test226
test227
test228
test229
test230
STOP SENDING
START SENDINGtest231
test232
test233
test234
test235
test236
test237
test238
test239
test240
STOP SENDING
START SENDINGtest241
test242
test243
test244
test245
test246
test247
test248
test249
test250
test251
STOP SENDING
START SENDINGtest252
test253
test254
test255
At the Coordinator I get this:
Lost data at test225 and test235
test200
test201
test202
test203
test204
test205
test206
test207
test208
test209
test210
test211
test212
test213
test214
test215
test216
test217
test218
test219
test220
test221
test222
test223
test224
testst226
test227
test228
test229
test230
test231
test232
test233
test234
test26
test237
test238
test239
test240
test241
test242
test243
test244
test245
t247
test248
test249
test250
test251
test252
test253
test254
test255
CTS is supposed to go high when there are 17 bytes left in the buffer. So even if it goes high mid way between sending "test123" there should be plenty of space left.
Is this a packetization issue and not a flow control problem?
RTS is disabled so packets are supposed to be re-assembled.