-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
contents of the buffer #19
Comments
The size of the data from the PIO is indicated as 0xffffffff-actual size (it counts down from 0xffffffff) and the data is limited to 31 bits. So, highest bit can be used to distinguish size (end of packet) from the data bits. The only time PIO0 can push 0xffffffff is when the actual size is 0, and that only happens in the case of a line reset (D+=low, D-=low), which appears as a valid start of packet marker, but then does not have synchronization field. But 0xffffffff is never pushed as an additional data, it is always pushed as a length part. |
So for each data sample, g.buffer is filled only with 3 elements: size,
time, data itself.
در تاریخ یکشنبه ۸ سپتامبر ۲۰۲۴، ۱۸:۵۳ Alex Taradov <
***@***.***> نوشت:
… The size of the data from the PIO is indicated as 0xffffffff-actual size
(it counts down from 0xffffffff) and the data is limited to 31 bits. So,
highest bit can be used to distinguish size (end of packet) from the data
bits.
The only time PIO0 can push 0xffffffff is when the actual size is 0, and
that only happens in the case of a line reset (D+=low, D-=low), which
appears as a valid start of packet marker, but then does not have
synchronization field.
But 0xffffffff is never pushed as an additional data, it is always pushed
as a length part.
—
Reply to this email directly, view it on GitHub
<#19 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A2VUWY7YRITJFSGWIIOND5LZVRTYLAVCNFSM6AAAAABN3AZVACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZWG4ZDKMBXHE>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Correct. You get data + size from the PIO itself and the time is added in the loop after the last element is read from the PIO. |
hello. As I see, the pio0 for each 32-bit sampled data fills the buffer by two values: the size of the sampled data and the sampled 32-bit data itself. then you add the end time of sampling that data as the third element. thus for each 32 data sampling, the buffer is filled by 3 elements in a row. but sometimes pio0 pushes out another element as a fourth value which is 0xFFFFFFFF.
so, what is this value and what does it mean? is it a flag for the end of the frame?
The text was updated successfully, but these errors were encountered: