Commit graph

16 commits

Author SHA1 Message Date
Andy Taylor fc571c1e13 Fix MQTT implementation, align with DStarGateway, and add documentation
MQTT Implementation (aligned with DStarGateway / MMDVMHost):
- Rewrite MQTTConnection with mosquitto_loop_stop() fix to prevent
  background thread zombies on shutdown
- Add MQTT authentication support (mqttAuth, mqttUsername, mqttPassword)
- Add configurable client name (mqttName) used as topic prefix
- Use PID-based client IDs (avoids time_t truncation on 32-bit ARM)
- Use std::string interface throughout (no wxString in MQTT layer)
- Align JSON link status fields with DStarGateway (repeater/reflector/
  protocol/reason/action) for dashboard compatibility

Shutdown Safety:
- Add MQTTLogFinalise() calls to both daemon (IRCDDBGatewayAppD::run)
  and GUI (IRCDDBGatewayApp::OnExit) shutdown paths to ensure clean
  MQTT disconnection and thread cleanup before process exit

JSON Status Events:
- Update all ~30 WriteJSON call sites across DPlus, DExtra, DCS, and
  CCS protocol handlers to use new function signatures
- Simplify IRCDDBGatewayThread::writeJSONStatus to delegate to
  WriteJSONStatus

Config Parser Hardening:
- Add empty-line crash guard to IRCDDBGatewayConfig, TimerControlConfig,
  and TimeServerConfig parsers (str.IsEmpty() check before GetChar)

Documentation:
- Add MQTT.md with topic structure, JSON examples, and troubleshooting
- Add CONFIGURATION.md with full reference for all config files
- Add BUILD.md with build parameters and dependency information
- Add linux/ example configs for ircddbgateway, timeserver, timercontrol
- Modernise README.md with feature list and DStarGateway recommendation
2026-03-08 21:34:45 +00:00
Jonathan Naylor 7da1a79730 Add basic JSON logging and JSON status messages. 2023-07-21 11:44:45 +01:00
Jonathan Naylor d6f04c3bc2 Replace MobileGPS with GPSD. 2020-06-03 13:47:34 +01:00
Jonathan Naylor ae842aad07 Use the new APRSGateway for APRS data. 2020-06-01 13:57:10 +01:00
Geoffrey Merck F4FXL - KC3FRA 87e1a31e7d Pi-Star puts a blank for empty values in config files, this breaks default value handling. Implement a work around for XLX URL. Should this be rather addressed on pi-star end ? 2019-04-18 08:20:27 +02:00
Jonathan Naylor 95b9bd50bd Small code cleanups. 2019-04-02 07:53:36 +01:00
Geoffrey Merck F4FXL - KC3FRA 746430b9bf Fix broken windows build 2019-03-26 11:07:57 +01:00
Geoffrey Merck F4FXL - KC3FRA 55573f77fe Load default XLX URL when the key is present in the config and no value is specified 2019-03-26 06:53:30 +01:00
Geoffrey Merck F4FXL - KC3FRA 075fa42d0c Allow direct connection using XLX instead of DCS 2019-03-23 08:17:42 +01:00
Jonathan Naylor 70840a10c2 Add support for Mobile GPS. 2018-11-06 13:50:30 +00:00
Jonathan Naylor 5a5bfc9e89 Revert "First stage of CCS removal."
This reverts commit 9669d865b5.
2018-09-19 15:09:28 +01:00
Jonathan Naylor 9669d865b5 First stage of CCS removal. 2018-09-19 15:05:20 +01:00
Jonathan Naylor 62fb498d6e Linux cleanups. 2018-06-27 07:39:51 +01:00
Jonathan Naylor d604ca22b0 Fix incorrect handling of multiple ircDDB servers under Windows. 2018-06-27 07:26:37 +01:00
Jonathan Naylor 8696548f3e Complete the TH-D74E gatewaying and explicit APRS.FI password entry. 2018-06-27 06:31:33 +01:00
Jonathan Naylor 12d55cef37 Initial commit. 2018-05-09 19:23:17 +01:00