Commit graph

178 commits

Author SHA1 Message Date
Jonathan Naylor 8dc54ed21f Ignore M17 packet data, for now. 2021-03-29 19:36:55 +01:00
Jonathan Naylor 6344f8b9ef Merge branch 'master' into M17_AX25_FM 2021-01-02 12:56:27 +00:00
Tim Stewart 0e6208cc67 Add frame content details to D-Star debug logging
Commit bf5651b deleted all log entries related to D-Star frame
contents.  This change adds some detail to the existing D-Star frame
debugging log entries.  Rather than always printing "audio", frames
may be logged as one of "audio", "nullaudio", or "fastdata".

A minimum width has been set for some fields so that the log messages
form columns while watching a data stream.

By virtue of centralizing the frame log messages, this commit also
adds debugging entries for frames originating from the network.

Example log entries that contain all three types as generated by a
Kenwood TH-D74 using fast data:

  M: 2021-01-01 19:52:44.255 D-Star, received RF header from KG4BXH  /D74  to CQCQCQ
  D: 2021-01-01 19:52:44.282 D-Star, RF nullaudio sequence no.  0
  D: 2021-01-01 19:52:44.282 D-Star, RF nullaudio sequence no.  1
  D: 2021-01-01 19:52:44.309 D-Star, RF nullaudio sequence no.  2
  D: 2021-01-01 19:52:44.332 D-Star, RF nullaudio sequence no.  3
  D: 2021-01-01 19:52:44.354 D-Star, RF nullaudio sequence no.  4
  D: 2021-01-01 19:52:44.365 D-Star, RF nullaudio sequence no.  5
  D: 2021-01-01 19:52:44.388 D-Star, RF nullaudio sequence no.  6
  D: 2021-01-01 19:52:44.404 D-Star, RF nullaudio sequence no.  7
  D: 2021-01-01 19:52:44.426 D-Star, RF nullaudio sequence no.  8
  D: 2021-01-01 19:52:44.443 D-Star, RF nullaudio sequence no.  9
  D: 2021-01-01 19:52:44.465 D-Star, RF nullaudio sequence no. 10
  D: 2021-01-01 19:52:44.488 D-Star, RF nullaudio sequence no. 11
  D: 2021-01-01 19:52:44.510 D-Star, RF nullaudio sequence no. 12
  D: 2021-01-01 19:52:44.526 D-Star, RF nullaudio sequence no. 13
  D: 2021-01-01 19:52:44.543 D-Star, RF nullaudio sequence no. 14
  D: 2021-01-01 19:52:44.565 D-Star, RF nullaudio sequence no. 15
  D: 2021-01-01 19:52:44.588 D-Star, RF nullaudio sequence no. 16
  D: 2021-01-01 19:52:44.604 D-Star, RF nullaudio sequence no. 17
  D: 2021-01-01 19:52:44.627 D-Star, RF nullaudio sequence no. 18
  D: 2021-01-01 19:52:44.649 D-Star, RF nullaudio sequence no. 19
  D: 2021-01-01 19:52:44.665 D-Star, RF nullaudio sequence no. 20
  D: 2021-01-01 19:52:44.704 D-Star, RF fastdata  sequence no.  0
  D: 2021-01-01 19:52:44.704 D-Star, RF fastdata  sequence no.  1
  D: 2021-01-01 19:52:44.726 D-Star, RF fastdata  sequence no.  2
  D: 2021-01-01 19:52:44.748 D-Star, RF fastdata  sequence no.  3
  D: 2021-01-01 19:52:44.765 D-Star, RF fastdata  sequence no.  4
   ... many fastdata frames elided ...
  D: 2021-01-01 19:52:45.486 D-Star, RF fastdata  sequence no. 19
  D: 2021-01-01 19:52:45.508 D-Star, RF fastdata  sequence no. 20
  D: 2021-01-01 19:52:45.548 D-Star, RF fastdata  sequence no.  0
  D: 2021-01-01 19:52:45.548 D-Star, RF fastdata  sequence no.  1
  D: 2021-01-01 19:52:45.565 D-Star, RF fastdata  sequence no.  2
  D: 2021-01-01 19:52:45.587 D-Star, RF audio     sequence no.  3, errs:  0/48 (  0.0%)
  D: 2021-01-01 19:52:45.609 D-Star, RF audio     sequence no.  4, errs:  0/48 (  0.0%)
  D: 2021-01-01 19:52:45.631 D-Star, RF audio     sequence no.  5, errs:  0/48 (  0.0%)
  D: 2021-01-01 19:52:45.648 D-Star, RF audio     sequence no.  6, errs:  0/48 (  0.0%)
  D: 2021-01-01 19:52:45.670 D-Star, RF audio     sequence no.  7, errs:  0/48 (  0.0%)
  D: 2021-01-01 19:52:45.687 D-Star, RF audio     sequence no.  8, errs:  0/48 (  0.0%)
  D: 2021-01-01 19:52:45.709 D-Star, RF fastdata  sequence no.  9
  D: 2021-01-01 19:52:45.731 D-Star, RF fastdata  sequence no. 10
  D: 2021-01-01 19:52:45.753 D-Star, RF fastdata  sequence no. 11
  D: 2021-01-01 19:52:45.775 D-Star, RF fastdata  sequence no. 12
  D: 2021-01-01 19:52:45.786 D-Star, RF fastdata  sequence no. 13
   ... many more fastdata frames with periodic audio as above ...
2021-01-01 17:55:48 -05:00
Jonathan Naylor d77e2a00ce Restore the branch 2020-12-15 16:21:07 +00:00
Jonathan Naylor 135fd04e0d Revert "Merge branch 'M17_AX25_FM'"
This reverts commit e1427e3e37, reversing
changes made to bcdba292eb.
2020-12-15 15:52:27 +00:00
Jonathan Naylor 99a4d37082 Merge branch 'master' into M17_AX25_FM 2020-12-14 10:14:53 +00:00
Tim Stewart bf5651b7a0 Remove DV Fast Data debugging statements 2020-12-13 19:27:38 -05:00
Tim Stewart b2844bc0a6 Avoid FEC regeneration and DTMF blanking for null AMBE data
FEC recalculation always reports errors for null AMBE frames, and
there is no DTMF present by definition.

In practice, null AMBE data is often (always?) sent by the Kenwood
TH-D74 in the first 21 voice frames, and I've also seen it at the end
of a fast data transmission.
2020-12-13 19:25:09 -05:00
Tim Stewart efe9b3d459 Process FEC and DTMF on Voice frames followed by Sync frame
Rather than skipping FEC recalculation and DTMF blanking on Voice
frames that do not have a corresponding mini-header (i.e. Voice frames
followed by a Sync frame), set aside the frame's data.  The data is
processed and submitted to the modem/network during the next
iteration, once the presence of DV Fast Data can be determined.
2020-11-29 16:26:32 -05:00
Tim Stewart 8874d1262b Detect DV Fast Data on a per-frame basis
This commit adds a maybeFixupVoiceFrame() function that is used by
both the RF and Net code to manage FEC regeneration and DTMF blanking
in voice frames.

The presence of Fast Data is discovered by reading the mini-header in
every second data frame.  If found, FEC regeneration and DTMF blanking
are disabled for the current and next voice frames.

An exception is voice frames that have a sync frame instead of a data
frame.  This commit always disables FEC regeneration and DTMF blanking
for these frames.  A later commit will add support for these frames by
setting aside the voice frame until the next data frame can be read.

This commit also includes a number of debugging statements that will
be removed in a later commit.
2020-11-29 16:12:58 -05:00
Tim Stewart 8656aaedaa Add back desired changes that were reverted 2020-11-27 18:36:39 -05:00
Tim Stewart 1fd1a4f6d1 Revert "First attempt at detecting D-Star data frames, Kenwood and Icom."
This reverts commit 3362e29b62.
2020-11-27 18:01:02 -05:00
Tim Stewart 7aabb96351 Revert "Fix a bug and add a second Icom D-Star fast data mode identifier."
This reverts commit 18398efe97.
2020-11-27 17:51:22 -05:00
Tim Stewart 821db7910a Revert "Regenerate the data mode markers."
This reverts commit 54fbacb487.
2020-11-27 17:51:06 -05:00
Tim Stewart 4f0f0fea66 Revert "Don't insert silence on lost D-Star fast data."
This reverts commit 1bd814a079.
2020-11-27 17:50:47 -05:00
Tim Stewart b8ae0febb0 Revert "New way to detect D-Star fast data mode."
This reverts commit a9b7179d13.
2020-11-27 17:47:51 -05:00
Tim Stewart 2d2b736c54 Revert "Don't forget to descramble the byte first."
This reverts commit 16bf9d5745.
2020-11-27 17:47:24 -05:00
Tim Stewart 449ca905ee Revert "Place the scrambled null data regeneration into the right place."
This reverts commit 59cb07329d.
2020-11-27 17:47:04 -05:00
Tim Stewart fcad5ee0d2 Revert "Only test the slow data type in the correct place."
This reverts commit ff0082b18b.
2020-11-27 17:46:19 -05:00
Tim Stewart bbbfbbbfad Revert "Simplify the D-Star sequence number processing."
This reverts commit 99d4a9bc51.
2020-11-27 17:45:19 -05:00
Tim Stewart 7ea37fc5e9 Revert "Fix the silence insertion for D-Star."
This reverts commit 9cc2bfaaec.
2020-11-27 17:44:33 -05:00
Tim Stewart c94f4f5d4a Revert "Check the guard byte on fast data as well as the mini header."
This reverts commit 317bda0177.
2020-11-27 17:14:31 -05:00
Tim Stewart a87449bf51 Revert "Loosen fast data admission criteria."
This reverts commit 6d719353c6.
2020-11-27 17:14:10 -05:00
Tim Stewart 59b8b5d623 Revert "Remove redundant code."
This reverts commit f88c9826a7.
2020-11-27 17:13:57 -05:00
sp5lg ed79a7176a DStar SelfOnly with WhiteList 2019-10-06 16:15:25 +02:00
Jonathan Naylor 0b7f2e1e4b Add end of transmission data for D-Star. 2019-09-29 17:06:22 +01:00
Jonathan Naylor f88c9826a7 Remove redundant code. 2019-01-31 08:25:35 +00:00
Jonathan Naylor 6d719353c6 Loosen fast data admission criteria. 2019-01-30 20:20:15 +00:00
Jonathan Naylor 317bda0177 Check the guard byte on fast data as well as the mini header. 2019-01-29 22:32:24 +00:00
Jonathan Naylor 9cc2bfaaec Fix the silence insertion for D-Star. 2019-01-28 07:50:43 +00:00
Jonathan Naylor 99d4a9bc51 Simplify the D-Star sequence number processing. 2019-01-27 20:15:14 +00:00
Jonathan Naylor ff0082b18b Only test the slow data type in the correct place. 2019-01-26 19:25:12 +00:00
Jonathan Naylor 59cb07329d Place the scrambled null data regeneration into the right place. 2019-01-25 12:40:31 +00:00
Jonathan Naylor 16bf9d5745 Don't forget to descramble the byte first. 2019-01-25 11:38:03 +00:00
Jonathan Naylor a9b7179d13 New way to detect D-Star fast data mode. 2019-01-25 11:23:51 +00:00
Jonathan Naylor 0f6945ef4e Stop any response from any mode when not enabled. 2019-01-20 17:09:40 +00:00
Jonathan Naylor ae9e6ea6ab Reset the mode's state machines when going to the disabled state. 2019-01-19 17:15:24 +00:00
Jonathan Naylor 335b56f4bd Add busy lockout to remote mode handling. 2019-01-10 09:05:15 +00:00
Jonathan Naylor 1bd814a079 Don't insert silence on lost D-Star fast data. 2018-11-16 10:23:29 +00:00
Jonathan Naylor 54fbacb487 Regenerate the data mode markers. 2018-11-13 08:47:40 +00:00
Jonathan Naylor 18398efe97 Fix a bug and add a second Icom D-Star fast data mode identifier. 2018-11-12 13:27:15 +00:00
Jonathan Naylor 3362e29b62 First attempt at detecting D-Star data frames, Kenwood and Icom. 2018-11-12 11:57:34 +00:00
Luca Marchesano f978a91519
Add select ack message dstar
AckMessage = 0 set BER status
AckMessage = 1 set RSSI status
2018-09-14 12:30:48 +02:00
Jonathan Naylor 980efe3023 Remove the RSSI debug message if nothing interesting to show. 2018-03-06 20:12:29 +00:00
Jonathan Naylor 85e90610d7 Add remote gateway modes to D-Star and P25. 2017-11-09 09:21:22 +00:00
Jonathan Naylor 1437fca2f2 Suppress the ack when Ack=0 in a less buggy way. 2017-07-27 16:39:14 +01:00
phl0 a09587ed26
Use correct parameter for Timers 2017-06-16 08:58:30 +02:00
phl0 f0fc7c7ec9
Make AckTime adjustable 2017-06-14 12:54:44 +02:00
Jonathan Naylor 043ffe96d9 Make the D-Star ack optional. 2017-06-10 13:18:18 +01:00
Jonathan Naylor ac22f0b783 Add an optional error reply for D-Star. 2017-02-16 19:49:58 +00:00
Jonathan Naylor f0387d25dd Add BER display to the Nextion and reduce Talker Id logging. 2017-02-12 18:37:00 +00:00
Jonathan Naylor 75ec200af7 Reduce audio BER logging for D-Star. 2017-01-24 09:57:37 +00:00
Jonathan Naylor 5968f3b47c Remove RSSI log data if no RSSI data to show. 2017-01-07 12:25:03 +00:00
Jonathan Naylor 3c9666e780 Display the RSSI on the Nextion screen. 2017-01-05 19:44:52 +00:00
Jonathan Naylor af721f89e2 Add RSSI display for all modes. 2017-01-05 19:15:10 +00:00
Jonathan Naylor 51c742ea7f Remobe AMBE regeneration on data packets. 2016-10-05 07:42:41 +01:00
Jonathan Naylor 00dfa56dcb Revert "Revert the move of the timer."
This reverts commit 21a786329e.
2016-09-29 20:23:19 +01:00
Jonathan Naylor 21a786329e Revert the move of the timer. 2016-09-29 20:03:54 +01:00
Tony Corbett G0WFV 150cf171bc Solve insertion of silence at start of every D-Star over 2016-09-27 23:09:19 +01:00
Jonathan Naylor fd7931310e Remove unneeded RSSI code for non DMR protocols. 2016-09-27 19:55:36 +01:00
Jonathan Naylor de3d9d46b3 Set the packet timer correctly. 2016-09-27 06:45:42 +01:00
Jonathan Naylor e1af1894a5 Correct D-Star silence infilling. 2016-09-26 18:10:51 +01:00
Jonathan Naylor 83b27188e5 Alter the format of the returned RSSI data. 2016-08-11 17:28:47 +01:00
Jonathan Naylor 3214cf8504 Add RSSI logging to D-Star and YSF. 2016-08-09 20:05:35 +01:00
Jonathan Naylor 443c363b1c Reset lastFrameValid when used up. 2016-08-09 17:20:26 +01:00
Jonathan Naylor 059b960959 Add RSSI reporting for DMR only. 2016-08-08 21:26:18 +01:00
Jonathan Naylor 299f53b551 Don't use someone elses infill audio! 2016-07-21 18:09:29 +01:00
Jonathan Naylor f6978d1b80 Guarantee no divide by zero errors. 2016-07-21 17:50:13 +01:00
Jonathan Naylor 1a91b26c66 Remove unneeded audio infill debug logging. 2016-07-18 17:46:16 +01:00
Jonathan Naylor 2a53923c9a Revert packet timer changes. 2016-07-15 06:32:56 +01:00
Jonathan Naylor f18c505852 Increase logging level for infill messages. 2016-07-14 20:33:40 +01:00
Jonathan Naylor 49b002a463 Make silence infillinf a little looser. 2016-07-14 20:31:29 +01:00
Jonathan Naylor ad29c5c4b6 Remove packet timer and use the elapsed timer directly. 2016-07-14 18:20:06 +01:00
Jonathan Naylor 33d78bc3bd Add extra debugging to D-Star transmissions. 2016-07-13 07:19:08 +01:00
Jonathan Naylor 9dd89662fc Add data tag in the correct place. 2016-07-12 17:11:55 +01:00
Jonathan Naylor 9035656eeb Add rejected state to incoming RF data. 2016-07-12 07:50:01 +01:00
Jonathan Naylor 6f848722f9 Fix bug I introduced. 2016-07-12 07:24:07 +01:00
Jonathan Naylor 3af36dd8c0 Reject out of order packets. 2016-07-12 07:05:48 +01:00
Jonathan Naylor 495b3b6913 Improve silence insertion. 2016-07-11 20:08:14 +01:00
Jonathan Naylor 7d67055fff Remove the holdoff timers. 2016-07-05 18:21:18 +01:00
Jonathan Naylor ed8ea92468 Re-add debug BER displays for D-Star and DMR. 2016-06-01 09:43:39 +01:00
Jonathan Naylor e600cf36bb Roll back holdoff timer changes. 2016-05-21 12:32:36 +01:00
Jonathan Naylor 7ad26a18f2 Set the FICH on received network data. 2016-05-17 06:30:59 +01:00
Jonathan Naylor 57d8faa07e Add the holdoff timers. 2016-05-16 22:07:18 +01:00
Jonathan Naylor 11907162e7 Increase the output queue size. 2016-05-10 18:54:35 +01:00
Jonathan Naylor bd5946ccd2 Add a display hang time so quick transmissions aren't missed. 2016-05-09 18:14:27 +01:00
Jonathan Naylor dc3fed940c Remove AMBE FEC BER messages for DMR and D-Star. 2016-04-27 06:43:47 +01:00
Jonathan Naylor 740aa174c3 Reduce the logging of lost network audio. 2016-04-26 18:05:18 +01:00
phl0 86aeaffd4c
Distinguish between linked und unlinked state for messages 2016-04-20 22:33:06 +02:00
Jonathan Naylor 646ae93c09 Increase the size of the RF queues. 2016-04-19 18:06:39 +01:00
Jonathan Naylor 2b76af2e7b Improve D-Star error debugging. 2016-04-19 17:15:37 +01:00
Jonathan Naylor b5a7ed83bf Reduce logging of bad access attempts on D-Star. 2016-04-18 19:15:49 +01:00
phl0 b8a74c0340 Use 8 spaces as empty callsign as that is the case for the rest of the
code as well
2016-04-16 22:31:49 +02:00
phl0 78c80f4d5c Add cast 2016-04-16 22:08:55 +02:00
phl0 bf128e76f3 Add output of information about incoming reflector 2016-04-16 21:45:49 +02:00
phl0 975edd2dea Add source identifier to D-Star output on HD44780 2016-04-12 00:12:07 +02:00
Jonathan Naylor 371684ae03 Add black list functionality for D-Star and DMR. 2016-04-06 18:46:05 +01:00
Jonathan Naylor ea51eee15c Allow for locking the MMDVM to the callsign or id of the
repeater/hostspot.
2016-04-04 17:40:05 +01:00
Jonathan Naylor 8e5387c4ee Fix silly sequence number bug. 2016-03-21 18:13:21 +00:00
Jonathan Naylor 2cfb1f458e Improve timing within the protocol engines. 2016-03-14 20:55:15 +00:00