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 5fd9f1d8ea
upstream: fix old bug using m_port instead of m_port[x]; fix issue with P25 VoicePacket not checking m_control or m_duplex flags in certain situations;
5 years ago
dmr file commenting cleanup; 5 years ago
edac proper implementation for P25 confirmed PDU CRC-9; 5 years ago
host upstream: fix old bug using m_port instead of m_port[x]; fix issue with P25 VoicePacket not checking m_control or m_duplex flags in certain situations; 5 years ago
lookups file commenting cleanup; 5 years ago
modem correct issue when trying to close and reopen modem; update copyright dates; fix issue in Modem where the getResponse may not continue properly after returning; reorder operations in Host to Write, Modem Clock, Read, Network, DMR, P25, Timers; 5 years ago
network upstream: fix old bug using m_port instead of m_port[x]; fix issue with P25 VoicePacket not checking m_control or m_duplex flags in certain situations; 5 years ago
p25 upstream: fix old bug using m_port instead of m_port[x]; fix issue with P25 VoicePacket not checking m_control or m_duplex flags in certain situations; 5 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 upstream: Refactor modem; support remote modem support via UDP; 5 years ago
DVMHost.vcxproj.filters upstream: Refactor modem; support remote modem support via UDP; 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 upstream: Refactor modem; support remote modem support via UDP; 5 years ago
Makefile.arm upstream: Refactor modem; support remote modem support via UDP; 5 years ago
Makefile.rpi-arm upstream: Refactor modem; support remote modem support via UDP; 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 file cleanups; better logging of DMR voice sync vs voice frames; 5 years ago
Utils.h inital commit from private repo to public; 6 years ago
config.yml change udp "address" for modem UDP protocol to "endpointAddress" to make more clear this is an endpointAddress and not a hosting IP address; 5 years ago
cpp.hint inital commit from private repo to public; 6 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.