juribeparada / MMDVM_CM

Cross-mode conversion tools for MMDVM software
44 stars 55 forks source link

USRP2M17: M17 counter does not roll correctly on long transmission #72

Closed nivex closed 2 years ago

nivex commented 2 years ago

When passing voice from USRP to M17, the M17 frame counter will incorrectly exceed 0x7fff on long transmissions, causing receivers to perceive a flood of EOT frames.

The simplest fix looks like it would be to add a check after the counter increment on line 364 of USRP2M17.cpp. Something like:

m17_cnt++;
if (m17_cnt > 0x7fff) {
  m17_cnt = 1;
}

Unfortunately the test for this is to let the transmitter run for nearly 22 minutes. If I get some free time I'll try to test it and put a proper PR together.

nivex commented 2 years ago

Tested with shorter rollover. Droidstar receiving looks good.