CyberRadio / gr-cyberradio

MIT License
5 stars 4 forks source link

Udp fix #7

Closed jwmelto closed 2 years ago

jwmelto commented 2 years ago

This change is not backwards-compatible. It will break any existing code.

Key aspect of this change is to inherit from gr::block. Also the work function (now general_work) was updated based on a better understanding of the GNU Radio scheduler. Finally, removed the virtual inheritance from the interface class; this caused a very subtle bug and adds no practical value.

For sources that provide sequence numbers, this change detects dropped packets and inserts null samples to keep the data in alignment. Practically, this should almost never happen, if the kernel is properly tuned with sufficient buffer space. It has been observed near start-up; there may yet be an issue with initialization

I've also observed a reported (tagged) sample rate of 250(!). I don't know where that comes from, but it quickly switches back to a correct sample rate.

I noticed the files I modified don't have a proper copyright statement. You might want to update that?

I added the .clang-format file from GNU Radio, thinking it's reasonable to be consistent with that project. Only my modified files were re-formatted.

I've tested with the NDR-358, and the tags are on the proper packets.