MMDVM-based Digital Voice Modem Host Software
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Bryan Biedenkapp 672c6253d5
fix issue where buffer overflows are occurring while transmitting control data;
4 years ago
dmr fix issue where buffer overflows are occurring while transmitting control data; 4 years ago
edac fix data types; 5 years ago
host port upstream changes manually from https://github.com/jelimoore/dvmhost ceb967b3c9b519a22c3ec4d5cfe10f44cc413c01; add support to set rf power from configuration; 4 years ago
lookups file commenting cleanup; 5 years ago
modem port upstream changes manually from https://github.com/jelimoore/dvmhost ceb967b3c9b519a22c3ec4d5cfe10f44cc413c01; add support to set rf power from configuration; 4 years ago
network skip network data processing if mode is not enabled; 4 years ago
p25 add experimental support for DMR TIII (note this will not accept registrations or grant requests); 4 years ago
yaml inital commit from private repo to public; 6 years ago
.gitattributes inital commit from private repo to public; 6 years ago
.gitignore inital commit from private repo to public; 6 years ago
DVMHost.sln inital commit from private repo to public; 6 years ago
DVMHost.vcxproj update csproj; add logic to ensure system identity is never more then 8 characters; 5 years ago
DVMHost.vcxproj.filters update csproj; add logic to ensure system identity is never more then 8 characters; 5 years ago
Defines.h upstream: Refactor modem; support remote modem support via UDP; 5 years ago
HostMain.cpp fix buffer overflow error in HostMain; implement some of the basis for DMR Tier III; 5 years ago
HostMain.h inital commit from private repo to public; 6 years ago
LICENSE.md inital commit from private repo to public; 6 years ago
Log.cpp apply upstream updates to UDPSocket; 5 years ago
Log.h support transferring local logs to the FNE; 5 years ago
Makefile add support for properly encoding/decoding the PI header LC; 5 years ago
Makefile.arm add support for properly encoding/decoding the PI header LC; 5 years ago
Makefile.rpi-arm add support for properly encoding/decoding the PI header LC; 5 years ago
Mutex.cpp inital commit from private repo to public; 6 years ago
Mutex.h apply upstream updates to UDPSocket; 5 years ago
README.md cleanup markdown; 5 years ago
RSSI.dat inital commit from private repo to public; 6 years ago
RingBuffer.h inital commit from private repo to public; 6 years ago
StopWatch.cpp inital commit from private repo to public; 6 years ago
StopWatch.h apply upstream updates to UDPSocket; 5 years ago
Thread.cpp inital commit from private repo to public; 6 years ago
Thread.h apply upstream updates to UDPSocket; 5 years ago
Timer.cpp inital commit from private repo to public; 6 years ago
Timer.h inital commit from private repo to public; 6 years ago
Utils.cpp fix issue that caused an assertion crash when resetting the modem; store the DataHeader data during DMR traffic for future use; 5 years ago
Utils.h minor alteration to some debug/trace and logging; 5 years ago
config.yml add experimental support for DMR TIII (note this will not accept registrations or grant requests); 4 years ago
cpp.hint inital commit from private repo to public; 6 years ago
iden_channel_calc.py better support simplex channel selection via iden table; update iden_channel_calc.py helper to support doing conversion to channel no and FROM channel no; 5 years ago
iden_table.dat inital commit from private repo to public; 6 years ago
rid_acl.dat inital commit from private repo to public; 6 years ago
tg_acl.dat inital commit from private repo to public; 6 years ago

README.md

Digital Voice Modem Host

The DVM Host software provides the host computer implementation of a mixed-mode DMR/P25 or dedicated-mode DMR or P25 repeater system that talks to the actual modem hardware. The host software; is the portion of a complete Over-The-Air modem implementation that performs the data processing, decision making and FEC correction for a digital repeater.

This project is a direct fork of the MMDVMHost (https://github.com/g4klx/MMDVMHost) project, and combines the MMDVMCal (https://github.com/g4klx/MMDVMCal) project into a single package.

Building

Please see the various Makefile included in the project for more information. (All following information assumes familiarity with the standard Linux make system.)

The DVM Host software does not have any specific library dependancies and is written to be as library-free as possible. A basic GCC install is usually all thats needed to compile.

  • Makefile - This makefile is used for building binaries for the native installed GCC.
  • Makefile.arm - This makefile is used for cross-compiling for a ARM platform.

Use the make command to build the software.

Notes

Some extra notes for those who are using the Raspberry Pi, default Raspbian OS or Debian OS installations. You will not be able to flash or access the STM32 modem unless you do some things beforehand.

  1. Disable the Bluetooth services. Bluetooth will share the GPIO serial interface on /dev/ttyAMA0. On Rasbian OS or Debian OS, this is done by: systemctl disable bluetooth
  2. The default Rasbian OS and Debian OS will have a getty instance listening on /dev/ttyAMA0. This can conflict with the STM32, and is best if disabled. On Rasbian OS or Debian OS, this is done by: systemctl disable serial-getty@ttyAMA0.service
  3. There's a default boot option which is also listening on the GPIO serial interface. This must be disabled. Open the /boot/config.txt file in your favorite editor (vi or pico) and change it from:

console=serial0,115200 console=tty1 root=PARTUUID=[this is dynamic per partition] rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

to

console=tty1 root=PARTUUID=[this is dynamic per partition] rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

All thats being done is to remove the console=serial0,115200 part. Do not change anything else. Save the file, then reboot.

License

This project is licensed under the GPLv2 License - see the LICENSE.md file for details. Use of this project is intended, strictly for amateur and educational use ONLY. Any other use is at the risk of user and all commercial purposes are strictly forbidden.

Powered by TurnKey Linux.