Commit graph

87 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 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 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 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 fd5baf790f Fix NXDN RSSI and BER JSON. 2023-06-16 15:28:22 +01:00
Jonathan Naylor e2ef49209b Add JSON RSSI and BER to NXDN. 2023-06-11 15:09:58 +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 82dab9a93f Refactor the JSON code and schema. 2023-01-17 13:35:06 +00:00
Jonathan Naylor 33a3aa4852 Add NXDN to JSON/MQTT. 2023-01-15 18:39:22 +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 8dc54ed21f Ignore M17 packet data, for now. 2021-03-29 19:36:55 +01: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 6e9174cf4c Improve the M17 networking. 2020-10-15 15:44:59 +01:00
Jonathan Naylor 924baeacd1 More work on integrating the Kenwood NXDN protocol. 2020-05-27 12:07:21 +01:00
SASANO Takayoshi d7d83ff4d0 use findWithName() to display user information when netork voice transmission 2020-03-15 10:36:57 +09:00
Jonathan Naylor 881b32f0a9 Add extra information for NXDN end of transmission. 2019-09-29 16:53:57 +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
Jonathan Naylor 27c7342a48 Minor bug fix. 2018-06-11 21:22:56 +01:00
Jonathan Naylor 2bb9cb9a49 Add correct LICH direction to match Icom repeaters. 2018-05-23 18:30:40 +01:00
Jonathan Naylor 02096f2c67 Insert the correct bytes for data transmissions in the Icom protocol. 2018-05-17 19:23:01 +01:00
Jonathan Naylor 6d5a1e025f Merge branch 'master' into icom 2018-03-08 07:16:41 +00:00
Jonathan Naylor 87c54358a8 In simplex NXDN mode make the MMDVM look like another handset. 2018-03-08 07:12:35 +00:00
Jonathan Naylor 980efe3023 Remove the RSSI debug message if nothing interesting to show. 2018-03-06 20:12:29 +00:00
Jonathan Naylor dcb9dd31a9 Fix reported compilation errors. 2018-03-01 07:34:41 +00:00
Jonathan Naylor ad578c1ccd Use the correct AMBE processing on incoming RF audio. 2018-02-28 21:46:18 +00:00
Jonathan Naylor 9e0e59476c Regenerate the LICH better. 2018-02-28 21:07:43 +00:00
Jonathan Naylor 5cd82cfc7d Add Icom networking for RF data. 2018-02-27 20:05:49 +00:00
Jonathan Naylor 562badf61c Icom protocol has no sequence number so cannot fill missing frames or count lost
data.
2018-02-21 08:10:59 +00:00
Jonathan Naylor 7696add241 Add raw data accessors to the channel data classes. 2018-02-21 07:48:24 +00:00
Jonathan Naylor 4b2df6150f Small fixes. 2018-02-20 20:31:26 +00:00
Jonathan Naylor edbc42e0bf Change processing to be more efficient. 2018-02-19 20:51:43 +00:00
Jonathan Naylor 975f9dc047 Fix the FACCH1 data on incoming network streams. 2018-02-15 21:32:28 +00:00
Jonathan Naylor 1ed6fecff6 Handle network late entry properly. 2018-02-15 20:46:22 +00:00
Jonathan Naylor d17ca9b4ba Begin handling Icom format network frames. Work in progress. 2018-02-15 20:20:07 +00:00
Jonathan Naylor 134646265e Fix bugs in NXDN networking. 2018-02-13 19:07:30 +00:00
Andy CA6JAU 66ea1fffd3 Check if SACCH is a VCALL during late entry at the first block 2018-02-12 01:38:39 -03:00