Implement L0 protocol version 2 - #31
Conversation
This version adds another field to the header to encode the time (in nanoseconds since the Unix epoch) of the very first FPGA sample (the one with fpga_count=0) at offset 8, just before "fpga_count". This increases the length of the header by 8 bytes and pushes back the offsets of all the subsequent fields.
|
Hi @dstndstn. I implemented the reader for the new L0 packet format (as implemented in kotekan/kotekan#823). Can you have a look over and let me know if this change makes sense to you? To make changing the code simpler, I added a constant for the length of the packet header (24 before, 32 now). I think I hunted down all the places in the source that hardcoded that value to index into the packets directly. There are still a few places in avx_kernels where it is used, in particular the three lines starting at line 346. Do you know what that snippet is doing? |
|
Hi Davor, |
|
I think the above commits are enough to set the frame0_nano field in the assembled_chunks from the intensity_packets, and I think I removed all the (much larger!) previous mechanism. There are corresponding branches in rf_pipelines and ch_frb_l1 that we should commit at the same time. |
This version adds another field to the header to encode the time (in
nanoseconds since the Unix epoch) of the very first FPGA sample (the one
with fpga_count=0) at offset 8, just before "fpga_count". This increases
the length of the header by 8 bytes and pushes back the offsets of all
the subsequent fields.