Commit Graph

46 Commits (3be3366e5f54cf462c4c321c6aa0487bd3d52ae2)

Author SHA1 Message Date
Bryan Biedenkapp 3be3366e5f enhance FNE notification of CC voice channels; implement support to maintain mapping of CC <-> VC relationships at the FNE;
2 years ago
Bryan Biedenkapp 2c560dc3ce add support to report host status JSON blob to FNE for storage in InfluxDB;
2 years ago
Bryan Biedenkapp 01b92641fd run the loop watchdog timer properly during CW;
2 years ago
Bryan Biedenkapp 9b828fe7a4 ensure the lookup table thread is named; don't display the not transmitting CC messages unless the test timer is not paused; add aggressive watchdog logging for when timers exceed 1s intervals; split adj. site and affiliation updating into a separate thread (huge adj. site updates could be the cause of main loop processing delays); ensure threads are properly shutdown; increase P25 adj site update timer from 30 seconds to 60 seconds (5 minutes of no updates will now FAIL an adj. site);
2 years ago
Bryan Biedenkapp 01af69a954 make sure the data length for P25 is twice the PDU length; add support to log if a dedicated CC stops transmitting from the host perspective (the logic for this is: is host in appropriate digital mode for CC, is the modem reporting no Tx, has the modem reported its status initially, and is the CC in a running state);
2 years ago
Bryan Biedenkapp e4aca9fc4f don't register a CC with itself; be more clear in the config YAML that the controlChannel block should be left at defaults for dedicated control channels;
2 years ago
Bryan Biedenkapp e0b6da51fb make the network presence announcment (VC -> CC and CC -> FNE) timing configurable (this value is in seconds); refactor RF channel enumeration, RF channels are now enumerated in their own class ChannelLookup instead of being integrated into AffiliationLookup, this allows the flexibility to update and change channel information at runtime; add support for VC -> CC presence/registration to tell the CC what the REST information is for that VC, this makes the restAddress and restPort entries for the voiceChNo list in the config.yml optional, the only mandatory fields are channelId, channelNo and restPassword;
2 years ago
Bryan Biedenkapp 0f7eabff82 implement support for peers that identify themselves as "conventional" to ignore affiliated talkgroup rules and be able to receive all traffic if the FNE is configured to allow promiscuous operation; implement extremely preliminary support to allow a CC to claim a VC peer, allowing for appropriate grouping of peers for trunked sites;
2 years ago
Bryan Biedenkapp 4d776f6314 add support for DMR T3 adjacent site broadcast;
2 years ago
Bryan Biedenkapp 5571a71e4e replace manual lock/unlock with lock_guard to ensure a lock is held in a scope, and released when a scope is closed;
2 years ago
Bryan Biedenkapp 9dadc06130 I was asked for ASCII art, and I deliver, thus, ASCII art;
2 years ago
Bryan Biedenkapp 5a5104ba2f treewide: perform general refactor of file headers, I've modified the file headers to follow rules from: https://www.kernel.org/doc/html/next/process/license-rules.html, this trims/compresses the file header section a bit reducing the number of lines at the top of every file quite a bit, going forward all new files should follow this new format (if its good enough for the Linux kernel, its good enough for me);
2 years ago
Bryan Biedenkapp d9e2458722 implement support for low-level TCP sockets; deprecate and remove new_unique macro and use appropriate std::make_unique; apply various clang linting;
2 years ago
Bryan Biedenkapp f7ecb54b86 during shutdown ensure the log network pointer is cleared (prevents a shutdown/exit SEGFAULT);
2 years ago
Bryan Biedenkapp 0e705f74a6 report whether or not the host is transmitting CW;
2 years ago
Bryan Biedenkapp 6a2e9f8876 whoops used wrong boolean for DMR TSCC dedicated check;
2 years ago
Bryan Biedenkapp 71f28d13a7 split DMR writers into separate threads, one for slot 1 and one for slot 2 so they can write independantly; fix issue with cuts in Tx due to the DMR Tx timer not being properly canceled for TSCC enabled hosts;
2 years ago
Bryan Biedenkapp 2d809e0a61 complete the job Faulty started and remove remnants of deprecated ENABLE_DMR, ENABLE_P25 and ENABLE_NXDN compiler options;
2 years ago
Bryan Biedenkapp 97af96a6ad be verbose in cmake output when enabling various debugs; correct issue with startup messages;
2 years ago
Bryan Biedenkapp 1379482fcc reorganize entire codebase structure; move common classes, files into a compile time static library; reorganize CMake files to make use of common static library to reduce compile time;
2 years ago
Bryan Biedenkapp d1b2b19c08 refactor how we clock ADJ_STS_BCAST; correct wrongly used site data for ADJ_STS_BCAST;
2 years ago
Bryan Biedenkapp b76334dbb4 ugh -- I missed the broadcast timer too, oops;
2 years ago
Bryan Biedenkapp d107bdd679 ensure CW doesn't go out of the channel is an NXDN control channel;
2 years ago
Bryan Biedenkapp addf751999 remove threading for protocol readers (this didn't make sense, as the data for Rx is queued by the Modem class, so reading can't really happen till after a modem clock anyway);
2 years ago
Bryan Biedenkapp 07084269aa add support to textually name threads;
2 years ago
Bryan Biedenkapp 2e65458008 refactor Host.cpp into more partial clas files for better code organization;
2 years ago
Bryan Biedenkapp 5a1f672dfe ensure threads die immediately if the g_killed flag is set when the threads are started; block clocking operations when performing CW;
2 years ago
Bryan Biedenkapp 7a90f953fd add proper mutex locking to prevent thread clobbering during clocking (i.e. attempts to make modem and protocol clocking thread safe); split frame read nad write operations into their own threads;
2 years ago
Bryan Biedenkapp 629c2fe75e initial commit for dvmhost 3.55 dev branch; add support for std::function<> based lambdas as threads; split DMR, P25 and NXDN frame processing into their own source files for the host (Host.DMR.cpp, Host.P25.cpp, Host.NXDN.cpp) these files will contain host-level processing code for the specific protocols; implement protocol frame processors as their own running threads;
2 years ago
Bryan Biedenkapp 4a764f67df [EXPERIMENTAL] add support to configure voice channel iden table IDs;
2 years ago
Bryan Biedenkapp d0be614c27 split announcement group config into its own config var;
3 years ago
Bryan Biedenkapp 6330a4c2a9 fix some log messages; ensure VOC is forcibly disabled if control support is disabled;
3 years ago
Bryan Biedenkapp ee74cad81b report network peer ID in status API call; display network peer ID on dvmmon;
3 years ago
Bryan Biedenkapp 180bce2d62 add support to log the last received source ID;
3 years ago
Bryan Biedenkapp 8f7763cac4 initial implementation for a passive monitor tool; correct bad code style; implement feedback of last destination ID; enhance status REST API;
3 years ago
Bryan Biedenkapp 412d6cfc7c [KEEP CALM AND RELAX] remove some deprecated DFSI support code (this is going to be done in a different way and this code is essentially abandonded);
3 years ago
Bryan Biedenkapp c9f74e7abf assume better defaults when the controlCh block is missing; split logic checks for ignoring a notifyCC_* call for clarity; add extra logging messages for whether or not CC notify is enabled, and whether or not CC REST API parameters were passed;
3 years ago
Bryan Biedenkapp 2b6b0c574d
merge 3.5-dev into master, this marks 3.5 alpha/beta release; (#31)
3 years ago
Bryan Biedenkapp 6b2a016497 convert fatal error about Rx frequency being below base frequency to a warning instead;
3 years ago
Bryan Biedenkapp 09be90c266 fixup CMakeLists to fix build warnings for ARM 32-bit platform;
3 years ago
Bryan Biedenkapp ca161aa402 cleanup trailing whitespace;
3 years ago
Bryan Biedenkapp cec2816389 fix some potential memory leak scenarios;
3 years ago
Bryan Biedenkapp f69443c2eb relabel RCON configuration parameters to REST (see configs/config.example.yml); change "controlPermitTG" to "supervisor", this is more descriptive for what this function does as it is literally a supervisory flag enabling/disabling the CC from commanding subordinate DVMs; implement a REST API that can alter the supervisory state at runtime;
3 years ago
Bryan Biedenkapp 72b6fc443c refactor how TSCC CSC counter is handled;
3 years ago
Bryan Biedenkapp db0800e6e6 display decimal values (useful for DMR setup) for channel numbers as well as hex; properly send QUEUE responses in resources busy condition for DMR grants;
3 years ago
K4YT3X c487873db2
Reorganizing directory structure and minor housekeeping (#21)
3 years ago

Powered by TurnKey Linux.