Commit Graph

231 Commits (a677f444d407874b7a8f7ecf968a91c297ec2ebb)

Author SHA1 Message Date
Bryan Biedenkapp 9dadc06130 I was asked for ASCII art, and I deliver, thus, ASCII art;
2 years ago
Bryan Biedenkapp 4acb60aeff add more plumbing to the CFNE for future use;
2 years ago
Bryan Biedenkapp d38e8d00da remove accidental debug code left in last commit;
2 years ago
Bryan Biedenkapp c4ca72581f for performance reasons on very noisy/busy setups that may have *lots* of peers, use of an alternate port to service diagnostic and activity log transfers helps ensure the traffic port doesn't become overloaded with data;
2 years ago
Bryan Biedenkapp 8ca4ed5a40 implement a few more CFNE NAK types to notify the peer of invalid conditions; take first steps towards FNE-side authoritative grants by implementing some logic plumbing;
2 years ago
Bryan Biedenkapp c6c1c72f79 institute a hard 250 peer cap on the CFNE for performance, stability and call quality reasons; implement support for the user to configure the connection limit on a CFNE; implement support to resolve a master NAK to a reason on the host;
2 years ago
Bryan Biedenkapp 0ea6ee07ed fix missed change of const char* to std::string (GCC 11+ didn't catch this but 4.9 did? Isn't that something?);
2 years ago
Bryan Biedenkapp eb57f1b5d8 implement functionality to block traffic to specific peers from specific external peers; use std::string over const char* wherever possible to limit pointer passing; implement support in FrameQueue and RawFrameQueue to bypass the queue and directly send messages to specified peers (useful in some situations for packets to be immediately dispatched vs queuing and batching); chunk RID list transmissions to aid in increasing performance (this will likely also need to be done with the TGID lists in the future as well); refactor transmitting ACL lists to peers into its own spun off thread so we don't block the main network processing loop (and infact, this requires documentation; since at a certain peer size DVM network partitioning should be considered to reduce the number of concurrent peers serviced by any given FNE and to better load balance connections across a network, instead of relying on a singular central FNE); implement /peer/count REST API to simply return the known connected count of peers; disable the forced ACL list update functionality (for now);
2 years ago
Bryan Biedenkapp af516f33fd report local and remote peer ID information for peer connection log messages;
2 years ago
Bryan Biedenkapp 80d38ccf3a refactor and reorganize network socket handling classes to be more consistent;
2 years ago
Bryan Biedenkapp 9e27875bb8 ensure network is a valid instantiation before trying to run;
2 years ago
Bryan Biedenkapp 5b5efcbe9d add support for network announcement of unit registration, deregistration and group affiliation so the FNE can collate the data more accurately; implement REST API on dvmfne to support retreiving the list of known affiliations; correct a bug in enumeration of RID and TGID lists that could cause weirdness; remote unnecessary "control" RTP payload type and just use a singluar payload type;
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 bad8129d7d file header updates;
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 8ff7067eca mplement experimental support to AES-256 encrypt the network connection; cleanup some instances where buffers were not being cleaned up properly; cleanup some of the AESCrypto implementation; remove references to some little used compiler macros;
2 years ago
Bryan Biedenkapp eba4db6104 refactor RTP code slightly to better handle tracking the RTP timestamp properly;
2 years ago
Bryan Biedenkapp 7513bccf52 refactor PROPERTY_PLAIN and READONLY_PROPERTY_PLAIN;
2 years ago
Bryan Biedenkapp 9611af1374 reorganize utility macros from Defines.h to Utils.h; cleanup unneeded includes in some places; cleanup files;
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 9fb2201139 code cleanup; some minor modifications for out-of-band software;
2 years ago
Bryan Biedenkapp 7b95ddff95 refactor and rework the CMake build system slightly (so it behaves better when compiled out-of-tree, shhh);
2 years ago
Bryan Biedenkapp bde6284308 ensure FNE software reports itself differently; make host Network class private section protected so the FNE codebase can inherit from it; create PeerNetwork inherited class on FNE;
2 years ago
Bryan Biedenkapp cf0d8bb430 port RTP header changes from fnecore for better handling the RTP timestamp; relabel conference FNE to converged FNE; refactor version slightly so that the running DVM host version is properly reported to the FNE and when saved to modem configuration area;
2 years ago
Bryan Biedenkapp bf72dcbee8 add support to picojson for uint64_t; correct issue with conference bridge FNE never incrementing a connections ping counter; implement /status and /peerlist APIs for conference bridge REST API; implement support for /peerlist in dvmcmd;
2 years ago
Bryan Biedenkapp 6b18089d75 implement REST API stub for conference bridge FNE;
2 years ago
Bryan Biedenkapp 21a4a97ec3 ensure if the network changes the destination ID for P25 and NXDN in-flight the LC data is properly replaced; implement talkgroup mutation by peer on conference bridge FNE;
2 years ago
Bryan Biedenkapp 0e705f74a6 report whether or not the host is transmitting CW;
2 years ago
Bryan Biedenkapp bd3a947964 enhancement for better dealing with voice in unsupported modes;
2 years ago
Bryan Biedenkapp d8dec70665 fix missing foreground option on dvmfne; add extra CC halt cases; correct bad check for enable control for conventional grant demand; fix incorrect creation og control byte for grant demand; add clear log message that a grant demand is being generated;
2 years ago
Bryan Biedenkapp d2968d63f4 add logic check for VOC to ensure network grants are always allowed;
2 years ago
Bryan Biedenkapp 506c59c52b fix range for softpots in TUI to be 0 thru 255;
2 years ago
Bryan Biedenkapp 73e32df310 ensure DMR doesn't try to perform supervisory control for the opposing slot on a CC instance; correct TSBK ToString();
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 ddfb6aaedc properly handle swapping between Rx and Tx antennas for BER operations on hotspots (this requires updated firmware);
2 years ago
Bryan Biedenkapp 5748420055 apply proper clamping to DMR network ID;
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 fe3d0b7e35 add command line argument to override enable modem debug (faster then continually modifying the YAML config file);
2 years ago
Bryan Biedenkapp 243ad6ce0c increase NXDN voice call verbosity; correct incorrectly calculated data offset for NXDN voice data;
2 years ago
Bryan Biedenkapp 12edb913b4 correct issue with AMBEFEC not properly calculating FEC for NXDN; correct buffer offset issue for P25 and NXDN;
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 362898a6e0 correct typo;
2 years ago
Bryan Biedenkapp 07084269aa add support to textually name threads;
2 years ago
Bryan Biedenkapp 4e758bba91 Merge branch 'master' into dev_355
2 years ago
Bryan Biedenkapp 388e23c67c fix issue where the gain mode wasn't being appropriately selected;
2 years ago
Bryan Biedenkapp c67314e49d rename getData to get in RingBuffer; ensure the RingBuffer contains a data to the given length before attempting to return that data;
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 1eb24608a0 add tiny AES library (for future LLA use);
2 years ago
Bryan Biedenkapp 4a764f67df [EXPERIMENTAL] add support to configure voice channel iden table IDs;
2 years ago
Bryan Biedenkapp 3b3bc884a4 implement parrot grant demand support for FNE conference bridge; correct issue with grant demands appearing as U2U instead of GROUP;
3 years ago
Bryan Biedenkapp 31f6b072fb correct some problems reported for --cal not writing the modem tuning partition; correct some issues with Rx tuning not properly applying during calibration procedures;
3 years ago
Bryan Biedenkapp d0be614c27 split announcement group config into its own config var;
3 years ago
Bryan Biedenkapp 7014d3823e complete conference bridge FNE peer communication;
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 d45af90c07 initial bare-bones implementation of dvmmon; enhance REST API to return more detailed status information (for use by dvmmon); cleanup file code style;
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 77ff4a551b typo cleanup;
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 82155893aa fix issue where the setup event loop may try to talk to a unconnected modem;
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 ca9703233d attempt to sanitize transmit state during configuration change when calibrating;
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.