Add support for BridgeCom SkyBridge HS

This commit is contained in:
Andy CA6JAU 2020-11-08 13:13:54 -03:00
parent 89daa20476
commit 956ee1a81c
30 changed files with 312 additions and 60 deletions

View file

@ -1,6 +1,6 @@
/* /*
* Copyright (C) 2016 by Jim McLaughlin KI6ZUM * Copyright (C) 2016 by Jim McLaughlin KI6ZUM
* Copyright (C) 2016,2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2016,2017,2018,2019,2020 by Andy Uribe CA6JAU
* Copyright (C) 2017 by Danilo DB4PLE * Copyright (C) 2017 by Danilo DB4PLE
* *
* Some of the code is based on work of Guus Van Dooren PE1PLM: * Some of the code is based on work of Guus Van Dooren PE1PLM:
@ -216,7 +216,7 @@ void CIO::ifConf(MMDVM_STATE modemState, bool reset)
m_frequency_rx = m_pocsag_freq_tx; m_frequency_rx = m_pocsag_freq_tx;
} }
#if defined (ZUMSPOT_ADF7021) #if defined (ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
io.checkBand(m_frequency_rx, m_frequency_tx); io.checkBand(m_frequency_rx, m_frequency_tx);
#endif #endif

View file

@ -489,6 +489,8 @@ Please check here for detailed instructions:
- make d2rg_mmdvm_hs: upload the firmware to D2RG MMDVM_HS board (using internal serial port) - make d2rg_mmdvm_hs: upload the firmware to D2RG MMDVM_HS board (using internal serial port)
- make skybridge: upload the firmware to SkyBridge HotSpot board (using internal serial port)
- make dfu [devser=/dev/ttyXXX]: upload firmware using USB bootloader. "devser" is optional, and it corresponds to the USB serial port device name. This option permits to perform a reset to enter to booloader mode (DFU). If you don't use "devser", you have to press the reset button of the ZUMspot just before using this command. - make dfu [devser=/dev/ttyXXX]: upload firmware using USB bootloader. "devser" is optional, and it corresponds to the USB serial port device name. This option permits to perform a reset to enter to booloader mode (DFU). If you don't use "devser", you have to press the reset button of the ZUMspot just before using this command.
- make serial devser=/dev/ttyXXX: upload standard firmware using serial port bootloader method. - make serial devser=/dev/ttyXXX: upload standard firmware using serial port bootloader method.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

6
IO.cpp
View file

@ -1,6 +1,6 @@
/* /*
* Copyright (C) 2015,2016 by Jonathan Naylor G4KLX * Copyright (C) 2015,2016 by Jonathan Naylor G4KLX
* Copyright (C) 2016,2017,2018 by Andy Uribe CA6JAU * Copyright (C) 2016,2017,2018,2019,2020 by Andy Uribe CA6JAU
* Copyright (C) 2017 by Danilo DB4PLE * Copyright (C) 2017 by Danilo DB4PLE
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -307,7 +307,7 @@ bool CIO::hasRXOverflow()
return m_rxBuffer.hasOverflowed(); return m_rxBuffer.hasOverflowed();
} }
#if defined(ZUMSPOT_ADF7021) #if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
void CIO::checkBand(uint32_t frequency_rx, uint32_t frequency_tx) { void CIO::checkBand(uint32_t frequency_rx, uint32_t frequency_tx) {
if (!(io.hasSingleADF7021())) { if (!(io.hasSingleADF7021())) {
// There are two ADF7021s on the board // There are two ADF7021s on the board
@ -380,7 +380,7 @@ uint8_t CIO::setFreq(uint32_t frequency_rx, uint32_t frequency_tx, uint8_t rf_po
#endif #endif
// Check if we have a single, dualband or duplex board // Check if we have a single, dualband or duplex board
#if defined (ZUMSPOT_ADF7021) #if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
if (checkZUMspot(frequency_rx, frequency_tx) > 0) { if (checkZUMspot(frequency_rx, frequency_tx) > 0) {
return 4U; return 4U;
} }

4
IO.h
View file

@ -1,6 +1,6 @@
/* /*
* Copyright (C) 2015,2016 by Jonathan Naylor G4KLX * Copyright (C) 2015,2016 by Jonathan Naylor G4KLX
* Copyright (C) 2016,2017,2018 by Andy Uribe CA6JAU * Copyright (C) 2016,2017,2018,2019,2020 by Andy Uribe CA6JAU
* Copyright (C) 2017 by Danilo DB4PLE * Copyright (C) 2017 by Danilo DB4PLE
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -124,7 +124,7 @@ public:
uint32_t getWatchdog(void); uint32_t getWatchdog(void);
void getIntCounter(uint16_t &int1, uint16_t &int2); void getIntCounter(uint16_t &int1, uint16_t &int2);
void selfTest(void); void selfTest(void);
#if defined(ZUMSPOT_ADF7021) #if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
void checkBand(uint32_t frequency_rx, uint32_t frequency_tx); void checkBand(uint32_t frequency_rx, uint32_t frequency_tx);
uint8_t checkZUMspot(uint32_t frequency_rx, uint32_t frequency_tx); uint8_t checkZUMspot(uint32_t frequency_rx, uint32_t frequency_tx);
void setBandVHF(bool vhf_on); void setBandVHF(bool vhf_on);

View file

@ -1,6 +1,6 @@
/* /*
* Copyright (C) 2015,2016 by Jonathan Naylor G4KLX * Copyright (C) 2015,2016 by Jonathan Naylor G4KLX
* Copyright (C) 2016,2017,2018 by Andy Uribe CA6JAU * Copyright (C) 2016,2017,2018,2019,2020 by Andy Uribe CA6JAU
* Copyright (C) 2017 by Danilo DB4PLE * Copyright (C) 2017 by Danilo DB4PLE
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -28,7 +28,7 @@
// STM32F1 pin definitions, using STM32duino // STM32F1 pin definitions, using STM32duino
#if defined(ZUMSPOT_ADF7021) #if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
#define PIN_SCLK PB5 #define PIN_SCLK PB5
#define PIN_SREAD PB6 #define PIN_SREAD PB6
@ -81,7 +81,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, NANO_HOTSPOT or NANO_DV_REV10 need to be defined" #error "Either ZUMSPOT_ADF7021, LIBRE_KIT_ADF7021, MMDVM_HS_HAT_REV12, MMDVM_HS_DUAL_HAT_REV10, NANO_HOTSPOT, NANO_DV_REV10 or SKYBRIDGE_HS need to be defined"
#endif #endif
#elif defined(__MK20DX256__) || defined(__MK64FX512__) || defined(__MK66FX1M0__) #elif defined(__MK20DX256__) || defined(__MK64FX512__) || defined(__MK66FX1M0__)
@ -156,7 +156,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) || defined(NANO_DV_REV10) #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) || defined(SKYBRIDGE_HS)
afio_cfg_debug_ports(AFIO_DEBUG_SW_ONLY); afio_cfg_debug_ports(AFIO_DEBUG_SW_ONLY);
#endif #endif

View file

@ -1,6 +1,6 @@
/* /*
* Copyright (C) 2016 by Jim McLaughlin KI6ZUM * Copyright (C) 2016 by Jim McLaughlin KI6ZUM
* Copyright (C) 2016,2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2016,2017,2018,2019,2020 by Andy Uribe CA6JAU
* Copyright (C) 2017 by Danilo DB4PLE * Copyright (C) 2017 by Danilo DB4PLE
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -92,7 +92,7 @@
#define PIN_COS_LED GPIO_Pin_13 #define PIN_COS_LED GPIO_Pin_13
#define PORT_COS_LED GPIOB #define PORT_COS_LED GPIOB
#elif defined(ZUMSPOT_ADF7021) #elif defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
#define PIN_SCLK GPIO_Pin_5 #define PIN_SCLK GPIO_Pin_5
#define PORT_SCLK GPIOB #define PORT_SCLK GPIOB
@ -258,7 +258,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, NANO_HOTSPOT, NANO_DV_REV11 or D2RG_MMDVM_HS 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, NANO_DV_REV11, D2RG_MMDVM_HS or SKYBRIDGE_HS need to be defined"
#endif #endif
extern "C" { extern "C" {
@ -280,7 +280,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) || defined(NANO_DV_REV11) || defined(D2RG_MMDVM_HS) #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_REV11) || defined(D2RG_MMDVM_HS) || defined(SKYBRIDGE_HS)
#if defined(BIDIR_DATA_PIN) #if defined(BIDIR_DATA_PIN)
void EXTI3_IRQHandler(void) { void EXTI3_IRQHandler(void) {
@ -300,7 +300,7 @@ extern "C" {
#if defined(DUPLEX) #if defined(DUPLEX)
void EXTI9_5_IRQHandler(void) { void EXTI9_5_IRQHandler(void) {
#if defined(ZUMSPOT_ADF7021) #if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
if(EXTI_GetITStatus(EXTI_Line8)!=RESET) { if(EXTI_GetITStatus(EXTI_Line8)!=RESET) {
io.interrupt2(); io.interrupt2();
EXTI_ClearITPendingBit(EXTI_Line8); EXTI_ClearITPendingBit(EXTI_Line8);
@ -331,11 +331,11 @@ 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) || defined(NANO_DV_REV11) || defined(D2RG_MMDVM_HS) #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_REV11) || defined(D2RG_MMDVM_HS) || defined(SKYBRIDGE_HS)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
#endif #endif
#if defined(ZUMSPOT_ADF7021) #if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
// Pin defines if the board has a single ADF7021 or double // Pin defines if the board has a single ADF7021 or double
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_Pin = PIN_SGL_DBL; GPIO_InitStruct.GPIO_Pin = PIN_SGL_DBL;
@ -532,7 +532,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) || defined(NANO_DV_REV11) || defined(D2RG_MMDVM_HS) #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_REV11) || defined(D2RG_MMDVM_HS) || defined(SKYBRIDGE_HS)
#if defined(BIDIR_DATA_PIN) #if defined(BIDIR_DATA_PIN)
// Connect EXTI3 Line // Connect EXTI3 Line
@ -550,7 +550,7 @@ void CIO::Init()
// Connect EXTI5 Line // Connect EXTI5 Line
GPIO_EXTILineConfig(PORT_TXD2_INT, PIN_TXD2_INT); GPIO_EXTILineConfig(PORT_TXD2_INT, PIN_TXD2_INT);
// Configure EXT5 line // Configure EXT5 line
#if defined(ZUMSPOT_ADF7021) #if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
EXTI_InitStructure2.EXTI_Line = EXTI_Line8; EXTI_InitStructure2.EXTI_Line = EXTI_Line8;
#else #else
EXTI_InitStructure2.EXTI_Line = EXTI_Line5; EXTI_InitStructure2.EXTI_Line = EXTI_Line5;
@ -584,7 +584,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) || defined(NANO_DV_REV11) || defined(D2RG_MMDVM_HS) #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_REV11) || defined(D2RG_MMDVM_HS) || defined(SKYBRIDGE_HS)
#if defined(BIDIR_DATA_PIN) #if defined(BIDIR_DATA_PIN)
// Enable and set EXTI3 Interrupt // Enable and set EXTI3 Interrupt
@ -754,7 +754,7 @@ void CIO::COS_pin(bool on)
GPIO_WriteBit(PORT_COS_LED, PIN_COS_LED, on ? Bit_SET : Bit_RESET); GPIO_WriteBit(PORT_COS_LED, PIN_COS_LED, on ? Bit_SET : Bit_RESET);
} }
#if defined(ZUMSPOT_ADF7021) #if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
void CIO::setBandVHF(bool vhf_on) { void CIO::setBandVHF(bool vhf_on) {
GPIO_WriteBit(PORT_SET_BAND, PIN_SET_BAND, vhf_on ? Bit_SET : Bit_RESET); GPIO_WriteBit(PORT_SET_BAND, PIN_SET_BAND, vhf_on ? Bit_SET : Bit_RESET);
} }

View file

@ -476,6 +476,8 @@ mmdvm_hs_hat: zumspot-pi
mmdvm_hs_dual_hat: zumspot-pi mmdvm_hs_dual_hat: zumspot-pi
skybridge: zumspot-pi
hotpot-opipc_opipcplus: hotpot-opipc_opipcplus:
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 198,-199,199:-198,199 /dev/ttyS3 /usr/local/bin/stm32flash -v -w bin/$(BINBIN_F1) -g 0x0 -R -i 198,-199,199:-198,199 /dev/ttyS3

View file

@ -135,6 +135,7 @@ Download the script (*.sh) that matches with your ZUMspot/MMDVM_HS board:
- install_fw_gen_gpio.sh: only for generic MMDVM_HS board (EA7GIB) with GPIO serial interface - install_fw_gen_gpio.sh: only for generic MMDVM_HS board (EA7GIB) with GPIO serial interface
- install_fw_duplex_gpio.sh: only for MMDVM_HS with dual ADF7021 (EA7GIB) or generic dual ADF7021 board with GPIO serial interface - install_fw_duplex_gpio.sh: only for MMDVM_HS with dual ADF7021 (EA7GIB) or generic dual ADF7021 board with GPIO serial interface
- install_fw_duplex_usb.sh: only for MMDVM_HS with dual ADF7021 (EA7GIB) or generic dual ADF7021 board with USB interface - install_fw_duplex_usb.sh: only for MMDVM_HS with dual ADF7021 (EA7GIB) or generic dual ADF7021 board with USB interface
- install_fw_skybridge_rpi.sh: only for BridgeCom SkyBridge HotSpot
For example, download the ZUMspot RPi upgrade script: For example, download the ZUMspot RPi upgrade script:

View file

@ -321,7 +321,7 @@ uint8_t CSerialPort::setConfig(const uint8_t* data, uint8_t length)
DEBUG1("Full duplex not supported with this firmware"); DEBUG1("Full duplex not supported with this firmware");
return 6U; return 6U;
} }
#elif defined(DUPLEX) && defined(ZUMSPOT_ADF7021) #elif defined(DUPLEX) && (defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS))
if (io.isDualBand() && m_duplex && m_calState == STATE_IDLE && modemState != STATE_DSTARCAL) { if (io.isDualBand() && m_duplex && m_calState == STATE_IDLE && modemState != STATE_DSTARCAL) {
DEBUG1("Full duplex is not supported on this board"); DEBUG1("Full duplex is not supported on this board");
return 6U; return 6U;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
#define D2RG_MMDVM_HS #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU, Florian Wolters DF2ET * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU, Florian Wolters DF2ET
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU, Florian Wolters DF2ET * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU, Florian Wolters DF2ET
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU, Florian Wolters DF2ET * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU, Florian Wolters DF2ET
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
#define NANO_DV_REV11 #define NANO_DV_REV11
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
#define NANO_DV_REV11 #define NANO_DV_REV11
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

116
configs/SkyBridge_RPi.h Normal file
View file

@ -0,0 +1,116 @@
/*
* Copyright (C) 2017,2018,2019,2020 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) NanoDV NPi or USB revisions 1.0 (BG4TGO & BG5HHP)
// #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
#define SKYBRIDGE_HS
// 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
// Configure receiver gain for ADF7021
// AGC automatic, default settings:
#define AD7021_GAIN_AUTO
// AGC automatic with high LNA linearity:
// #define AD7021_GAIN_AUTO_LIN
// AGC OFF, lowest gain:
// #define AD7021_GAIN_LOW
// AGC OFF, highest gain:
// #define AD7021_GAIN_HIGH
// Host communication selection:
#define STM32_USART1_HOST
// #define STM32_USB_HOST
// #define STM32_I2C_HOST
// I2C host address:
#define I2C_ADDR 0x22
// 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
#define SERIAL_REPEATER_BAUD 9600
// 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
// Engage a constant or descreet Service LED mode once repeater is running
// #define CONSTANT_SRV_LED
// #define CONSTANT_SRV_LED_INVERTED
// #define DISCREET_SRV_LED
// #define DISCREET_SRV_LED_INVERTED
// Use the YSF and P25 LEDs for NXDN
// #define USE_ALTERNATE_NXDN_LEDS
// Use the D-Star and DMR LEDs for POCSAG
// #define USE_ALTERNATE_POCSAG_LEDS
// Enable for RPi 3B+, USB mode
// #define LONG_USB_RESET
// Enable modem debug messages
#define ENABLE_DEBUG
// Disable frequency bands check
// #define DISABLE_FREQ_CHECK
// Disable frequency restrictions (satellite, ISS, etc)
// #define DISABLE_FREQ_BAN
// Enable UDID feature
#define ENABLE_UDID
#endif

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -32,6 +32,10 @@
// #define NANO_HOTSPOT // #define NANO_HOTSPOT
// 6) NanoDV NPi or USB revisions 1.0 (BG4TGO & BG5HHP) // 6) NanoDV NPi or USB revisions 1.0 (BG4TGO & BG5HHP)
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -34,6 +34,8 @@
// #define NANO_DV_REV10 // #define NANO_DV_REV10
// 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU) // 7) D2RG MMDVM_HS RPi (BG3MDO, VE2GZI, CA6JAU)
// #define D2RG_MMDVM_HS // #define D2RG_MMDVM_HS
// 8) BridgeCom SkyBridge HotSpot
// #define SKYBRIDGE_HS
// Enable ADF7021 support: // Enable ADF7021 support:
#define ENABLE_ADF7021 #define ENABLE_ADF7021

View file

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Copyright (C) 2017,2018 by Andy Uribe CA6JAU # Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
# This program is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@ -28,7 +28,7 @@ echo "*******************************************************"
echo "********* Building ZUMspot Libre Kit firmware *********" echo "********* Building ZUMspot Libre Kit firmware *********"
echo "*******************************************************" echo "*******************************************************"
cp ~/MMDVM_HS/configs/ZUMspot_Libre.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/ZUMspot_Libre.h ~/MMDVM_HS/Config.h
make bl make -j4 bl
mv ~/MMDVM_HS/bin/mmdvm_f1bl.bin ~/MMDVM_HS/bin/zumspot_libre_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1bl.bin ~/MMDVM_HS/bin/zumspot_libre_fw.bin
make clean make clean
@ -37,7 +37,7 @@ echo "*************************************************"
echo "********* Building ZUMspot RPi firmware *********" echo "********* Building ZUMspot RPi firmware *********"
echo "*************************************************" echo "*************************************************"
cp ~/MMDVM_HS/configs/ZUMspot_RPi.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/ZUMspot_RPi.h ~/MMDVM_HS/Config.h
make make -j4
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/zumspot_rpi_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/zumspot_rpi_fw.bin
make clean make clean
@ -46,7 +46,7 @@ echo "*************************************************"
echo "********* Building ZUMspot USB firmware *********" echo "********* Building ZUMspot USB firmware *********"
echo "*************************************************" echo "*************************************************"
cp ~/MMDVM_HS/configs/ZUMspot_USB.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/ZUMspot_USB.h ~/MMDVM_HS/Config.h
make bl make -j4 bl
mv ~/MMDVM_HS/bin/mmdvm_f1bl.bin ~/MMDVM_HS/bin/zumspot_usb_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1bl.bin ~/MMDVM_HS/bin/zumspot_usb_fw.bin
make clean make clean
@ -55,7 +55,7 @@ echo "****************************************************"
echo "********* Building ZUMspot Duplex firmware *********" echo "********* Building ZUMspot Duplex firmware *********"
echo "****************************************************" echo "****************************************************"
cp ~/MMDVM_HS/configs/ZUMspot_duplex.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/ZUMspot_duplex.h ~/MMDVM_HS/Config.h
make make -j4
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/zumspot_duplex_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/zumspot_duplex_fw.bin
make clean make clean
@ -64,7 +64,7 @@ echo "******************************************************"
echo "********* Building ZUMspot Dualband firmware *********" echo "********* Building ZUMspot Dualband firmware *********"
echo "******************************************************" echo "******************************************************"
cp ~/MMDVM_HS/configs/ZUMspot_dualband.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/ZUMspot_dualband.h ~/MMDVM_HS/Config.h
make make -j4
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/zumspot_dualband_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/zumspot_dualband_fw.bin
make clean make clean
@ -73,7 +73,7 @@ echo "**************************************************"
echo "********* Building MMDVM_HS_Hat firmware *********" echo "********* Building MMDVM_HS_Hat firmware *********"
echo "**************************************************" echo "**************************************************"
cp ~/MMDVM_HS/configs/MMDVM_HS_Hat.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/MMDVM_HS_Hat.h ~/MMDVM_HS/Config.h
make make -j4
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/mmdvm_hs_hat_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/mmdvm_hs_hat_fw.bin
make clean make clean
@ -82,7 +82,7 @@ echo "********************************************************************"
echo "********* Building MMDVM_HS_Hat (12.288 MHz TCXO) firmware *********" echo "********* Building MMDVM_HS_Hat (12.288 MHz TCXO) firmware *********"
echo "********************************************************************" echo "********************************************************************"
cp ~/MMDVM_HS/configs/MMDVM_HS_Hat-12mhz.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/MMDVM_HS_Hat-12mhz.h ~/MMDVM_HS/Config.h
make make -j4
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/mmdvm_hs_hat_fw-12mhz.bin mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/mmdvm_hs_hat_fw-12mhz.bin
make clean make clean
@ -91,7 +91,7 @@ echo "*******************************************************"
echo "********* Building MMDVM_HS_Dual_Hat firmware *********" echo "********* Building MMDVM_HS_Dual_Hat firmware *********"
echo "*******************************************************" echo "*******************************************************"
cp ~/MMDVM_HS/configs/MMDVM_HS_Dual_Hat.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/MMDVM_HS_Dual_Hat.h ~/MMDVM_HS/Config.h
make make -j4
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/mmdvm_hs_dual_hat_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/mmdvm_hs_dual_hat_fw.bin
make clean make clean
@ -100,7 +100,7 @@ echo "*************************************************************************"
echo "********* Building MMDVM_HS_Dual_Hat (12.288 MHz TCXO) firmware *********" echo "********* Building MMDVM_HS_Dual_Hat (12.288 MHz TCXO) firmware *********"
echo "*************************************************************************" echo "*************************************************************************"
cp ~/MMDVM_HS/configs/MMDVM_HS_Dual_Hat-12mhz.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/MMDVM_HS_Dual_Hat-12mhz.h ~/MMDVM_HS/Config.h
make make -j4
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/mmdvm_hs_dual_hat_fw-12mhz.bin mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/mmdvm_hs_dual_hat_fw-12mhz.bin
make clean make clean
@ -109,7 +109,7 @@ echo "**************************************************"
echo "********* Building Nano hotSPOT firmware *********" echo "********* Building Nano hotSPOT firmware *********"
echo "**************************************************" echo "**************************************************"
cp ~/MMDVM_HS/configs/Nano_hotSPOT.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/Nano_hotSPOT.h ~/MMDVM_HS/Config.h
make make -j4
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
@ -118,7 +118,7 @@ echo "************************************************"
echo "********* Building NanoDV NPi firmware *********" echo "********* Building NanoDV NPi firmware *********"
echo "************************************************" echo "************************************************"
cp ~/MMDVM_HS/configs/NanoDV_NPi.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/NanoDV_NPi.h ~/MMDVM_HS/Config.h
make make -j4
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/nanodv_npi_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/nanodv_npi_fw.bin
make clean make clean
@ -127,7 +127,7 @@ echo "************************************************"
echo "********* Building NanoDV USB firmware *********" echo "********* Building NanoDV USB firmware *********"
echo "************************************************" echo "************************************************"
cp ~/MMDVM_HS/configs/NanoDV_USB.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/NanoDV_USB.h ~/MMDVM_HS/Config.h
make bl make -j4 bl
mv ~/MMDVM_HS/bin/mmdvm_f1bl.bin ~/MMDVM_HS/bin/nanodv_usb_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1bl.bin ~/MMDVM_HS/bin/nanodv_usb_fw.bin
make clean make clean
@ -136,7 +136,7 @@ echo "***************************************************"
echo "********* Building D2RG MMDVM_HS firmware *********" echo "********* Building D2RG MMDVM_HS firmware *********"
echo "***************************************************" echo "***************************************************"
cp ~/MMDVM_HS/configs/D2RG_MMDVM_HS.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/D2RG_MMDVM_HS.h ~/MMDVM_HS/Config.h
make make -j4
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/d2rg_mmdvm_hs.bin mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/d2rg_mmdvm_hs.bin
make clean make clean
@ -145,7 +145,7 @@ echo "**********************************************************"
echo "********* Building Generic Simplex GPIO firmware *********" echo "********* Building Generic Simplex GPIO firmware *********"
echo "**********************************************************" echo "**********************************************************"
cp ~/MMDVM_HS/configs/generic_gpio.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/generic_gpio.h ~/MMDVM_HS/Config.h
make make -j4
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/generic_gpio_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/generic_gpio_fw.bin
make clean make clean
@ -154,7 +154,7 @@ echo "*********************************************************"
echo "********* Building Generic Duplex GPIO firmware *********" echo "********* Building Generic Duplex GPIO firmware *********"
echo "*********************************************************" echo "*********************************************************"
cp ~/MMDVM_HS/configs/generic_duplex_gpio.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/generic_duplex_gpio.h ~/MMDVM_HS/Config.h
make make -j4
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/generic_duplex_gpio_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/generic_duplex_gpio_fw.bin
make clean make clean
@ -163,8 +163,17 @@ echo "********************************************************"
echo "********* Building Generic Duplex USB firmware *********" echo "********* Building Generic Duplex USB firmware *********"
echo "********************************************************" echo "********************************************************"
cp ~/MMDVM_HS/configs/generic_duplex_usb.h ~/MMDVM_HS/Config.h cp ~/MMDVM_HS/configs/generic_duplex_usb.h ~/MMDVM_HS/Config.h
make bl make -j4 bl
mv ~/MMDVM_HS/bin/mmdvm_f1bl.bin ~/MMDVM_HS/bin/generic_duplex_usb_fw.bin mv ~/MMDVM_HS/bin/mmdvm_f1bl.bin ~/MMDVM_HS/bin/generic_duplex_usb_fw.bin
make clean make clean
# Building SkyBridge RPi HS
echo "******************************************************"
echo "********* Building SkyBridge RPi HS firmware *********"
echo "******************************************************"
cp ~/MMDVM_HS/configs/SkyBridge_RPi.h ~/MMDVM_HS/Config.h
make -j4
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/skybridge_rpi_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

View file

@ -0,0 +1,84 @@
#!/bin/bash
# Copyright (C) 2017,2018,2019,2020 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.5.2"
# Configure beta version
FW_VERSION_BETA="v1.5.1b"
# Firmware filename
FW_FILENAME="skybridge_rpi_fw.bin"
# Download latest firmware
if [ $1 = "beta" ]; then
echo "Downloading beta firmware..."
curl -OL https://github.com/juribeparada/MMDVM_HS/releases/download/$FW_VERSION_BETA/$FW_FILENAME
else
echo "Downloading latest firmware (stable)..."
curl -OL https://github.com/juribeparada/MMDVM_HS/releases/download/$FW_VERSION/$FW_FILENAME
fi
# 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
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"
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 $FW_FILENAME -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017,2018,2019,2020 by Andy Uribe CA6JAU
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -24,8 +24,8 @@
#define VER_MAJOR "1" #define VER_MAJOR "1"
#define VER_MINOR "5" #define VER_MINOR "5"
#define VER_REV "1b" #define VER_REV "2"
#define VERSION_DATE "20191201" #define VERSION_DATE "20201108"
#if defined(ZUMSPOT_ADF7021) #if defined(ZUMSPOT_ADF7021)
#define BOARD_INFO "ZUMspot" #define BOARD_INFO "ZUMspot"
@ -39,6 +39,8 @@
#define BOARD_INFO "Nano_DV" #define BOARD_INFO "Nano_DV"
#elif defined(D2RG_MMDVM_HS) #elif defined(D2RG_MMDVM_HS)
#define BOARD_INFO "D2RG_MMDVM_HS" #define BOARD_INFO "D2RG_MMDVM_HS"
#elif defined(SKYBRIDGE_HS)
#define BOARD_INFO "SkyBridge"
#else #else
#define BOARD_INFO "MMDVM_HS" #define BOARD_INFO "MMDVM_HS"
#endif #endif