The firmware for the MMDVM (Multi-Mode Digital Voice Modem)
Find a file
2020-06-09 14:57:06 +01:00
pins
STM32F4XX_Lib@bcd346f530
STM32F7XX_Lib@2d5f4236fa
STM32F10X_Lib@417e0c2f4a
system_stm32f1xx
Tools
.gitignore
.gitmodules
AX25Demodulator.cpp Start on the actual AX.25 demodulator. 2020-06-09 14:57:06 +01:00
AX25Demodulator.h Start on the actual AX.25 demodulator. 2020-06-09 14:57:06 +01:00
AX25RX.cpp Start on the actual AX.25 demodulator. 2020-06-09 14:57:06 +01:00
AX25RX.h Start on the actual AX.25 demodulator. 2020-06-09 14:57:06 +01:00
BUILD.txt
CalDMR.cpp
CalDMR.h
CalDStarRX.cpp
CalDStarRX.h
CalDStarTX.cpp
CalDStarTX.h
CalFM.cpp
CalFM.h
CalNXDN.cpp
CalNXDN.h
CalP25.cpp
CalP25.h
CalPOCSAG.cpp
CalPOCSAG.h
CalRSSI.cpp
CalRSSI.h
Config.h
CWIdTX.cpp
CWIdTX.h
Debug.h
DMRDefines.h
DMRDMORX.cpp
DMRDMORX.h
DMRDMOTX.cpp
DMRDMOTX.h
DMRIdleRX.cpp
DMRIdleRX.h
DMRRX.cpp
DMRRX.h
DMRSlotRX.cpp
DMRSlotRX.h
DMRSlotType.cpp
DMRSlotType.h
DMRTX.cpp
DMRTX.h
DStarDefines.h
DStarRX.cpp
DStarRX.h
DStarTX.cpp
DStarTX.h
FM.cpp
FM.h
FMBlanking.cpp
FMBlanking.h
FMCTCSSRX.cpp
FMCTCSSRX.h
FMCTCSSTX.cpp
FMCTCSSTX.h
FMDirectForm1.h
FMDownsampler.cpp
FMDownsampler.h
FMDownsampleRB.cpp
FMDownsampleRB.h
FMKeyer.cpp
FMKeyer.h
FMRB.cpp
FMRB.h
FMTimeout.cpp
FMTimeout.h
FMTimer.cpp
FMTimer.h
Globals.h
I2CTeensy.cpp
IO.cpp
IO.h
IODue.cpp
IOPins.h
IOSTM.cpp
IOSTM_CMSIS.cpp
IOTeensy.cpp
LICENCE
Makefile
Makefile.Arduino
Makefile.CMSIS
MMDVM.cpp
MMDVM.ino
mmdvmmenu.sh
NXDNDefines.h
NXDNRX.cpp
NXDNRX.h
NXDNTX.cpp
NXDNTX.h
openocd.cfg
P25Defines.h
P25RX.cpp
P25RX.h
P25TX.cpp
P25TX.h
POCSAGTX.cpp
POCSAGTX.h
README.md
RingBuff.h
RSSIRB.cpp
RSSIRB.h
SampleRB.cpp
SampleRB.h
SerialArduino.cpp
SerialPort.cpp
SerialPort.h
SerialRB.cpp
SerialRB.h
SerialSTM.cpp
SerialSTM_CMSIS.cpp
stm32f4xx_link.ld
stm32f722_link.ld
stm32f767_link.ld
STM32Utils.h
Utils.cpp
Utils.h
YSFDefines.h
YSFRX.cpp
YSFRX.h
YSFTX.cpp
YSFTX.h

This is the source code of the MMDVM firmware that supports D-Star, DMR, System Fusion, P25, NXDN, POCSAG, and FM modes.

It runs on the Arduino Due, the ST-Micro STM32F1xxx, STM32F4xxx and STM32F7xxx processors, as well as the Teensy 3.1/3.2/3.5/3.6. What these platforms have in common is the use of an ARM Cortex-M3, M4, or M7 processors with a clock speed greater than 70 MHz, and access to at least one analogue to digital converter and one digital to analogue converter.

In order to build this software for the Arduino Due, you will need to edit a file within the Arduino GUI and that is detailed in the BUILD.txt file. The STM32 support is being supplied via the ARM GCC compiler. The Teensy support uses Teensyduino.

This software is licenced under the GPL v2 and is intended for amateur and educational use only. Use of this software for commercial purposes is strictly forbidden.