The firmware for the MMDVM (Multi-Mode Digital Voice Modem)
 
 
 
 
 
 
Go to file
Andy CA6JAU ebd86df3ef Fix Config.h 2017-08-28 21:25:40 -03:00
system_stm32f1xx Adding conditional compilation for Arduino 1.6.7 fix 2017-04-02 22:17:09 -03:00
.gitignore Add build/ dir for Arduino Makefile to .gitignore 2017-04-12 22:31:59 +02:00
BUILD.txt
CWIdTX.cpp Make modem debugging a run-time parameter, not compile-time. 2017-04-14 14:19:00 +01:00
CWIdTX.h
CalDMR.cpp
CalDMR.h
CalDStarRX.cpp
CalDStarRX.h
CalDStarTX.cpp
CalDStarTX.h
CalRSSI.cpp
CalRSSI.h
Config.h Fix Config.h 2017-08-28 21:25:40 -03:00
DMRDMORX.cpp Remove any DC offset from before any further filtering takes place. 2017-07-16 18:57:15 +01:00
DMRDMORX.h Remove the unused sample dumping code. 2017-04-10 17:51:44 +01:00
DMRDMOTX.cpp Merge branch 'master' into c4fmdemod 2017-04-17 09:26:14 +01:00
DMRDMOTX.h Revert the DMR DMO TX changes. 2017-04-17 09:25:38 +01:00
DMRDefines.h
DMRIdleRX.cpp Make modem debugging a run-time parameter, not compile-time. 2017-04-14 14:19:00 +01:00
DMRIdleRX.h Remove the unused sample dumping code. 2017-04-10 17:51:44 +01:00
DMRRX.cpp
DMRRX.h
DMRSlotRX.cpp Remove any DC offset from before any further filtering takes place. 2017-07-16 18:57:15 +01:00
DMRSlotRX.h Remove the unused sample dumping code. 2017-04-10 17:51:44 +01:00
DMRSlotType.cpp
DMRSlotType.h
DMRTX.cpp Fixing TX inverse SINC filter for P25, and change TX filters for gain=1 2017-04-15 13:44:00 -03:00
DMRTX.h Using CMSIS FIR interpolator for all modulators 2017-04-01 01:29:35 -03:00
DStarDefines.h
DStarRX.cpp Re-add the const qualifiers. 2017-08-18 11:00:25 +01:00
DStarRX.h Re-add the const qualifiers. 2017-08-18 11:00:25 +01:00
DStarTX.cpp Fixing TX inverse SINC filter for P25, and change TX filters for gain=1 2017-04-15 13:44:00 -03:00
DStarTX.h Using CMSIS FIR interpolator for all modulators 2017-04-01 01:29:35 -03:00
Debug.h Add a ring buffer to the serial repeater. Uncompiled on the STM32 2017-04-24 18:02:36 +01:00
Globals.h Removing unnecessary “defined(STM32F4)” 2017-08-27 15:20:46 -03:00
IO.cpp Adding watchdog to the host serial port. 2017-08-20 15:52:52 +01:00
IO.h Adding watchdog to the host serial port. 2017-08-20 15:52:52 +01:00
IODue.cpp
IOSTM.cpp Removing unnecessary “defined(STM32F4)” 2017-08-27 15:20:46 -03:00
IOSTM_CMSIS.cpp Fix USART2 to USART1 after PR 94 2017-06-04 08:27:12 -04:00
IOTeensy.cpp
LICENCE
MMDVM.cpp Removing unnecessary “defined(STM32F4)” 2017-08-27 15:20:46 -03:00
MMDVM.ino Forgot this file. 2017-07-16 18:58:12 +01:00
MMDVM_STM32F4xx.coproj Updating Coocox project file 2017-07-04 13:42:51 -04:00
Makefile Including F767 target into the Makefile 2017-08-27 16:28:08 -03:00
Makefile.Arduino Fix Arduino Makefile to include GitVersion on upload 2017-06-06 10:50:53 +02:00
Makefile.CMSIS Change port definition for bootloader (BL_PORT) in Makefile.CMSIS 2017-05-31 15:04:00 +02:00
P25Defines.h
P25RX.cpp Re-add the const qualifiers. 2017-08-18 11:00:25 +01:00
P25RX.h Re-add the const qualifiers. 2017-08-18 11:00:25 +01:00
P25TX.cpp Normalise the inverse-sinc lowpass filter to unity gain. 2017-05-05 08:10:36 +01:00
P25TX.h Using CMSIS FIR interpolator for all modulators 2017-04-01 01:29:35 -03:00
README.md
RSSIRB.cpp
RSSIRB.h Removing unnecessary “defined(STM32F4)” 2017-08-27 15:20:46 -03:00
RingBuff.h Added STM32F1 support to Serial module using CMSIS driver 2017-03-31 00:52:24 +02:00
STM32Utils.h
SampleRB.cpp
SampleRB.h Removing unnecessary “defined(STM32F4)” 2017-08-27 15:20:46 -03:00
SerialArduino.cpp Add a ring buffer to the serial repeater. Uncompiled on the STM32 2017-04-24 18:02:36 +01:00
SerialPort.cpp Adding support for STM32F767 boxcar branch 2017-08-28 21:18:06 -03:00
SerialPort.h Add a ring buffer to the serial repeater. Uncompiled on the STM32 2017-04-24 18:02:36 +01:00
SerialRB.cpp
SerialRB.h Removing unnecessary “defined(STM32F4)” 2017-08-27 15:20:46 -03:00
SerialSTM.cpp Removing unnecessary “defined(STM32F4)” 2017-08-27 15:20:46 -03:00
SerialSTM_CMSIS.cpp Move host communication port from USART2 to USART1 2017-05-31 15:05:58 +02:00
Utils.cpp
Utils.h Removing unnecessary “defined(STM32F4)” 2017-08-27 15:20:46 -03:00
YSFDefines.h
YSFRX.cpp Re-add the const qualifiers. 2017-08-18 11:00:25 +01:00
YSFRX.h Re-add the const qualifiers. 2017-08-18 11:00:25 +01:00
YSFTX.cpp Fixing TX inverse SINC filter for P25, and change TX filters for gain=1 2017-04-15 13:44:00 -03:00
YSFTX.h Using CMSIS FIR interpolator for all modulators 2017-04-01 01:29:35 -03:00
mmdvmmenu.sh
openocd.cfg Added Makefile for STM32F1 with CMSIS 2017-03-31 00:52:24 +02:00
stm32f4xx_link.ld
stm32f7xx_link.ld Adding preliminary support for STM32F767 (Nucleo-144 F767ZI) 2017-08-24 22:24:27 -03:00

README.md

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

It runs on the Arduino Due, the ST-Micro STM32F407-DISCO and STM32F446-NUCLEO, 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 or M4 processor with a clock speed greater than 70 MHz, and access to at least one analogue to digital converter and one digital to analogue converter. A Cortex-M7 processor is also probably adequate.

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 Coocox IDE with ARM GCC. The Teensy support is via the latest beta of 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.