MMDVM/Config.h

131 lines
4 KiB
C
Raw Normal View History

2016-01-14 19:57:21 +01:00
/*
2020-04-18 15:31:21 +02:00
* Copyright (C) 2015,2016,2017,2018,2020 by Jonathan Naylor G4KLX
2016-01-14 19:57:21 +01:00
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#if !defined(CONFIG_H)
#define CONFIG_H
// Allow for the selection of which modes to compile into the firmware. This is particularly useful for processors
// which have limited code space and processing power like the STM32F103, which is found on older/cheaper boards.
2020-11-09 12:50:02 +01:00
// Enable D-Star support.
#define MODE_DSTAR
2020-11-09 12:50:02 +01:00
// Enable DMR support.
#define MODE_DMR
2020-11-09 12:50:02 +01:00
// Enable System Fusion support.
#define MODE_YSF
// Enable P25 phase 1 support.
#define MODE_P25
2020-11-09 12:50:02 +01:00
// Enable NXDN support, the boxcar filter sometimes improves the performance of NXDN receive on some systems.
#define MODE_NXDN
#define USE_NXDN_BOXCAR
2020-11-09 12:50:02 +01:00
// Enable M17 support.
#define MODE_M17
2020-11-09 12:50:02 +01:00
// Enable POCSAG support.
#define MODE_POCSAG
2020-11-09 12:50:02 +01:00
// Enable FM support.
#define MODE_FM
2020-11-09 12:50:02 +01:00
// Enable AX.25 support, this is only enabled if FM is also enabled.
#define MODE_AX25
// Allow for the use of high quality external clock oscillators
// The number is the frequency of the oscillator in Hertz.
2016-10-26 10:05:49 +02:00
//
2016-10-31 19:21:24 +01:00
// The frequency of the TCXO must be an integer multiple of 48000.
// Frequencies such as 12.0 Mhz (48000 * 250) and 14.4 Mhz (48000 * 300) are suitable.
// Frequencies such as 10.0 Mhz (48000 * 208.333) or 20 Mhz (48000 * 416.666) are not suitable.
2016-10-26 10:05:49 +02:00
//
// For 12 MHz
// #define EXTERNAL_OSC 12000000
2016-10-31 19:21:24 +01:00
// For 12.288 MHz
// #define EXTERNAL_OSC 12288000
// For 14.4 MHz
// #define EXTERNAL_OSC 14400000
// For 19.2 MHz
// #define EXTERNAL_OSC 19200000
2020-05-23 08:57:30 +02:00
// Use a higher baudrate for host communication. Required for FM network !
2020-05-23 21:01:21 +02:00
#define SERIAL_SPEED 115200 //suitable for most older boards (Arduino, Due STM32F1_POG etc). External FM will NOT work with this !
2020-05-31 11:45:17 +02:00
// #define SERIAL_SPEED 230400 // Only works on newer board M4, M7, Teensy. External FM might work with this
// #define SERIAL_SPEED 460800 // Only works on newer board M4, M7, Teensy. External FM should work with this
2020-05-23 08:57:30 +02:00
// Allow the use of the COS line to lockout the modem
// #define USE_COS_AS_LOCKOUT
2018-08-01 21:09:57 +02:00
// Use pins to output the current mode via LEDs
#define MODE_LEDS
2016-01-14 19:57:21 +01:00
// For the original Arduino Due pin layout
// #define ARDUINO_DUE_PAPA
2016-01-14 19:57:21 +01:00
#if defined(STM32F1)
// For the SQ6POG board
#define STM32F1_POG
#else
// For the ZUM V1.0 and V1.0.1 boards pin layout
// #define ARDUINO_DUE_ZUM_V10
#endif
2016-01-14 19:57:21 +01:00
// For the SP8NTH board
// #define ARDUINO_DUE_NTH
2016-01-14 19:57:21 +01:00
// For ST Nucleo-64 STM32F446RE board
// #define STM32F4_NUCLEO_MORPHO_HEADER
// #define STM32F4_NUCLEO_ARDUINO_HEADER
// Use separate mode pins to switch external channel/filters/bandwidth for example
// #define MODE_PINS
2018-07-19 15:01:20 +02:00
// For the VK6MST Pi3 Shield communicating over i2c. i2c address & speed defined in i2cTeensy.cpp
// #define VK6MST_TEENSY_PI3_SHIELD_I2C
2018-07-19 15:01:20 +02:00
2016-08-08 21:38:58 +02:00
// Pass RSSI information to the host
#define SEND_RSSI_DATA
2016-08-08 21:38:58 +02:00
// Use the modem as a serial repeater for Nextion displays
#define SERIAL_REPEATER
// To reduce CPU load, you can remove the DC blocker by commenting out the next line
#define USE_DCBLOCKER
2018-05-23 18:12:32 +02:00
// Constant Service LED once repeater is running
// Do not use if employing an external hardware watchdog
// #define CONSTANT_SRV_LED
// Use the YSF and P25 LEDs for NXDN
// #define USE_ALTERNATE_NXDN_LEDS
2020-10-14 11:52:30 +02:00
// Use the D-Star and P25 LEDs for M17
#define USE_ALTERNATE_M17_LEDS
2020-10-14 11:52:30 +02:00
// Use the D-Star and DMR LEDs for POCSAG
#define USE_ALTERNATE_POCSAG_LEDS
2020-04-18 15:31:21 +02:00
// Use the D-Star and YSF LEDs for FM
2020-05-02 18:37:47 +02:00
#define USE_ALTERNATE_FM_LEDS
2020-04-18 15:31:21 +02:00
#endif
2020-07-15 11:42:43 +02:00