mirror of
https://github.com/g4klx/MMDVM_HS.git
synced 2025-12-06 07:02:00 +01:00
Add support for LoneStar USB Stick
This commit is contained in:
parent
d4cb546a7c
commit
4d51976f6a
2
Config.h
2
Config.h
|
|
@ -36,6 +36,8 @@
|
||||||
// #define D2RG_MMDVM_HS
|
// #define D2RG_MMDVM_HS
|
||||||
// 8) BridgeCom SkyBridge HotSpot
|
// 8) BridgeCom SkyBridge HotSpot
|
||||||
// #define SKYBRIDGE_HS
|
// #define SKYBRIDGE_HS
|
||||||
|
// 9) LoneStar USB Stick ADF7071
|
||||||
|
// #define LONESTAR_USB
|
||||||
|
|
||||||
// Enable ADF7021 support:
|
// Enable ADF7021 support:
|
||||||
#define ENABLE_ADF7021
|
#define ENABLE_ADF7021
|
||||||
|
|
|
||||||
4
IO.cpp
4
IO.cpp
|
|
@ -318,7 +318,7 @@ bool CIO::hasRXOverflow()
|
||||||
return m_rxBuffer.hasOverflowed();
|
return m_rxBuffer.hasOverflowed();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
|
#if defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || 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
|
||||||
|
|
@ -391,7 +391,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) || defined(SKYBRIDGE_HS)
|
#if defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || defined(SKYBRIDGE_HS)
|
||||||
if (checkZUMspot(frequency_rx, frequency_tx) > 0) {
|
if (checkZUMspot(frequency_rx, frequency_tx) > 0) {
|
||||||
return 4U;
|
return 4U;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
2
IO.h
2
IO.h
|
|
@ -125,7 +125,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) || defined(SKYBRIDGE_HS)
|
#if defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || 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);
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
// STM32F1 pin definitions, using STM32duino
|
// STM32F1 pin definitions, using STM32duino
|
||||||
|
|
||||||
#if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
|
#if defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || 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, NANO_DV_REV10 or SKYBRIDGE_HS need to be defined"
|
#error "Either ZUMSPOT_ADF7021, LONESTAR_USB, 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) || defined(SKYBRIDGE_HS)
|
#if defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || 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
|
||||||
|
|
||||||
|
|
|
||||||
18
IOSTM.cpp
18
IOSTM.cpp
|
|
@ -97,7 +97,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) || defined(SKYBRIDGE_HS)
|
#elif defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS) || defined(LONESTAR_USB)
|
||||||
|
|
||||||
#define PIN_SCLK GPIO_Pin_5
|
#define PIN_SCLK GPIO_Pin_5
|
||||||
#define PORT_SCLK GPIOB
|
#define PORT_SCLK GPIOB
|
||||||
|
|
@ -275,7 +275,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, D2RG_MMDVM_HS or SKYBRIDGE_HS need to be defined"
|
#error "Either PI_HAT_7021_REV_02, ZUMSPOT_ADF7021, LONESTAR_USB, 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" {
|
||||||
|
|
@ -297,7 +297,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) || defined(SKYBRIDGE_HS)
|
#elif defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || 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) {
|
||||||
|
|
@ -348,11 +348,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) || defined(SKYBRIDGE_HS)
|
#elif defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || 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) || defined(SKYBRIDGE_HS)
|
#if defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || 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;
|
||||||
|
|
@ -549,7 +549,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) || defined(SKYBRIDGE_HS)
|
#elif defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || 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
|
||||||
|
|
@ -567,7 +567,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) || defined(SKYBRIDGE_HS)
|
#if defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || 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;
|
||||||
|
|
@ -601,7 +601,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) || defined(SKYBRIDGE_HS)
|
#elif defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || 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
|
||||||
|
|
@ -781,7 +781,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) || defined(SKYBRIDGE_HS)
|
#if defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || 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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -333,7 +333,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) || defined(SKYBRIDGE_HS))
|
#elif defined(DUPLEX) && (defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || 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;
|
||||||
|
|
|
||||||
120
configs/LoneStar_USB.h
Normal file
120
configs/LoneStar_USB.h
Normal file
|
|
@ -0,0 +1,120 @@
|
||||||
|
/*
|
||||||
|
* 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
|
||||||
|
// 9) LoneStar USB Stick ADF7071
|
||||||
|
#define LONESTAR_USB
|
||||||
|
|
||||||
|
// 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
|
||||||
|
|
||||||
|
// 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 P25 LEDs for M17
|
||||||
|
// #define USE_ALTERNATE_M17_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
|
||||||
|
|
@ -176,4 +176,13 @@ make -j4
|
||||||
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/skybridge_rpi_fw.bin
|
mv ~/MMDVM_HS/bin/mmdvm_f1.bin ~/MMDVM_HS/bin/skybridge_rpi_fw.bin
|
||||||
make clean
|
make clean
|
||||||
|
|
||||||
|
# Building LoneStar USB
|
||||||
|
echo "*************************************************"
|
||||||
|
echo "********* Building LoneStar USB firmware *********"
|
||||||
|
echo "*************************************************"
|
||||||
|
cp ~/MMDVM_HS/configs/LoneStar_USB.h ~/MMDVM_HS/Config.h
|
||||||
|
make -j4 bl
|
||||||
|
mv ~/MMDVM_HS/bin/mmdvm_f1bl.bin ~/MMDVM_HS/bin/lonestar_usb_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
|
||||||
|
|
|
||||||
95
scripts/install_fw_lonestar_usb.sh
Executable file
95
scripts/install_fw_lonestar_usb.sh
Executable file
|
|
@ -0,0 +1,95 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Copyright (C) 2017,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.6.0"
|
||||||
|
|
||||||
|
# Change USB-serial port name ONLY in macOS
|
||||||
|
MAC_DEV_USB_SER="/dev/cu.usbmodem14401"
|
||||||
|
|
||||||
|
# Configure beta version
|
||||||
|
FW_VERSION_BETA="v1.6.0b"
|
||||||
|
|
||||||
|
# Firmware filename
|
||||||
|
FW_FILENAME="lonestar_usb_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
|
||||||
|
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
|
||||||
|
|
||||||
|
# Reset ZUMspot to enter bootloader mode
|
||||||
|
eval sudo $DFU_RST $DEV_USB_SER 750
|
||||||
|
|
||||||
|
# Upload the firmware
|
||||||
|
eval sudo $DFU_UTIL -D $FW_FILENAME -d 1eaf:0003 -a 2 -R -R
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Please RESET your LoneStar device !"
|
||||||
|
echo
|
||||||
|
|
@ -42,6 +42,8 @@
|
||||||
#define BOARD_INFO "D2RG_MMDVM_HS"
|
#define BOARD_INFO "D2RG_MMDVM_HS"
|
||||||
#elif defined(SKYBRIDGE_HS)
|
#elif defined(SKYBRIDGE_HS)
|
||||||
#define BOARD_INFO "SkyBridge"
|
#define BOARD_INFO "SkyBridge"
|
||||||
|
#elif defined(LONESTAR_USB)
|
||||||
|
#define BOARD_INFO "LS_USB_STICK"
|
||||||
#else
|
#else
|
||||||
#define BOARD_INFO "MMDVM_HS"
|
#define BOARD_INFO "MMDVM_HS"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue