The firmware for the MMDVM (Multi-Mode Digital Voice Modem)
 
 
 
 
 
 
Go to file
Andy CA6JAU 9c01a6328a Merge remote-tracking branch 'g4klx/nxdn' into nxdn 2018-02-07 17:32:54 -03:00
system_stm32f1xx
.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 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
CalDStarRX.h
CalDStarTX.cpp
CalDStarTX.h
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
CalRSSI.h
Config.h Small refactor. 2017-07-10 19:41:01 +01:00
DMRDMORX.cpp Remove any DC offset from before any further filtering takes place. 2017-07-16 18:57:15 +01:00
DMRDMORX.h
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
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
DMRSlotType.cpp
DMRSlotType.h
DMRTX.cpp Fix comment and formatting 2018-01-06 11:05:43 -03:00
DMRTX.h Adding DMR 1031 Hz Test Pattern 2018-01-03 00:55:14 -03:00
DStarDefines.h
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 10:57:47 +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
Debug.h Add a ring buffer to the serial repeater. Uncompiled on the STM32 2017-04-24 18:02:36 +01:00
Globals.h NXDN first cut, not working yet. 2018-01-10 20:30:35 +00:00
IO.cpp Add support for NXDN 4800. 2018-02-07 20:25:16 +00:00
IO.h Add support for NXDN 4800. 2018-02-07 20:25:16 +00:00
IODue.cpp NXDN first cut, not working yet. 2018-01-10 20:30:35 +00:00
IOSTM.cpp Merge branch 'master' into nxdn 2018-02-05 20:06:46 +00:00
IOSTM_CMSIS.cpp NXDN first cut, not working yet. 2018-01-10 20:30:35 +00:00
IOTeensy.cpp NXDN first cut, not working yet. 2018-01-10 20:30:35 +00:00
LICENCE
MMDVM.cpp NXDN first cut, not working yet. 2018-01-10 20:30:35 +00:00
MMDVM.ino NXDN first cut, not working yet. 2018-01-10 20:30:35 +00: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
NXDNDefines.h Add support for NXDN 4800. 2018-02-07 20:25:16 +00:00
NXDNRX.cpp Revert "Start work on 4800 baud NXDN support." 2018-02-07 18:07:51 +00:00
NXDNRX.h Revert "Start work on 4800 baud NXDN support." 2018-02-07 18:07:51 +00:00
NXDNTX.cpp Add support for NXDN 4800. 2018-02-07 20:25:16 +00:00
NXDNTX.h Revert "Start work on 4800 baud NXDN support." 2018-02-07 18:07:51 +00:00
P25Defines.h
P25RX.cpp Re-add the const qualifiers. 2017-08-18 10:57:47 +01:00
P25RX.h Re-add the const qualifiers. 2017-08-18 10:57:47 +01:00
P25TX.cpp Normalise the inverse-sinc lowpass filter to unity gain. 2017-05-05 08:10:36 +01:00
P25TX.h
README.md
RSSIRB.cpp
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
STM32Utils.h
SampleRB.cpp
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 NXDN first cut, not working yet. 2018-01-10 20:30:35 +00:00
SerialPort.h NXDN first cut, not working yet. 2018-01-10 20:30:35 +00:00
SerialRB.cpp
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
Utils.cpp
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
YSFRX.cpp Re-add the const qualifiers. 2017-08-18 10:57:47 +01:00
YSFRX.h Refactor variable initialization in YSFRX.h 2017-08-28 07:48:25 +02: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
mmdvmmenu.sh
openocd.cfg
stm32f4xx_link.ld
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.