My apologies, but no intention to correct you ( it would be too pretentious of me )
To my understanding, I see the opposite of what you say … I would say:
"You will see [B]8 compressed[/B] EEG packets [B]after[/B] every [B]1 uncompressed[/B] packet"
and therefore I do not see any necessary rounding, but only not complete compressed packets read (or recorded) at the end.
In my diagram flow for my developments based on the MCP I have used the following line of reasoning:
(I’m doing it for the Arduino, so, very limited C++ resources, but it’s working at a rate around 7400-8200 bps, exactly like Muse-io)
Just after start I have to wait for a synchronization packet (FF FF AA 55)
The MCP documentation on the sync packet says:
[B]“This is a legacy packet and is really not needed by the protocol, but for now it remains in the firmware of it it harmless”[/B]
but, how could I get to start without some kind of initial mark?
only after that mark I can start parsing the other packets, and from it, knowing the size in bytes for each type of header, proceed without errors.
And if a failure occurs during transmission?
in my flow I stop everything and wait for a new “sync packet” to restart … am I wrong?
Then wait for an uncompressed EEG packet (E0 or E8):
So this kind of packet must come before the 8 compressed EEG packets (and not after) because these compressed packets contains only differences (which need a baseline to be applied).
only then wait for 8 compressed packets (C0), to apply the differences, and then a new uncompressed packet, and so on …
So what happened to wymice was that he ended the recording after reading only 5 of the 8 expected final compressed packets. (and this is not an error, but expected, since one can stop recording anytime)
1 uncompressed packet -> 8 compressed packets
275 uncompressed packets -> 2200 compressed packets (275 * 8 = 2200)
- 1 uncompressed packet -> + 5 compressed packets (not recorded the last 3)
276 uncompressed packets + (2205 * 16) = 35556 total packets.
Sorry for this long writing (it’s not intended for advanced developers, but for beginers on development or on the MCP).
Thanks for any corrections or comments,