g4klx / MMDVM

The firmware for the MMDVM (Multi-Mode Digital Voice Modem)
GNU General Public License v2.0
473 stars 188 forks source link

Detect full 48 bits of last data frame in a D-Star transmission #306

Closed timclassic closed 3 years ago

timclassic commented 3 years ago

While testing new support for DV Fast Data in https://github.com/g4klx/MMDVMHost/pull/667, I ran across a particular image that reliably generated a bit sequence that the MDMVM firmware interpreted as an end-of-transmission. I dug a bit and discovered that MMDVM only matches on 32 bits of the last data frame instead of the full 48 bits.

(I referenced http://www.arrl.org/files/file/D-STAR.pdf section 2.1.2, item (6))

I'm not convinced that this implementation is the best version of this change, but it does work for me. I tested this patch on both a ZUMSpot (by making the same change against https://github.com/juribeparada/MMDVM_HS) and a Raspberry Pi with a ZUM Radio MMDVM-Pi rev 1.0 board, and the test image no longer generated an early EOT on either system.

g4klx commented 3 years ago

That's excellent work. What I will do is merge this pull request and then modify the code and use only one 64-bit wide bit buffer rather than having two. This should be a transparent change and simplifies the code slightly.

timclassic commented 3 years ago

That sounds great!

timclassic commented 3 years ago

@g4klx @juribeparada How do you normally share changes between MMDVM and MMDVM_HS? Should I prepare a PR for https://github.com/juribeparada/MMDVM_HS that includes this change and https://github.com/g4klx/MMDVM/commit/9440b4311468bc34d6c33195dccafdf325e5a347? Or is there some other process that will pick this up?

g4klx commented 3 years ago

Andy’s repository is the definitive location for the hotspot firmware. I have a copy of it on my GitHub but ultimately his is the master copy. It would be best to include my code simplification as the CPU on a hotspot is relatively small compared to the modem one.

Jonathan G4KLX 

Sent from Yahoo Mail for iPhone

On Tuesday, December 15, 2020, 01:24, Tim Stewart notifications@github.com wrote:

@g4klx @juribeparada How do you normally share changes between MMDVM and MMDVM_HS? Should I prepare a PR for https://github.com/juribeparada/MMDVM_HS that includes this change and 9440b43? Or is there some other process that will pick this up?

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub, or unsubscribe.