Commit graph

101 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
b048a2929f Hopefully fix some compilation problems. 2026-02-26 13:55:01 +00:00
radongc
cbeb2ed96a Fix typo. 2026-02-20 15:08:21 -05:00
radongc
e68ab470ed Handle talk permit tone P25_LCF_GROUP. 2026-02-20 15:00:39 -05: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
7bd0134482 Merge branch 'master' into mqtt 2025-04-23 11:13:41 +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
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
ac6842fe2c Merge branch 'master' into mqtt 2024-10-04 17:37:55 +01:00
Jonathan Naylor
ebea3eddb2 Revert "Amalgamate the two Trellis implementations and small cleanups."
This reverts commit ec9f7d7496.
2024-10-04 17:14:36 +01:00
Jonathan Naylor
84c9da7e8f Merge branch 'master' into mqtt 2024-10-02 14:59:58 +01:00
Jonathan Naylor
ec9f7d7496 Amalgamate the two Trellis implementations and small cleanups. 2024-10-02 14:42:25 +01:00
Jonathan Naylor
d404d6ce5d Merge branch 'mqtt' into mqtt_plus 2024-02-09 16:13:03 +00:00
Jonathan Naylor
7f51d59d30 Merge branch 'master' into mqtt 2024-02-09 15:58:11 +00:00
Jonathan Naylor
06a3da0f2e Hopefully fix the unreceivable P25 transmissions. 2024-02-07 19:38:54 +00:00
Jonathan Naylor
b6383c8c18 Merge branch 'mqtt' into mqtt_plus 2024-01-29 17:21:38 +00:00
Jonathan Naylor
0ed31becf3 Merge branch 'master' into mqtt 2024-01-29 17:06:59 +00:00
Jonathan Naylor
92982351d2 Remove P25 LDU validation. 2024-01-26 16:12:58 +00:00
Jonathan Naylor
0571d90b5b Format cleanups 2024-01-25 19:23:32 +00:00
Jonathan Naylor
3bde9442f4 Merge branch 'master' into P25Changes 2024-01-25 19:08:05 +00:00
Jonathan Naylor
9471e322ff Add more P25 status symbol values. 2024-01-25 18:53:43 +00:00
Jonathan Naylor
771aba2557 Update the P25 symbols bits to be the correct values. 2024-01-20 22:03:24 +00: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
893952f024 Make all of the rest of the code base be conditionally compiled. 2023-07-03 16:21:35 +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
44783544fe Fix JSON RSSI and BER. 2023-06-16 15:32:16 +01:00
Jonathan Naylor
c52ae58816 Add JSON RSSI and BER to P25. 2023-06-11 14:58:29 +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
17c194c466 Add P25 to JSON/MQTT. 2023-01-17 15:11:40 +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
8dc54ed21f Ignore M17 packet data, for now. 2021-03-29 19:36:55 +01:00
Jonathan Naylor
54ae56942f Add P25 end of transmission data. 2019-09-29 16:34:56 +01: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
Bryan Biedenkapp
0da6167c61 readd missing constants and missing FEC code from previous revert; 2019-01-09 03:02:51 +00:00
Bryan Biedenkapp
1c1462e71e correct file formatting to be tabs and not spaces; 2018-11-12 13:25:24 -05:00
Bryan Biedenkapp
a06dbf9d55 implement logic to reuse the last properly decoded LC's instead of dropping the entire LDU; add undecodable LC counter; 2018-11-12 13:22:18 -05:00
Jonathan Naylor
34eb69dede Revert "Merge pull request #462 from gatekeep/master"
This reverts commit a14a316572, reversing
changes made to f5a70aa6ce.
2018-11-12 09:48:00 +00:00
Bryan Biedenkapp
85bc8357aa implement proper LDU2 encode/decode; implement proper HDU (Header) encode/decode 2018-10-03 23:06:56 -04:00
Andy CA6JAU
b66a92bb9c Fix other crashes 2018-08-20 00:47:45 -03:00
Bryan Biedenkapp
62dd3c420e Once again -- fix my poor whitespace formatting. 2018-05-14 10:49:03 -04:00
Bryan Biedenkapp
e903c1edea Fix whitespace and tabbing. Fix missing closing brace. 2018-05-14 10:45:49 -04:00