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