Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
c7b9f80
rebuild r05a04_dev from nasty Git merge bullshit; implement handling …
gatekeep Dec 3, 2025
99c4064
remove old documents;
gatekeep Dec 3, 2025
463bdee
BUGFIX: fix some unbounded array checking;
gatekeep Dec 3, 2025
b5d480e
enhance InfluxDB implementation: fix bad handling on Windows; fix bad…
gatekeep Dec 3, 2025
80215c0
EXPERIMENTAL: add an adaptive jitter buffer implementation to the FNE…
gatekeep Dec 4, 2025
b936e6b
remove unnecessary garbage in AI generated doc; use references for au…
gatekeep Dec 4, 2025
f53b191
cleanup doc;
gatekeep Dec 4, 2025
aab56fe
properly move hastily erected debug YAML config to the peer ACL file …
gatekeep Dec 4, 2025
eba0b34
update jitter buffer doc;
gatekeep Dec 4, 2025
d50a3a7
BUGFIX: correct naive implementation that did not consider the length…
gatekeep Dec 4, 2025
9bad517
BUGFIX: correct similar ip struct casting problem;
gatekeep Dec 4, 2025
2f0c301
implement a very preliminary DMR to VTUN IP dispatcher based on the P…
gatekeep Dec 5, 2025
cbb494c
use 3/4 rate instead of 1 rate; add some dev notes future me;
gatekeep Dec 5, 2025
4164a12
implement preliminary positive response to KMM HELLO (this still will…
gatekeep Dec 5, 2025
ce6f04e
add some extra logging for VTUN PDU;
gatekeep Dec 5, 2025
4f5051e
better implement V(R) V(S) checking;
gatekeep Dec 5, 2025
7d15834
add prereq logging of last load time for various lookup tables;
gatekeep Dec 6, 2025
230f6c5
add fne-stats; add reload peers and crypto;
gatekeep Dec 6, 2025
78c4ac0
update FNE REST API doc;
gatekeep Dec 6, 2025
c3677e0
WIN32: fix ctime_r and add Win32 compat for ctime_s so we can compile…
gatekeep Dec 7, 2025
8163f0c
Win32: FNE's P25PacketData clock() in its entirety should do nothing …
gatekeep Dec 7, 2025
2dad4a8
shut the compiler up about order of constructor initializers;
gatekeep Dec 7, 2025
6ebf2be
EXPERIMENTAL: add option for 1 second delayed network TDU when a subs…
gatekeep Dec 9, 2025
4515f10
slight TUI color palette change;
gatekeep Dec 9, 2025
4f92cd3
implement support to configure adaptive jitter buffer from peered;
gatekeep Dec 9, 2025
dc5c833
initialize FinalCut palette earlier;
gatekeep Dec 16, 2025
53714d7
document that key IDs are hex not dec;
gatekeep Dec 16, 2025
c04ec02
BUGFIX: lets not memset past the possible end of the key array....;
gatekeep Dec 16, 2025
3ba3ab3
track active call counts (this might be slightly error prone, so we w…
gatekeep Dec 16, 2025
7be04da
attempt to validate source IP/port during a RPTL, RPTK or RPTC event …
gatekeep Dec 19, 2025
753ad09
BUGFIX: dvmpatch did not properly release the network stream ID at th…
gatekeep Dec 29, 2025
5a70ace
BUGFIX: for R05A04s 1s delayed TDU, make sure we have valid IDs befor…
gatekeep Dec 29, 2025
a8734c0
BUGFIX: add more stream ID lockout reset handling;
gatekeep Dec 29, 2025
23e6823
BUGFIX: add more stream ID lockout reset handling;
gatekeep Dec 29, 2025
2e4bb27
add some experiemental support to dvmpatch to support clear to enc on…
gatekeep Dec 30, 2025
c93694e
BUGFIX: only consider jitter buffer for RTP frames not carrying the e…
gatekeep Dec 30, 2025
2ee49c8
BUGFIX: always allow the network stack to process and pass RTP frames…
gatekeep Dec 30, 2025
6750afa
BUGFIX: dvmbridge, ignore UDP frame timeouts when using RTP or USRP U…
gatekeep Dec 30, 2025
75e808c
add dropped call support to dvmpatch; refactor/rewrite dvmpatch encry…
gatekeep Dec 30, 2025
2caaccd
hide debug messages;
gatekeep Dec 30, 2025
7c98c1f
BUGFIX: validate destination matches before handling TDU;
gatekeep Dec 30, 2025
ef7ed5f
report ssrc for late packets;
gatekeep Dec 30, 2025
40ef371
prevent issue with 0 callDstId on dvmpatch; reject TDUs with no desti…
gatekeep Dec 31, 2025
e5d8eed
add separate packet dumping option to the network stack, to allow for…
gatekeep Jan 2, 2026
966b6dd
BUGFIX: fix condition in P25 call handler where if the TSBK was not d…
gatekeep Jan 2, 2026
5ac001c
add network debug trace around stream ID reset calls;
gatekeep Jan 5, 2026
096e9fb
better handle framequeue debugging when not performing packet dumping;
gatekeep Jan 5, 2026
cb0dcc7
implement proper packet reordering for P25 PDU data; BUGFIX: add boun…
gatekeep Jan 5, 2026
2e1ab42
Merge remote-tracking branch 'origin/master' into r05a04_dev
gatekeep Jan 6, 2026
4f2a3b9
BUGFIX: fix startup crash of dvmbridge when using analog audio mode; …
gatekeep Jan 6, 2026
7e91a60
bump copyright dates;
gatekeep Jan 6, 2026
9872e9c
BUGFIX: for unauthorized, unconnected failures the NAK response was n…
gatekeep Jan 6, 2026
1f95016
enhance REST API logging; add dev REST API commands to force send NAK…
gatekeep Jan 6, 2026
2a8a223
add PDU block reordering support to dvmhost;
gatekeep Jan 6, 2026
5541998
minor bugfix, correct incorrect log module for host sourced analog au…
gatekeep Jan 9, 2026
870c643
very experimental fix for #111, along with additional enhancements to…
gatekeep Jan 9, 2026
504fa39
update bridge config and expressly document the need to properly conf…
gatekeep Jan 9, 2026
b9b366a
make the program status variable m_running a static s_running for dvm…
gatekeep Jan 9, 2026
9cf2d49
(we're still hunting the cause of bridge ceasing UDP socket operation…
gatekeep Jan 9, 2026
577d5cd
fix concurrency lockup for DMR granting;
gatekeep Jan 9, 2026
d26abdc
remove main thread sleep control this causes WinSock on Win32 to lose…
gatekeep Jan 9, 2026
92a737a
move sample level dumping option to CLI;
gatekeep Jan 9, 2026
b1dad3b
always reset the call streams at the end of a call;
gatekeep Jan 9, 2026
51cc90d
increase packet processing latency warning to 250ms (1/4 second);
gatekeep Jan 10, 2026
6b70ffe
begin adding support for P25P2 network transiting;
gatekeep Jan 12, 2026
f4ea79b
add some verbose debug trace for checkNetTrafficCollision();
gatekeep Jan 12, 2026
9f9cc57
begin defining P25 Phase 2 primitives;
gatekeep Jan 12, 2026
5930dbe
P2 abbreviated/explicit partition MCOs are essentially just TSBK opco…
gatekeep Jan 12, 2026
ba53773
add MFID specific partition type;
gatekeep Jan 12, 2026
746b124
refactor MAC MCO defines;
gatekeep Jan 12, 2026
4bc3376
correct comment;
gatekeep Jan 12, 2026
4f3ac32
make slot numerical;
gatekeep Jan 12, 2026
cad8ac7
whoops meant == not =;
gatekeep Jan 12, 2026
fa86412
implement RTP audio pacing by timestamp sent by source;
gatekeep Jan 13, 2026
689ad0c
for maintainability split modes into separate source CPP files; BUGFI…
gatekeep Jan 13, 2026
69bceec
preamble tones are not supported for UDP audio;
gatekeep Jan 13, 2026
637773f
BUGFIX: dvmpatch do not send LDU2s until network is in non-idle state;
gatekeep Jan 13, 2026
217872d
convert direct MMDVM TDU to a timed TDU; correct some handling of LDU…
gatekeep Jan 13, 2026
87cda7a
remove dvmmon, R05A02 will be the last version to support dvmmon, R05…
gatekeep Jan 13, 2026
7c28cff
add more P25 Phase 2 primitives for S-OEMI sync and Hamming (8,4,4) f…
gatekeep Jan 13, 2026
01636ab
more P25 Phase 2 constants;
gatekeep Jan 14, 2026
e82b0a4
extreme preliminary work to handle P25 Phase 2 MAC messages (nothing …
gatekeep Jan 14, 2026
3a82755
continued work on preliminary instrumentation for Phase 2 MAC handling;
gatekeep Jan 14, 2026
6088620
fix missing parens;
gatekeep Jan 14, 2026
ff0fbec
split the decodeVCH_MACPDU into two functions, one for IEMI the other…
gatekeep Jan 14, 2026
d51f4fc
bugfix and correct encode/decode for RS 52,30,23, 46,26,21, 45,26,20,…
gatekeep Jan 14, 2026
51552e2
implement and add more EDAC verification test;
gatekeep Jan 14, 2026
d1fdf59
add DMR EMB and QR 16,7,6 tests; correct issue where QR 16,7,6 decode…
gatekeep Jan 14, 2026
dc6d92b
finally what I was trying to get to -- add testcases for the new P2 M…
gatekeep Jan 14, 2026
0a8a640
add missing Hamming FEC test cases;
gatekeep Jan 14, 2026
782469d
finish out the base crypto test suite and include the DES algo;
gatekeep Jan 14, 2026
752213d
(this first part is subject to Git revert if it becomes problematic, …
gatekeep Jan 15, 2026
028bd5c
for condition where a downstream peer is trying to connect to us, onl…
gatekeep Jan 15, 2026
683e71e
EXPERIMENTAL (and untested): allow source ID overriding for parrot pl…
gatekeep Jan 15, 2026
624d84c
validate the RPC data length includes the message;
gatekeep Jan 15, 2026
8acd867
BUGFIX: handle edge case where a opcode $27 is not an ISP_EMERG_ALARM…
gatekeep Jan 18, 2026
674fdf3
do not use [] access for grantTimers and unitRegTimers, use find() lo…
gatekeep Jan 18, 2026
0ab2692
Merge remote-tracking branch 'origin/master' into r05a04_dev
gatekeep Jan 20, 2026
eec3fe5
issue a notify CC channel release on a ChanRelease TDULC;
gatekeep Jan 26, 2026
a43efdd
add explicit TDU TG release option, this option allows a CC to proces…
gatekeep Jan 26, 2026
5c74c90
add option displayModemDebugMessages to optionally disable or enable …
gatekeep Jan 30, 2026
a5689d8
correct TSBK, TDULC and PDU transmission using V.24 DFSI, timing must…
gatekeep Jan 30, 2026
3a4706b
allow TDUs to be sent regardless of whether a V.24 call was started o…
gatekeep Jan 30, 2026
2e33132
do work on V.24 PDU support (inbound should be working pretty much pe…
gatekeep Jan 30, 2026
78cb47d
V.24 PDU work;
gatekeep Jan 31, 2026
a5c0fba
allow the user to adjust the frame timeout length when using frame ti…
gatekeep Feb 1, 2026
46edf96
after consideration entirely refactor how UDP frame timing is generat…
gatekeep Feb 1, 2026
9f08ed1
disable this debug trace, its too noisy;
gatekeep Feb 1, 2026
d68fffa
do not consider active call or call counts for parrot;
gatekeep Feb 2, 2026
eee7a21
add call collisions to the stats counters; add REST APIs to reset and…
gatekeep Feb 2, 2026
a600f53
log non-call DMR terminators like P25;
gatekeep Feb 2, 2026
16fde05
correct endpoints for counter reset APIs;
gatekeep Feb 2, 2026
7ab4443
reset active call count on a maintainence loop;
gatekeep Feb 2, 2026
c044e42
increase V.24 outbound rate for TSDUs;
gatekeep Feb 3, 2026
87ad34f
properly set the V.24 Tx buffer size to the FIFO length like done for…
gatekeep Feb 4, 2026
87f94b8
update gitignore to include some python stuff; add very very prelimin…
gatekeep Feb 5, 2026
c5786b3
add option to disable deny responses in conventional for radios that …
gatekeep Feb 5, 2026
b972751
delete array instead of delete;
gatekeep Feb 6, 2026
b5cb46a
add protections to prevent the network mutex from locking too long; a…
gatekeep Feb 12, 2026
2bb574f
ICC and GRANT shouldnt NAK, as this will cause a straight disconnect/…
gatekeep Feb 12, 2026
65910b3
fix issue where in-call control might start looping requests;
gatekeep Feb 12, 2026
d39b98c
lets make sure RID0 is never used, treat as WUID_FNE instead;
gatekeep Feb 12, 2026
570b185
only send ICC upstream when the ICC request originates on the local FNE;
gatekeep Feb 13, 2026
0389cc2
Revise cross-compilation instructions in README
DevRanger Feb 16, 2026
e982e28
relabel some source files in the FNE, FNENetwork -> TrafficNetwork, D…
gatekeep Feb 19, 2026
2c61748
identify a software SDR;
gatekeep Feb 20, 2026
24bbfb6
add support to dvmcfggen for logging configuration; add support to dv…
gatekeep Feb 21, 2026
973b4f1
typo;
gatekeep Feb 21, 2026
14cafd4
HIGHLY_UNECESSARY_DISCLAIMER_FOR_THE_MENTAL;
gatekeep Feb 22, 2026
63cda66
the typo of that define was driving my OCD nuts;
gatekeep Feb 22, 2026
a67fe93
include new statement in README.md;
gatekeep Feb 22, 2026
d853b35
enforce a users usage understanding by adding a startup configuration…
gatekeep Feb 22, 2026
2e9eb30
these flags are root level;
gatekeep Feb 22, 2026
b9294d6
make not be stupid error more clear;
gatekeep Feb 22, 2026
46a88c9
copy legalese from config.yml to README.md;
gatekeep Feb 22, 2026
cd1b756
policy updates
DevRanger Feb 22, 2026
3c78d2e
Update usage_guidelines.md
DevRanger Feb 22, 2026
1be4086
create issue & pr templates
DevRanger Feb 22, 2026
c020b54
remove dvmmon from bug & pr template
DevRanger Feb 23, 2026
2f79146
revert how timestamping is generated;
gatekeep Feb 24, 2026
88a4fec
BUGFIX: fix incorrectly set length for RTP packets, we were incorrect…
gatekeep Feb 24, 2026
abe1cc5
enrage the entire community by cleaning up the bridge configuration t…
gatekeep Feb 24, 2026
43cf253
code cleanup (no functional change);
gatekeep Feb 24, 2026
e2e8409
fix missing marker bit on RTP seq 0 to make jsb stop complaining; fix…
gatekeep Feb 24, 2026
897930d
properly set the FIRST seq (when seq is reset to 0) as a marker; beca…
gatekeep Feb 24, 2026
4d08586
wtf;
gatekeep Feb 24, 2026
7a39cdd
cleanup typo and bad spacing due to bad VSCode configuration; correct…
gatekeep Feb 24, 2026
d961a9e
correct issue where RTP sequences were not stepped appropriately;
gatekeep Feb 25, 2026
1c787b4
ignore m_audioDetect flag for UDP audio outbound to the FNE; attempt …
gatekeep Feb 27, 2026
1d5e3b8
whoops remove debug trace line;
gatekeep Feb 27, 2026
4f68f41
remove incorrect shift;
gatekeep Feb 27, 2026
7c7ba15
ensure network watchdog resets all states; ignore TDU/TDULC when loca…
gatekeep Feb 28, 2026
75583df
reset callStartTime for TGs who receive Non-Call TDU/Terminators;
gatekeep Feb 28, 2026
6aade5a
remove duration log from Non-Call TDU;
gatekeep Feb 28, 2026
2654a19
disable the expected TS code for RTP frames;
gatekeep Feb 28, 2026
15be34a
add mutex locking when making a copy of the RadioId table to prevent …
gatekeep Mar 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 139 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
name: Bug report
description: Report a reproducible bug in dvmhost or related components
title: "[BUG] "
labels: ["bug"]

body:
- type: markdown
attributes:
value: |
**Issues are for reproducible bugs only.
Feature requests and roadmap suggestions will be closed.**

Please provide enough detail for us to reproduce the issue.
Full logs are strongly preferred over screenshots or partial snippets.

- type: dropdown
id: component
attributes:
label: Component
description: Select the affected module
options:
- dvmhost
- dvmfne
- dvmbridge
- dvmpatch
- dvmcmd
- sysview
- tged
- peered
- Other
validations:
required: true

- type: input
id: component_other
attributes:
label: If "Other", specify component
placeholder: "Describe the affected component"

- type: input
id: version
attributes:
label: Version / Commit
description: Provide the exact commit SHA or tag
placeholder: "ex: v1.2.3 or a1b2c3d4"
validations:
required: true

- type: dropdown
id: build_type
attributes:
label: Build type
options:
- Built from source (native)
- Cross-compiled
- Custom packaging
validations:
required: true

- type: input
id: compiler
attributes:
label: Compiler version
description: Output of `gcc --version` or `clang --version`
placeholder: "ex: GCC 13.2.0"
validations:
required: true

- type: input
id: environment
attributes:
label: Operating system / architecture
placeholder: "ex: Debian 12 x86_64"
validations:
required: true

- type: textarea
id: build_flags
attributes:
label: Build flags / CMake options
description: Include any special flags used (ex: cross-compile options)
placeholder: |
Example:
-DCROSS_COMPILE_ARM=1
-DCMAKE_BUILD_TYPE=Release
render: text

- type: textarea
id: summary
attributes:
label: Summary
description: Brief description of the issue
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behavior
validations:
required: true

- type: textarea
id: actual
attributes:
label: Actual behavior
description: Include exact error messages if applicable
validations:
required: true

- type: textarea
id: repro
attributes:
label: Steps to reproduce
placeholder: |
1.
2.
3.
validations:
required: true

- type: textarea
id: logs
attributes:
label: Full logs
description: Paste complete logs or attach files. Redact secrets.
render: text

- type: textarea
id: config
attributes:
label: Relevant config (redacted)
description: Include only relevant sections with secrets removed
render: text

- type: textarea
id: additional
attributes:
label: Additional context
6 changes: 6 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
blank_issues_enabled: false

contact_links:
- name: DVMProject Community (Discord)
url: https://discord.dvmproject.io/
about: For questions, discussion, and general support, please join our Discord community.
49 changes: 49 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
## Summary
Describe the change and why it is needed.

## Component(s)
Which part(s) of the project does this affect?

- [ ] dvmhost
- [ ] dvmfne
- [ ] dvmbridge
- [ ] dvmpatch
- [ ] dvmcmd
- [ ] sysview
- [ ] tged
- [ ] peered
- [ ] Other (explain below)

## Type of change
- [ ] Bug fix
- [ ] Refactor / cleanup
- [ ] Performance improvement
- [ ] Documentation update
- [ ] Build / tooling change

## Related issues
Link any related bug reports.

Closes #
Refs #

## Build & test notes
Explain how this was built and tested.

Include:
- OS / distro
- Compiler version
- Any special build flags

## Logs / output (if applicable)
Paste relevant output demonstrating the fix or behavior change.

## Checklist
- [ ] Change is scoped and focused
- [ ] Existing functionality verified
- [ ] No unrelated refactors included
- [ ] Documentation updated if needed
- [ ] No secrets or credentials included

## Notes for maintainers
Anything reviewers should be aware of?
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ package/
*.ini
.vs
.idea/
venv/
__pycache__/
*.pyc

# Prerequisites
*.d
Expand Down
7 changes: 0 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,6 @@ install(TARGETS dvmhost DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(TARGETS dvmcmd DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(TARGETS dvmfne DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
if (ENABLE_TUI_SUPPORT AND (NOT DISABLE_TUI_APPS))
install(TARGETS dvmmon DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(TARGETS sysview DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
install(TARGETS tged DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
endif (ENABLE_TUI_SUPPORT AND (NOT DISABLE_TUI_APPS))
Expand All @@ -302,7 +301,6 @@ if (NOT TARGET strip)
COMMAND arm-linux-gnueabihf-strip -s dvmhost
COMMAND arm-linux-gnueabihf-strip -s dvmfne
COMMAND arm-linux-gnueabihf-strip -s dvmcmd
COMMAND arm-linux-gnueabihf-strip -s dvmmon
COMMAND arm-linux-gnueabihf-strip -s sysview
COMMAND arm-linux-gnueabihf-strip -s tged
COMMAND arm-linux-gnueabihf-strip -s peered
Expand All @@ -322,7 +320,6 @@ if (NOT TARGET strip)
COMMAND aarch64-linux-gnu-strip -s dvmhost
COMMAND aarch64-linux-gnu-strip -s dvmfne
COMMAND aarch64-linux-gnu-strip -s dvmcmd
COMMAND aarch64-linux-gnu-strip -s dvmmon
COMMAND aarch64-linux-gnu-strip -s sysview
COMMAND aarch64-linux-gnu-strip -s tged
COMMAND aarch64-linux-gnu-strip -s peered
Expand All @@ -342,7 +339,6 @@ if (NOT TARGET strip)
COMMAND strip -s dvmhost
COMMAND strip -s dvmfne
COMMAND strip -s dvmcmd
COMMAND strip -s dvmmon
COMMAND strip -s sysview
COMMAND strip -s tged
COMMAND strip -s peered
Expand Down Expand Up @@ -378,7 +374,6 @@ if (NOT TARGET tarball)
COMMAND touch ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/log/INCLUDE_DIRECTORY
COMMAND cp -v dvmhost ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/bin
COMMAND cp -v dvmcmd ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/bin
COMMAND cp -v dvmmon ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/bin
COMMAND cp -v sysview ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/bin
COMMAND cp -v tged ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/bin
COMMAND cp -v peered ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/bin
Expand Down Expand Up @@ -459,7 +454,6 @@ if (NOT TARGET tarball_notools)
COMMAND touch ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/log/INCLUDE_DIRECTORY
COMMAND cp -v dvmhost ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/bin
COMMAND cp -v dvmcmd ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/bin
COMMAND cp -v dvmmon ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/bin
COMMAND cp -v sysview ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/bin
COMMAND cp -v tged ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/bin
COMMAND cp -v peered ${CMAKE_INSTALL_PREFIX_TARBALL}/dvm/bin
Expand Down Expand Up @@ -537,7 +531,6 @@ add_custom_target(old_install
COMMAND mkdir -p ${CMAKE_LEGACY_INSTALL_PREFIX}/schema
COMMAND install -m 755 dvmhost ${CMAKE_LEGACY_INSTALL_PREFIX}/bin
COMMAND install -m 755 dvmcmd ${CMAKE_LEGACY_INSTALL_PREFIX}/bin
COMMAND install -m 755 dvmmon ${CMAKE_LEGACY_INSTALL_PREFIX}/bin
COMMAND install -m 755 sysview ${CMAKE_LEGACY_INSTALL_PREFIX}/bin
COMMAND install -m 755 tged ${CMAKE_LEGACY_INSTALL_PREFIX}/bin
COMMAND install -m 755 peered ${CMAKE_LEGACY_INSTALL_PREFIX}/bin
Expand Down
23 changes: 19 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ The Digital Voice Modem ("DVM") Core Software Suite, provides the a set of appli

Please feel free to reach out to us for help, comments or otherwise, on our Discord: https://discord.gg/3pBe8xgrEz

**THIS SOFTWARE MUST NEVER BE USED IN PUBLIC SAFETY OR LIFE SAFETY CRITICAL APPLICATIONS! This software project is provided solely for personal, non-commercial, hobbyist use; any commercial, professional, governmental, or other non-hobbyist use is strictly discouraged, fully unsupported and expressly disclaimed by the authors. For full project policies and support limitations, see: [Usage & Support Guidelines](usage_guidelines.md).**

This project suite generates a few executables:

### Core Applications
Expand Down Expand Up @@ -90,12 +92,21 @@ sudo apt-get install libdw-dev:arm64
dvmhost/build # sudo make old_install
```

If cross-compiling is required (for either ARM 32bit, 64bit or old Raspberry Pi ARM 32bit), the CMake build system has some options:
If cross-compiling is required (ARM 32-bit or ARM64), the CMake build system provides the following options:

- `-DCROSS_COMPILE_ARM=1` - Cross-compile **dvmhost** for generic ARM 32-bit
(ex: Raspberry Pi running a 32-bit OS; Debian/Raspbian Bullseye or newer)

- `-DCROSS_COMPILE_AARCH64=1` - Cross-compile **dvmhost** for generic ARM 64-bit
(ex: Raspberry Pi 4+ or other ARM64 systems; Debian/Raspbian Bullseye or newer)

- `-DCROSS_COMPILE_ARM=1` - This will cross-compile dvmhost for generic ARM 32bit. (RPi4+ running 32-bit distro's can fall into this category [on Debian/Rasbpian anything bullseye or newer])
- `-DCROSS_COMPILE_AARCH64=1` - This will cross-compile dvmhost for generic ARM 64bit. (RPi4+ running 64-bit distro's can fall into this category [on Debian/Rasbpian anything bullseye or newer])
Please note cross-compilation requires you to have the appropriate development packages installed for your system.:

Please note cross-compliation requires you to have the appropriate development packages installed for your system. For ARM 32-bit, on Debian/Ubuntu OS install the "arm-linux-gnueabihf-gcc" and "arm-linux-gnueabihf-g++" packages. For ARM 64-bit, on Debian/Ubuntu OS install the "aarch64-linux-gnu-gcc" and "aarch64-linux-gnu-g++" packages.
- **ARM 32-bit (Debian/Ubuntu):**
`arm-linux-gnueabihf-gcc`, `arm-linux-gnueabihf-g++`

- **ARM 64-bit (Debian/Ubuntu):**
`aarch64-linux-gnu-gcc`, `aarch64-linux-gnu-g++`

[See project notes](#project-notes).

Expand Down Expand Up @@ -406,3 +417,7 @@ After finishing these steps, reboot.
## License

This project is licensed under the GPLv2 License - see the [LICENSE](LICENSE) file for details. Use of this project is intended, for amateur and/or educational use ONLY. Any other use is at the risk of user and all commercial purposes is strictly discouraged.

**THIS SOFTWARE MUST NEVER BE USED IN PUBLIC SAFETY OR LIFE SAFETY CRITICAL APPLICATIONS! This software project is provided solely for personal, non-commercial, hobbyist use; any commercial, professional, governmental, or other non-hobbyist use is strictly discouraged, fully unsupported and expressly disclaimed by the authors.**

By using this software, you agree to indemnify, defend, and hold harmless the authors, contributors, and affiliated parties from and against any and all claims, liabilities, damages, losses, or expenses (including reasonable attorneys’ fees) arising out of or relating to any unlawful, unauthorized, or improper use of the software.
Loading