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