Commit graph

3076 commits

Author SHA1 Message Date
Jonathan Naylor
49efab54ba Add some extra logging and update the copyright message. 2026-04-02 15:15:25 +01:00
Jonathan Naylor
c8625f7664 Move the JSON CW Id indication to be a message not a mode. 2026-03-23 13:26:41 +00:00
Jonathan Naylor
e15578e31d
Merge pull request #861 from nivex/rfc3339
create timestamps in rfc3339 format
2026-03-23 12:45:57 +00:00
Nivex
6ac2f99f7c
create timestamps in rfc3339 format 2026-03-22 15:17:21 -04:00
Jonathan Naylor
67aafc9db3
Merge pull request #858 from MW0MWZ/fix/json-always-emit-source-info
Always emit source_info and reflector fields in JSON output
2026-03-17 16:00:56 +00:00
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
10680f51a5 Improve the build options and remove libsamplerate, it's not needed. 2026-03-11 13:15:00 +00:00
Jonathan Naylor
81e16b87f4 Rename MMDVM.ini to MMDVMHost.ini 2026-03-10 14:52:12 +00:00
Jonathan Naylor
ed6c28c0c1
Merge pull request #856 from MW0MWZ/fix/mqtt-client-id
Fix MQTT client ID collision on 32-bit ARM userland
2026-03-08 15:16:08 +00:00
Andy Taylor
469306ff1f Add mosquitto_loop_stop before mosquitto_destroy in close()
The background network thread started by mosquitto_loop_start() was not
being stopped before mosquitto_destroy(), which can cause a use-after-free
if the thread is still running when the mosquitto structure is freed.
2026-03-08 14:16:34 +00:00
Andy Taylor
8efcac05e6 Fix MQTT client ID collision on ARM 32-bit userland with 64-bit kernel
The MQTT client ID was generated using sprintf with %ld and time(nullptr).
On platforms with 32-bit userland but 64-bit kernel (such as Raspberry Pi OS
and some custom Alpine Linux builds), time_t is a 64-bit long long but %ld
only reads 32 bits. Since the upper 32 bits of the current Unix timestamp
are zero, this always produces "MMDVMHost.0", causing client ID collisions
when multiple instances or restarts occur.

Replace time()-based client IDs with PID-based IDs using getpid(), which is
always a 32-bit value and unique per process. Platform-guarded for Windows
(_getpid) and POSIX (getpid).
2026-03-08 12:49:26 +00:00
Jonathan Naylor
f2c45f2ae5 Fix a bad merge. 2026-02-27 16:43:04 +00:00
Jonathan Naylor
f569e7c921 Cleanup after the merge. 2026-02-26 14:31:04 +00:00
Jonathan Naylor
bb7295cb08
Merge pull request #852 from F4FXL/fix/FastData
Enable and fix DStar Fast Data
2026-02-26 14:14:03 +00:00
Jonathan Naylor
03efef08d8
Merge branch 'master' into fix/FastData 2026-02-26 14:13:51 +00:00
Jonathan Naylor
b048a2929f Hopefully fix some compilation problems. 2026-02-26 13:55:01 +00:00
Jonathan Naylor
4b2d6cf891
Merge pull request #853 from radongc/feat/motorola-talk-permit-tone-implementation 2026-02-20 21:27:33 +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
eda98ae163 Compilation warning fixes. 2026-02-19 16:17:03 +00:00
Jonathan Naylor
ca24f49998 Merge branch 'master' of github.com:g4klx/MMDVMHost 2026-02-19 16:05:55 +00:00
Jonathan Naylor
cb96c08f9c Fixed merge. 2026-02-19 16:02:48 +00:00
Jonathan Naylor
76d4f0d1a1 Merge branch 'master' into mqtt 2026-02-18 13:54:01 +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
05b10ac544
Merge pull request #849 from MW0MWZ/master
MMDVMHost Nextion Commands
2025-09-25 14:49:50 +01:00
Andy Taylor
025273844f MMDVMHost Nextion Commands 2025-09-24 12:01:31 +01:00
Jonathan Naylor
43783d6abc
Merge pull request #848 from JimZAH/freebsd-compile-fixes
Freebsd compile fixes
2025-09-20 18:44:05 +01:00
jimzah
7d105371e9 Spacing
Signed-off-by: jimzah <me@james.ac>
2025-09-20 13:10:10 +01:00
jimzah
c94276a714 FreeBSD: include libutil.h
Signed-off-by: jimzah <me@james.ac>
2025-09-20 12:57:49 +01:00
jimzah
d4fa52272b RTM_VERSION: Should be RTM_VERSION
Signed-off-by: jimzah <me@james.ac>
2025-09-20 12:50:46 +01:00
Jonathan Naylor
89b9fc2ed6
Merge pull request #846 from MW0MWZ/master 2025-09-16 08:44:52 +01:00
Andy Taylor
aa3555083b Artifact cleanup 2025-09-16 01:14:27 +01:00
Andy Taylor
6f25ab158d Fix free(): double free detected in tcache 2025-09-09 00:26:59 +01:00
Jonathan Naylor
1dc505f9d2 Merge branch 'master' into mqtt 2025-08-28 16:51:48 +01:00
Jonathan Naylor
28eb0e6200 Fix empty AX.25 V2 parameters. 2025-08-28 16:35:55 +01:00
Jonathan Naylor
1e2e0c7431 M17 and AX.25 removal cleanups. 2025-08-27 17:51:15 +01:00
Jonathan Naylor
d085ca8b0f Merge branch 'master' into mqtt 2025-08-27 17:02:37 +01:00
Jonathan Naylor
010c1249ee Update to VS2022. 2025-08-26 17:16:00 +01:00
Jonathan Naylor
bd6b3d58ca Update README.md 2025-08-26 17:08:55 +01:00
Jonathan Naylor
7adccd2123 Remove the last vestage of AX.25 from the code. 2025-08-26 15:18:19 +01:00
Jonathan Naylor
cf97dc3096 Remove AX.25 2025-08-26 15:14:00 +01:00
Jonathan Naylor
9720c7a40d Make space for dPMR. 2025-07-09 13:38:55 +01:00
Jonathan Naylor
994bff73ba
Merge pull request #845 from W0CHP/master
Fix up OLED formating by leveraging more cursor pos. calls
2025-06-09 13:36:19 +01:00
Jonathan Naylor
ee4461866c
Merge pull request #844 from f1rmb/f1rmb_nullptr_vs_NULL_with_getaddrinfo
Fix missing NXDN Net config entry handling and wrong getaddrinfo() argument.
2025-06-09 13:35:52 +01:00
Chipster
92215d0dc2 Fix up OLED formating by leveraging more cursor pos. calls 2025-06-08 04:03:10 -05:00
Daniel Caujolle-Bert
2e24ba1f41 Reintroduce [NXDN Network]::Protocol config item, as it got deleted at some point.
Fix nullptr instead of NULL argument usage in getaddrinfo().
Bump version.
2025-06-07 17:31:46 +02:00
Jonathan Naylor
2b69832d16
Merge pull request #842 from f1rmb/f1rmb_fix_windows_build
Fix Windows build (few warnings and a wrong file descriptor comparison).
2025-06-02 16:09:49 +01:00
Daniel Caujolle-Bert
14ee06fed0 Fix Windows build (few warnings and a wrong file descriptor comparison). 2025-06-02 17:06:12 +02:00