Commit graph

185 commits

Author SHA1 Message Date
Andy Taylor 9b8a6c1e2c Always emit source_info and reflector fields in JSON output
Several JSON message builders conditionally omit fields when their
values are empty or null:
 - DMRSlot, P25Control, NXDNControl: source_info omitted when the
   callsign/ID lookup returns an empty string
 - DStarControl: reflector omitted in RF start messages and when
   the reflector pointer is null in network start messages
 - YSFControl: reflector omitted in RF start messages

Downstream consumers (such as Display-Driver) that access these
fields via nlohmann::json const operator[] crash with an assertion
failure when the key is absent.

Always emit these fields with an empty string default so that the
JSON schema is consistent regardless of lookup results or message
source.
2026-03-17 15:04:54 +00:00
Jonathan Naylor f569e7c921 Cleanup after the merge. 2026-02-26 14:31:04 +00:00
Jonathan Naylor 03efef08d8
Merge branch 'master' into fix/FastData 2026-02-26 14:13:51 +00:00
Jonathan Naylor eda98ae163 Compilation warning fixes. 2026-02-19 16:17:03 +00:00
Geoffrey Merck 28c21f74b3 remove debug message clarify comment 2026-01-27 21:25:15 +01:00
Geoffrey Merck 876f58c05c Add lookback in fast data handling to prevent first voice frame to get killed by FEC 2026-01-26 20:19:40 +01:00
Geoffrey Merck d3ed3ce8d2 reeanable fast data 2026-01-23 22:17:27 +01:00
Jonathan Naylor d085ca8b0f Merge branch 'master' into mqtt 2025-08-27 17:02:37 +01:00
Daniel Caujolle-Bert 7d2da549c2 CDMRSlot::clock(),
CDStarControl::clock(),
CM17Control::clock(),
CNXDNControl::clock(),
CP25Control::clock(),
CYSFControl::clock():
  - Leave ASAP when it's disabled.

CDMRSlot::enable(),
CDStarControl::enable(),
CM17Control::enable(),
CNXDNControl::enable(),
CP25Control::enable(),
CYSFControl::enable():
  - Log a message when Controller get disabled while running, "<MODE>, RF user has timed out" or "<MODE>, network user has timed out", depending of the RF/Net state.

CMMDVMHost::run():
  - After getting the modem data, don't handle it (read/write<Controler>, etc) if the given mode is not enabled.

MMDVMHost:
  - Rename CMMDVMHost::processEnableCommand() to CMMDVMHost::enableModemMode().
  - Add CMMDVMHost::enableMode() and CMMDVMHost::disableMode(), called now from CMMDVMHost::remoteControl(), which clarify the code.
  - CMMDVMHost::remoteControl():
    * Fix indentation,
    * Simplify ENABLE_x/DISABLE_x cases code.
  - CMMDVMHost::setMode():
    * Enable pocsag network only if m_pocsagEnabled is true,
    * Enable ax25 network only if m_ax25Enabled is true (not m_fmEnabled).
2025-05-29 18:29:42 +02:00
Jonathan Naylor dc0c6b146c Merge branch 'master' into mqtt 2025-04-24 14:42:22 +01:00
Jonathan Naylor 8e0705e2a9 Switch off D-Star fast data for now. 2025-04-24 14:41:45 +01:00
Jonathan Naylor 7bd0134482 Merge branch 'master' into mqtt 2025-04-23 11:13:41 +01:00
Jonathan Naylor 3a2c2fadaa Enable the network watchdog timer for fast data. 2025-04-22 13:30:20 +01:00
Jonathan Naylor 65ebb55171 Fix an overlooked D-Star frame counter setting. 2025-04-19 18:55:19 +01:00
Jonathan Naylor 5d2f528ec7 Fix some naming issues around NULL and a D-Star bug with frame counts. 2025-04-19 16:36:00 +01:00
Jonathan Naylor 86e96a389d Merge branch 'master' into mqtt 2025-04-17 12:59:37 +01:00
Jonathan Naylor 05b9c4d79b Clean up the slow data handling. 2025-04-17 12:32:54 +01:00
Jonathan Naylor 29af1f9258 Revert some D-Star slow data changes. 2025-03-27 18:27:48 +00:00
Jonathan Naylor 3109cd03ae Clean ups from merging from master. 2025-03-14 16:11:04 +00:00
Jonathan Naylor 62c33086ca Merge branch 'master' into mqtt 2025-03-14 13:39:49 +00:00
Jonathan Naylor cf15f42a0f Convert to C++ nullptr from NULL. 2025-03-14 12:13:11 +00:00
Jonathan Naylor 43f8b2f6f0 Change all of the enums to the modern format. 2025-03-13 18:16:33 +00:00
Jonathan Naylor 78fc96b0a5 Add new processing for D-Star Fast Data which doesn't clobber normal
D-Star audio.
2025-03-12 12:55:25 +00:00
Jonathan Naylor dcee575722 Merge branch 'master' into mqtt 2025-03-03 14:27:42 +00:00
Jonathan Naylor 351c1199fb Remove the D-Star fast data handling for now as it appears to be
mangling D-Star DTMF data.
2025-02-27 12:46:25 +00:00
Jonathan Naylor d9e2f52ae6 Fixes for VS2019, and the use of a different compiler. 2024-05-30 14:53:55 +01:00
Jonathan Naylor 376ff71fea Clean up the RSSI code to work with negative values correctly. 2023-08-05 16:51:55 +01:00
Jonathan Naylor 7724be0fd7 Remove the file unused debugging file pointer. 2023-06-29 18:15:00 +01:00
Jonathan Naylor 37420dc93c Make compiling D-Star conditional. 2023-06-29 17:13:00 +01:00
Jonathan Naylor cf9d470f23 Merge branch 'mqtt' into mqtt_plus 2023-06-19 14:08:53 +01:00
Jonathan Naylor 8a80d9678c Disable JSON RSSI reporting when RSSI is not being used. 2023-06-19 13:58:10 +01:00
Jonathan Naylor d01520bea1 Remove all of the display processing from the code. 2023-06-16 17:18:43 +01:00
Jonathan Naylor c0eb51f0ba Clean up the D-Star JSON handling. 2023-06-16 12:38:01 +01:00
Jonathan Naylor 99d6ea8b63 Merge branch 'master' into mqtt 2023-06-16 12:24:03 +01:00
Jonathan Naylor af21cef54d Add interpretation of D-Star slow data text. 2023-06-16 11:35:16 +01:00
Jonathan Naylor fb5e5b5fa1 Add JSON RSSI and BER messages to YSF. 2023-06-11 14:39:18 +01:00
Jonathan Naylor 74376d3b8c Add JSON RSSI and BER reporting to D-Star. 2023-06-11 13:23:11 +01:00
Jonathan Naylor cf161dbd3d Remove the unneeded source from the JSON except for the start of the transmission. 2023-06-09 17:24:07 +01:00
Jonathan Naylor 8d941db7b1 Simplify the end of transmission JSON for all DV modes. 2023-06-09 15:46:29 +01:00
Jonathan Naylor 2ac5b1bcfe Merge branch 'master' into mqtt 2023-06-07 11:38:23 +01:00
Jonathan Naylor 82dab9a93f Refactor the JSON code and schema. 2023-01-17 13:35:06 +00:00
Jonathan Naylor f75ad66a33 Handle the case where the D-Star RF timeout timer is not stopped at the end of a transmission. 2023-01-11 19:35:23 +00:00
Jonathan Naylor 54d01ba7c5 Add D-Star to the JSON reporting. 2023-01-07 20:45:55 +00:00
Jonathan Naylor e2e5ddf4c8 Add M17 Codec 1600 mode on RX and remove the remains of M17 packet mode
support.
2021-08-10 19:54:14 +01:00
Jonathan Naylor 50337639b2 Accept rejected or invalid transmissions as being 'in' despite not being
relayed. Also give extra headroom on the convolution decoders.
2021-06-25 16:21:48 +01:00
Jonathan Naylor f9e953d687 D-Star rejected transmissions are still valid RF for the host. 2021-06-25 09:58:34 +01:00
Jonathan Naylor c7effe5e2d Merge branch 'master' into M17_AX25_FM 2021-06-03 19:08:17 +01:00
Geoffrey Merck deff9910eb Fix Sprintf warnings (maybe should consider moving to std::string) 2021-05-31 21:02:35 +02:00
Jonathan Naylor 8363a72f6a Merge branch 'master' into M17_AX25_FM 2021-05-18 20:05:40 +01:00
Jonathan Naylor e2d61d1572 Clean up the D-Star Control class a little. 2021-05-18 19:44:41 +01:00