The firmware for the MMDVM (Multi-Mode Digital Voice Modem)
 
 
 
 
 
 
Go to file
Jonathan Naylor c2ba5ab273 Merge branch 'boxcar_dstar_correlator' into boxcar_dstar_correlator_48k 2018-01-11 07:29:33 +00: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 More info on Linux & newer libraries OK 2016-09-14 22:57:34 +01:00
CWIdTX.cpp Additional changes for 48 kHz 2017-10-14 19:33:41 -03:00
CWIdTX.h Small CW Id cleanups. 2016-05-10 06:35:53 +01:00
CalDMR.cpp Changing name DMR1KCAL to DMRCAL1K 2018-01-07 00:24:58 -03:00
CalDMR.h Changing name DMR1KCAL to DMRCAL1K 2018-01-07 00:24:58 -03:00
CalDStarRX.cpp More changes to the D-Star RX. 2017-07-03 20:26:24 +01:00
CalDStarRX.h Add DMR calibration. 2016-04-14 17:42:38 +01:00
CalDStarTX.cpp Add DMR calibration. 2016-04-14 17:42:38 +01:00
CalDStarTX.h Add DMR calibration. 2016-04-14 17:42:38 +01:00
CalP25.cpp Add comments 2018-01-07 09:48:30 -03:00
CalP25.h Changing name DMR1KCAL to DMRCAL1K 2018-01-07 00:24:58 -03:00
CalRSSI.cpp Small tweaks. 2016-12-30 11:34:31 +00:00
CalRSSI.h Add the RSSI calibration mode. 2016-12-28 18:07:31 +00:00
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 Additional changes for 48 kHz 2017-10-14 19:33:41 -03:00
DMRDMOTX.cpp TX filter coefficients for 48 kHz 2017-10-14 12:18:43 -03:00
DMRDMOTX.h Revert the DMR DMO TX changes. 2017-04-17 09:25:38 +01:00
DMRDefines.h Begin conversion to 48 kHz sample rate. 2017-10-12 12:38:32 +01:00
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 Add dummy RSSI sampling code. 2016-10-31 19:39:32 +00:00
DMRRX.h Add dummy RSSI sampling code. 2016-10-31 19:39:32 +00:00
DMRSlotRX.cpp Additional changes for 48 kHz 2017-10-14 19:33:41 -03:00
DMRSlotRX.h Increase DMR rssi buffer size 2017-10-14 21:17:55 -03:00
DMRSlotType.cpp Initial commit 2016-01-14 18:57:21 +00:00
DMRSlotType.h Initial commit 2016-01-14 18:57:21 +00:00
DMRTX.cpp Merge branch 'boxcar_dstar_correlator' into boxcar_dstar_correlator_48k 2018-01-08 18:24:46 +00:00
DMRTX.h Adding DMR 1031 Hz Test Pattern 2018-01-03 00:55:14 -03:00
DStarDefines.h Begin conversion to 48 kHz sample rate. 2017-10-12 12:38:32 +01:00
DStarRX.cpp Reducing the bit error number for the EOT sequence (D-Star) 2018-01-10 20:04:29 -03:00
DStarRX.h Re-add the const qualifiers. 2017-08-18 11:04:06 +01:00
DStarTX.cpp TX filter coefficients for 48 kHz 2017-10-14 12:18:43 -03:00
DStarTX.h TX filter coefficients for 48 kHz 2017-10-14 12:18:43 -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 Merge branch 'boxcar_dstar_correlator' into boxcar_dstar_correlator_48k 2018-01-08 18:24:46 +00:00
IO.cpp Merge branch 'boxcar_dstar_correlator' into boxcar_dstar_correlator_48k 2017-10-28 12:47:15 +01:00
IO.h Merge branch 'master' into boxcar_dstar_correlator 2017-10-28 12:46:40 +01:00
IODue.cpp Change the hardware sample rate and ring buffer sizes. 2017-10-12 13:22:41 +01:00
IOSTM.cpp Merge branch 'boxcar_dstar_correlator' into boxcar_dstar_correlator_48k 2017-11-06 09:34:22 +00:00
IOSTM_CMSIS.cpp Merge branch 'boxcar_dstar_correlator' into boxcar_dstar_correlator_48k 2018-01-08 18:24:46 +00:00
IOTeensy.cpp Change the hardware sample rate and ring buffer sizes. 2017-10-12 13:22:41 +01:00
LICENCE Initial commit 2016-01-14 18:57:21 +00:00
MMDVM.cpp Changing name DMR1KCAL to DMRCAL1K 2018-01-07 00:24:58 -03:00
MMDVM.ino Changing name DMR1KCAL to DMRCAL1K 2018-01-07 00:24:58 -03:00
MMDVM_STM32F4xx.coproj Updating Coocox project file 2017-07-04 13:42:51 -04:00
Makefile Separating linker script for F722 and F767 2017-11-04 15:28:38 -03:00
Makefile.Arduino Create .bin on compile target instead of upload 2017-09-10 14:04:41 +02:00
Makefile.CMSIS Change port definition for bootloader (BL_PORT) in Makefile.CMSIS 2017-05-31 15:04:00 +02:00
P25Defines.h Begin conversion to 48 kHz sample rate. 2017-10-12 12:38:32 +01:00
P25RX.cpp Re-add the const qualifiers. 2017-08-18 11:04:06 +01:00
P25RX.h Re-add the const qualifiers. 2017-08-18 11:04:06 +01:00
P25TX.cpp TX filter coefficients for 48 kHz 2017-10-14 12:18:43 -03:00
P25TX.h Using CMSIS FIR interpolator for all modulators 2017-04-01 01:29:35 -03:00
README.md Update README.md 2017-01-03 16:36:34 +00:00
RSSIRB.cpp Add dummy RSSI sampling code. 2016-10-31 19:39:32 +00:00
RSSIRB.h Removing cstddef include for better toolchain compatibility (F4 & F7 devices). Please update the Lib. 2017-09-23 12:47:43 -03:00
RingBuff.h Added STM32F1 support to Serial module using CMSIS driver 2017-03-31 00:52:24 +02:00
STM32Utils.h Added STM32F1 and mmdvm_pog board support to IO module using CMSIS driver 2017-03-31 00:51:50 +02:00
SampleRB.cpp Sanity check the ring buffers. 2016-06-13 19:47:45 +01:00
SampleRB.h Removing cstddef include for better toolchain compatibility (F4 & F7 devices). Please update the Lib. 2017-09-23 12:47:43 -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 Merge branch 'boxcar_dstar_correlator' into boxcar_dstar_correlator_48k 2018-01-08 18:24:46 +00: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 Sanity check the ring buffers. 2016-06-13 19:47:45 +01:00
SerialRB.h Removing cstddef include for better toolchain compatibility (F4 & F7 devices). Please update the Lib. 2017-09-23 12:47:43 -03:00
SerialSTM.cpp Adding support for MMDVM-Pi with STM32F722 2017-11-02 00:41:26 -03:00
SerialSTM_CMSIS.cpp Move host communication port from USART2 to USART1 2017-05-31 15:05:58 +02:00
TODO.txt Update the TODO list, it's now empty. 2017-10-24 22:11:52 +01:00
Utils.cpp Initial commit 2016-01-14 18:57:21 +00:00
Utils.h Removing cstddef include for better toolchain compatibility (F4 & F7 devices). Please update the Lib. 2017-09-23 12:47:43 -03:00
YSFDefines.h Begin conversion to 48 kHz sample rate. 2017-10-12 12:38:32 +01:00
YSFRX.cpp Re-add the const qualifiers. 2017-08-18 11:04:06 +01:00
YSFRX.h Remove compiler warning. 2017-08-29 08:37:48 +01:00
YSFTX.cpp TX filter coefficients for 48 kHz 2017-10-14 12:18:43 -03:00
YSFTX.h Using CMSIS FIR interpolator for all modulators 2017-04-01 01:29:35 -03:00
mmdvmmenu.sh Add 12.288MHz TCXO to mmdvmmenu.sh 2016-11-10 16:48:52 +01:00
openocd.cfg Added Makefile for STM32F1 with CMSIS 2017-03-31 00:52:24 +02:00
stm32f4xx_link.ld New linker script file for SMT32F4XX, some minor changes on Makefile 2016-11-13 17:52:01 -03:00
stm32f722_link.ld Separating linker script for F722 and F767 2017-11-04 15:28:38 -03:00
stm32f767_link.ld Separating linker script for F722 and F767 2017-11-04 15:28:38 -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.