Add support for Nano DV board (BG4TGO & BG5HHP)

This commit is contained in:
Andy CA6JAU 2018-04-04 14:55:54 -03:00
parent d90263f52e
commit b9d2277e3b
17 changed files with 197 additions and 11 deletions

View file

@ -548,6 +548,8 @@ modified RF7021SE and Blue Pill STM32F103).
- #define NANO_HOTSPOT: enable this option if you have a Nano hotSPOT (BI7JTA). - #define NANO_HOTSPOT: enable this option if you have a Nano hotSPOT (BI7JTA).
- #define NANO_DV_REV10: enable this option if you have a Nano DV (BG4TGO & BG5HHP).
- #define ENABLE_ADF7021: add support for ADF7021 (all boards, enabled by default). - #define ENABLE_ADF7021: add support for ADF7021 (all boards, enabled by default).
- #define DUPLEX: enable duplex mode with dual ADF7021. It is still under development. - #define DUPLEX: enable duplex mode with dual ADF7021. It is still under development.

View file

@ -30,6 +30,8 @@
// #define MMDVM_HS_DUAL_HAT_REV10 // #define MMDVM_HS_DUAL_HAT_REV10
// 5) Nano hotSPOT (BI7JTA) // 5) Nano hotSPOT (BI7JTA)
// #define NANO_HOTSPOT // #define NANO_HOTSPOT
// 6) Nano DV revisions 1.0 (BG4TGO & BG5HHP)
// #define NANO_DV_REV10
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -51,7 +51,7 @@
#define PIN_PTT_LED PB14 #define PIN_PTT_LED PB14
#define PIN_COS_LED PB15 #define PIN_COS_LED PB15
#elif defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) #elif defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) || defined(NANO_DV_REV10)
#define PIN_SCLK PB5 #define PIN_SCLK PB5
#define PIN_SREAD PB7 #define PIN_SREAD PB7
@ -75,7 +75,7 @@
#define PIN_COS_LED PB15 #define PIN_COS_LED PB15
#else #else
#error "Either ZUMSPOT_ADF7021, LIBRE_KIT_ADF7021, MMDVM_HS_HAT_REV12, MMDVM_HS_DUAL_HAT_REV10 or NANO_HOTSPOT need to be defined" #error "Either ZUMSPOT_ADF7021, LIBRE_KIT_ADF7021, MMDVM_HS_HAT_REV12, MMDVM_HS_DUAL_HAT_REV10, NANO_HOTSPOT or NANO_DV_REV10 need to be defined"
#endif #endif
#elif defined(__MK20DX256__) || defined(__MK64FX512__) || defined(__MK66FX1M0__) #elif defined(__MK20DX256__) || defined(__MK64FX512__) || defined(__MK66FX1M0__)
@ -148,7 +148,7 @@ void CIO::Init()
{ {
#if defined (__STM32F1__) #if defined (__STM32F1__)
#if defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) #if defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) || defined(NANO_DV_REV10)
afio_cfg_debug_ports(AFIO_DEBUG_SW_ONLY); afio_cfg_debug_ports(AFIO_DEBUG_SW_ONLY);
#endif #endif

View file

@ -152,7 +152,7 @@
#define PIN_COS_LED GPIO_Pin_15 #define PIN_COS_LED GPIO_Pin_15
#define PORT_COS_LED GPIOB #define PORT_COS_LED GPIOB
#elif defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) #elif defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) || defined(NANO_DV_REV10)
#define PIN_SCLK GPIO_Pin_5 #define PIN_SCLK GPIO_Pin_5
#define PORT_SCLK GPIOB #define PORT_SCLK GPIOB
@ -225,7 +225,7 @@
#define PORT_COS_LED GPIOB #define PORT_COS_LED GPIOB
#else #else
#error "Either PI_HAT_7021_REV_02, ZUMSPOT_ADF7021, LIBRE_KIT_ADF7021, MMDVM_HS_HAT_REV12, MMDVM_HS_DUAL_HAT_REV10 or NANO_HOTSPOT need to be defined" #error "Either PI_HAT_7021_REV_02, ZUMSPOT_ADF7021, LIBRE_KIT_ADF7021, MMDVM_HS_HAT_REV12, MMDVM_HS_DUAL_HAT_REV10, NANO_HOTSPOT or NANO_DV_REV10 need to be defined"
#endif #endif
extern "C" { extern "C" {
@ -247,7 +247,7 @@ extern "C" {
} }
#endif #endif
#elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) #elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) || defined(NANO_DV_REV10)
#if defined(BIDIR_DATA_PIN) #if defined(BIDIR_DATA_PIN)
void EXTI3_IRQHandler(void) { void EXTI3_IRQHandler(void) {
@ -284,7 +284,7 @@ void CIO::Init()
#if defined(PI_HAT_7021_REV_02) #if defined(PI_HAT_7021_REV_02)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
#elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) #elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) || defined(NANO_DV_REV10)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
#endif #endif
@ -454,7 +454,7 @@ void CIO::Init()
EXTI_InitStructure.EXTI_Line = EXTI_Line14; EXTI_InitStructure.EXTI_Line = EXTI_Line14;
#endif #endif
#elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) #elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) || defined(NANO_DV_REV10)
#if defined(BIDIR_DATA_PIN) #if defined(BIDIR_DATA_PIN)
// Connect EXTI3 Line // Connect EXTI3 Line
@ -502,7 +502,7 @@ void CIO::startInt()
NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;
#elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) #elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(MMDVM_HS_DUAL_HAT_REV10) || defined(NANO_HOTSPOT) || defined(NANO_DV_REV10)
#if defined(BIDIR_DATA_PIN) #if defined(BIDIR_DATA_PIN)
// Enable and set EXTI3 Interrupt // Enable and set EXTI3 Interrupt

View file

@ -400,6 +400,15 @@ ifneq ($(wildcard /usr/bin/stm32flash),)
/usr/bin/stm32flash -v -w bin/$(BINBIN_F1) -g 0x0 -R -i 200,-3,3:-200,3 /dev/ttyAMA0 /usr/bin/stm32flash -v -w bin/$(BINBIN_F1) -g 0x0 -R -i 200,-3,3:-200,3 /dev/ttyAMA0
endif endif
nano-dv:
ifneq ($(wildcard /usr/local/bin/stm32flash),)
/usr/local/bin/stm32flash -v -w bin/$(BINBIN_F1) -g 0x0 -R -i 10,-14,14:-10,14 /dev/ttyAMA0
endif
ifneq ($(wildcard /usr/bin/stm32flash),)
/usr/bin/stm32flash -v -w bin/$(BINBIN_F1) -g 0x0 -R -i 10,-14,14:-10,14 /dev/ttyAMA0
endif
zumspot-pi: zumspot-pi:
ifneq ($(wildcard /usr/local/bin/stm32flash),) ifneq ($(wildcard /usr/local/bin/stm32flash),)
/usr/local/bin/stm32flash -v -w bin/$(BINBIN_F1) -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0 /usr/local/bin/stm32flash -v -w bin/$(BINBIN_F1) -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0

View file

@ -66,6 +66,7 @@ Download the script (*.sh) that matches with your ZUMspot/MMDVM_HS board:
- install_fw_rpi.sh: only for ZUMspot RPi board (KI6ZUM & VE2GZI) - install_fw_rpi.sh: only for ZUMspot RPi board (KI6ZUM & VE2GZI)
- install_fw_hshat.sh: only for MMDVM_HS_Hat board (DB9MAT & DF2ET) - install_fw_hshat.sh: only for MMDVM_HS_Hat board (DB9MAT & DF2ET)
- install_fw_nanohs.sh: only for Nano hotSPOT board (BI7JTA) - install_fw_nanohs.sh: only for Nano hotSPOT board (BI7JTA)
- install_fw_nanodv.sh: only for Nano DV board (BG4TGO & BG5HHP)
- install_fw_hsdualhat.sh: only for MMDVM_HS_Dual_Hat board (DB9MAT & DF2ET & DO7EN) - install_fw_hsdualhat.sh: only for MMDVM_HS_Dual_Hat board (DB9MAT & DF2ET & DO7EN)
- install_fw_librekit.sh: only for ZUMspot Libre Kit board (KI6ZUM & VE2GZI) or generic MMDVM_HS board - install_fw_librekit.sh: only for ZUMspot Libre Kit board (KI6ZUM & VE2GZI) or generic MMDVM_HS board
- install_fw_usb.sh: only for ZUMspot USB dongle (KI6ZUM & VE2GZI) - install_fw_usb.sh: only for ZUMspot USB dongle (KI6ZUM & VE2GZI)

View file

@ -30,6 +30,8 @@
#define MMDVM_HS_DUAL_HAT_REV10 #define MMDVM_HS_DUAL_HAT_REV10
// 5) Nano hotSPOT (BI7JTA) // 5) Nano hotSPOT (BI7JTA)
// #define NANO_HOTSPOT // #define NANO_HOTSPOT
// 6) Nano DV revisions 1.0 (BG4TGO & BG5HHP)
// #define NANO_DV_REV10
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -30,6 +30,8 @@
// #define MMDVM_HS_DUAL_HAT_REV10 // #define MMDVM_HS_DUAL_HAT_REV10
// 5) Nano hotSPOT (BI7JTA) // 5) Nano hotSPOT (BI7JTA)
// #define NANO_HOTSPOT // #define NANO_HOTSPOT
// 6) Nano DV revisions 1.0 (BG4TGO & BG5HHP)
// #define NANO_DV_REV10
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

73
configs/NanoDV.h Normal file
View file

@ -0,0 +1,73 @@
/*
* Copyright (C) 2018 by Andy Uribe CA6JAU
*
* 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
// Select one board (STM32F103 based boards)
// 1) ZUMspot RPi or ZUMspot USB:
// #define ZUMSPOT_ADF7021
// 2) Libre Kit board or any homebrew hotspot with modified RF7021SE and Blue Pill STM32F103:
// #define LIBRE_KIT_ADF7021
// 3) MMDVM_HS_Hat revisions 1.1, 1.2 and 1.4 (DB9MAT & DF2ET)
// #define MMDVM_HS_HAT_REV12
// 4) MMDVM_HS_Dual_Hat revisions 1.0 (DB9MAT & DF2ET & DO7EN)
// #define MMDVM_HS_DUAL_HAT_REV10
// 5) Nano hotSPOT (BI7JTA)
// #define NANO_HOTSPOT
// 6) Nano DV revisions 1.0 (BG4TGO & BG5HHP)
#define NANO_DV_REV10
// Enable ADF7021 support:
#define ENABLE_ADF7021
// Enable full duplex support with dual ADF7021 (valid for homebrew hotspots only):
// #define DUPLEX
// TCXO of the ADF7021
// For 14.7456 MHz:
#define ADF7021_14_7456
// For 12.2880 MHz:
// #define ADF7021_12_2880
// Host communication selection:
#define STM32_USART1_HOST
// #define STM32_USB_HOST
// Enable mode detection:
#define ENABLE_SCAN_MODE
// Send RSSI value:
#define SEND_RSSI_DATA
// Enable Nextion LCD serial port repeater on USART2 (ZUMspot Libre Kit and ZUMspot RPi):
#define SERIAL_REPEATER
// Enable Nextion LCD serial port repeater on USART1 (Do not use with STM32_USART1_HOST enabled):
// #define SERIAL_REPEATER_USART1
// Enable P25 Wide modulation:
// #define ENABLE_P25_WIDE
// Disable mode LEDs blink during scan mode:
// #define QUIET_MODE_LEDS
// Enable modem debug messages
// #define ENABLE_DEBUG
#endif

View file

@ -30,6 +30,8 @@
// #define MMDVM_HS_DUAL_HAT_REV10 // #define MMDVM_HS_DUAL_HAT_REV10
// 5) Nano hotSPOT (BI7JTA) // 5) Nano hotSPOT (BI7JTA)
#define NANO_HOTSPOT #define NANO_HOTSPOT
// 6) Nano DV revisions 1.0 (BG4TGO & BG5HHP)
// #define NANO_DV_REV10
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -30,6 +30,8 @@
// #define MMDVM_HS_DUAL_HAT_REV10 // #define MMDVM_HS_DUAL_HAT_REV10
// 5) Nano hotSPOT (BI7JTA) // 5) Nano hotSPOT (BI7JTA)
// #define NANO_HOTSPOT // #define NANO_HOTSPOT
// 6) Nano DV revisions 1.0 (BG4TGO & BG5HHP)
// #define NANO_DV_REV10
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -30,6 +30,8 @@
// #define MMDVM_HS_DUAL_HAT_REV10 // #define MMDVM_HS_DUAL_HAT_REV10
// 5) Nano hotSPOT (BI7JTA) // 5) Nano hotSPOT (BI7JTA)
// #define NANO_HOTSPOT // #define NANO_HOTSPOT
// 6) Nano DV revisions 1.0 (BG4TGO & BG5HHP)
// #define NANO_DV_REV10
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -30,6 +30,8 @@
// #define MMDVM_HS_DUAL_HAT_REV10 // #define MMDVM_HS_DUAL_HAT_REV10
// 5) Nano hotSPOT (BI7JTA) // 5) Nano hotSPOT (BI7JTA)
// #define NANO_HOTSPOT // #define NANO_HOTSPOT
// 6) Nano DV revisions 1.0 (BG4TGO & BG5HHP)
// #define NANO_DV_REV10
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -30,6 +30,8 @@
// #define MMDVM_HS_DUAL_HAT_REV10 // #define MMDVM_HS_DUAL_HAT_REV10
// 5) Nano hotSPOT (BI7JTA) // 5) Nano hotSPOT (BI7JTA)
// #define NANO_HOTSPOT // #define NANO_HOTSPOT
// 6) Nano DV revisions 1.0 (BG4TGO & BG5HHP)
// #define NANO_DV_REV10
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -62,4 +62,10 @@ make
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/nano_hotspot_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/nano_hotspot_fw.bin
make clean make clean
# Building Nano DV
cp ~/MMDVM_HS/configs/NanoDV.h ~/MMDVM_HS/Config.h
make
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/nano_dv_fw.bin
make clean
cp ~/MMDVM_HS/configs/ZUMspot_Libre.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/ZUMspot_Libre.h ~/MMDVM_HS/Config.h

77
scripts/install_fw_nanodv.sh Executable file
View file

@ -0,0 +1,77 @@
#!/bin/bash
# Copyright (C) 2018 by Andy Uribe CA6JAU
# 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.
# Configure latest version
FW_VERSION="v1.3.3"
# Change USB-serial port name ONLY in macOS
MAC_DEV_USB_SER="/dev/cu.usbmodem1441"
# Download latest firmware for Nano DV
curl -OL https://github.com/juribeparada/MMDVM_HS/releases/download/$FW_VERSION/nano_dv_fw.bin
# Download STM32F10X_Lib (only for binary tools)
if [ ! -d "./STM32F10X_Lib/utils" ]; then
git clone https://github.com/juribeparada/STM32F10X_Lib
fi
# Configure vars depending on OS
if [ $(uname -s) == "Linux" ]; then
DEV_USB_SER="/dev/ttyACM0"
if [ $(uname -m) == "x86_64" ]; then
echo "Linux 64-bit detected"
DFU_RST="./STM32F10X_Lib/utils/linux64/upload-reset"
DFU_UTIL="./STM32F10X_Lib/utils/linux64/dfu-util"
ST_FLASH="./STM32F10X_Lib/utils/linux64/st-flash"
STM32FLASH="./STM32F10X_Lib/utils/linux64/stm32flash"
elif [ $(uname -m) == "armv7l" ]; then
echo "Raspberry Pi 3 detected"
DFU_RST="./STM32F10X_Lib/utils/rpi32/upload-reset"
DFU_UTIL="./STM32F10X_Lib/utils/rpi32/dfu-util"
ST_FLASH="./STM32F10X_Lib/utils/rpi32/st-flash"
STM32FLASH="./STM32F10X_Lib/utils/rpi32/stm32flash"
elif [ $(uname -m) == "armv6l" ]; then
echo "Raspberry Pi 2 or Pi Zero W detected"
DFU_RST="./STM32F10X_Lib/utils/rpi32/upload-reset"
DFU_UTIL="./STM32F10X_Lib/utils/rpi32/dfu-util"
ST_FLASH="./STM32F10X_Lib/utils/rpi32/st-flash"
STM32FLASH="./STM32F10X_Lib/utils/rpi32/stm32flash"
else
echo "Linux 32-bit detected"
DFU_RST="./STM32F10X_Lib/utils/linux/upload-reset"
DFU_UTIL="./STM32F10X_Lib/utils/linux/dfu-util"
ST_FLASH="./STM32F10X_Lib/utils/linux/st-flash"
STM32FLASH="./STM32F10X_Lib/utils/linux/stm32flash"
fi
fi
if [ $(uname -s) == "Darwin" ]; then
echo "macOS detected"
DEV_USB_SER=$MAC_DEV_USB_SER
DFU_RST="./STM32F10X_Lib/utils/macosx/upload-reset"
DFU_UTIL="./STM32F10X_Lib/utils/macosx/dfu-util"
ST_FLASH="./STM32F10X_Lib/utils/macosx/st-flash"
STM32FLASH="./STM32F10X_Lib/utils/macosx/stm32flash"
fi
# Stop MMDVMHost process to free serial port
sudo killall MMDVMHost >/dev/null 2>&1
# Upload the firmware
eval sudo $STM32FLASH -v -w nano_hotspot_fw.bin -g 0x0 -R -i 10,-14,14:-10,14 /dev/ttyAMA0

View file

@ -24,8 +24,8 @@
#define VER_MAJOR "1" #define VER_MAJOR "1"
#define VER_MINOR "3" #define VER_MINOR "3"
#define VER_REV "3" #define VER_REV "4"
#define VERSION_DATE "20180224" #define VERSION_DATE "20180404"
#if defined(ZUMSPOT_ADF7021) #if defined(ZUMSPOT_ADF7021)
#define BOARD_INFO "ZUMspot" #define BOARD_INFO "ZUMspot"
@ -35,6 +35,8 @@
#define BOARD_INFO "MMDVM_HS_Dual_Hat" #define BOARD_INFO "MMDVM_HS_Dual_Hat"
#elif defined(NANO_HOTSPOT) #elif defined(NANO_HOTSPOT)
#define BOARD_INFO "Nano_hotSPOT" #define BOARD_INFO "Nano_hotSPOT"
#elif defined(NANO_DV_REV10)
#define BOARD_INFO "Nano_DV"
#else #else
#define BOARD_INFO "MMDVM_HS" #define BOARD_INFO "MMDVM_HS"
#endif #endif