From 24402471d6dea3f99d3345f29d927eea70ac6909 Mon Sep 17 00:00:00 2001 From: Andy CA6JAU Date: Sat, 27 Jan 2018 01:14:00 -0300 Subject: [PATCH] More support for Nano hotSPOT --- Config.h | 4 ++- IOArduino.cpp | 8 ++--- IOSTM.cpp | 14 ++++----- configs/MMDVM_HS_Hat.h | 4 ++- configs/Nano_hotSPOT.h | 66 ++++++++++++++++++++++++++++++++++++++++ configs/ZUMspot_Libre.h | 4 ++- configs/ZUMspot_RPi.h | 4 ++- configs/ZUMspot_USB.h | 4 ++- configs/ZUMspot_duplex.h | 4 ++- scripts/build_fw.sh | 6 ++++ version.h | 4 +-- 11 files changed, 103 insertions(+), 19 deletions(-) create mode 100644 configs/Nano_hotSPOT.h diff --git a/Config.h b/Config.h index 6203bfe..62fbc2a 100644 --- a/Config.h +++ b/Config.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2017 by Andy Uribe CA6JAU + * 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 @@ -26,6 +26,8 @@ #define LIBRE_KIT_ADF7021 // 3) MMDVM_HS_Hat revisions 1.1 and 1.2 (DB9MAT & DF2ET) // #define MMDVM_HS_HAT_REV12 +// 4) Nano hotSPOT (BI7JTA) +// #define NANO_HOTSPOT // Enable ADF7021 support: #define ENABLE_ADF7021 diff --git a/IOArduino.cpp b/IOArduino.cpp index 76ca11a..cc80f8f 100644 --- a/IOArduino.cpp +++ b/IOArduino.cpp @@ -1,6 +1,6 @@ /* * Copyright (C) 2015,2016 by Jonathan Naylor G4KLX - * Copyright (C) 2016,2017 by Andy Uribe CA6JAU + * Copyright (C) 2016,2017,2018 by Andy Uribe CA6JAU * Copyright (C) 2017 by Danilo DB4PLE * This program is free software; you can redistribute it and/or modify @@ -50,7 +50,7 @@ #define PIN_PTT_LED PB14 #define PIN_COS_LED PB15 -#elif defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) +#elif defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(NANO_HOTSPOT) #define PIN_SCLK PB5 #define PIN_SREAD PB7 @@ -73,7 +73,7 @@ #define PIN_COS_LED PB15 #else -#error "Either ZUMSPOT_ADF7021 or LIBRE_KIT_ADF7021 or MMDVM_HS_HAT_REV12 need to be defined" +#error "Either ZUMSPOT_ADF7021, LIBRE_KIT_ADF7021, MMDVM_HS_HAT_REV12 or NANO_HOTSPOT need to be defined" #endif #elif defined(__MK20DX256__) || defined(__MK64FX512__) || defined(__MK66FX1M0__) @@ -144,7 +144,7 @@ void CIO::Init() { #if defined (__STM32F1__) -#if defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) +#if defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(NANO_HOTSPOT) afio_cfg_debug_ports(AFIO_DEBUG_SW_ONLY); #endif diff --git a/IOSTM.cpp b/IOSTM.cpp index 50556b0..af0fc74 100644 --- a/IOSTM.cpp +++ b/IOSTM.cpp @@ -1,6 +1,6 @@ /* * Copyright (C) 2016 by Jim McLaughlin KI6ZUM - * Copyright (C) 2016,2017 by Andy Uribe CA6JAU + * Copyright (C) 2016,2017,2018 by Andy Uribe CA6JAU * Copyright (C) 2017 by Danilo DB4PLE * This program is free software; you can redistribute it and/or modify @@ -146,7 +146,7 @@ #define PIN_COS_LED GPIO_Pin_15 #define PORT_COS_LED GPIOB -#elif defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) +#elif defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(NANO_HOTSPOT) #define PIN_SCLK GPIO_Pin_5 #define PORT_SCLK GPIOB @@ -216,7 +216,7 @@ #define PORT_COS_LED GPIOB #else -#error "Either PI_HAT_7021_REV_02, ZUMSPOT_ADF7021, LIBRE_KIT_ADF7021 or MMDVM_HS_HAT_REV12 need to be defined" +#error "Either PI_HAT_7021_REV_02, ZUMSPOT_ADF7021, LIBRE_KIT_ADF7021, MMDVM_HS_HAT_REV12 or NANO_HOTSPOT need to be defined" #endif extern "C" { @@ -238,7 +238,7 @@ extern "C" { } #endif -#elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) +#elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(NANO_HOTSPOT) #if defined(BIDIR_DATA_PIN) void EXTI3_IRQHandler(void) { @@ -275,7 +275,7 @@ void CIO::Init() #if defined(PI_HAT_7021_REV_02) GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); -#elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) +#elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(NANO_HOTSPOT) GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE); #endif @@ -439,7 +439,7 @@ void CIO::Init() EXTI_InitStructure.EXTI_Line = EXTI_Line14; #endif -#elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) +#elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(NANO_HOTSPOT) #if defined(BIDIR_DATA_PIN) // Connect EXTI3 Line @@ -487,7 +487,7 @@ void CIO::startInt() NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; -#elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) +#elif defined(ZUMSPOT_ADF7021) || defined(LIBRE_KIT_ADF7021) || defined(MMDVM_HS_HAT_REV12) || defined(NANO_HOTSPOT) #if defined(BIDIR_DATA_PIN) // Enable and set EXTI3 Interrupt diff --git a/configs/MMDVM_HS_Hat.h b/configs/MMDVM_HS_Hat.h index c48ffd7..08599c2 100644 --- a/configs/MMDVM_HS_Hat.h +++ b/configs/MMDVM_HS_Hat.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2017 by Andy Uribe CA6JAU + * 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 @@ -26,6 +26,8 @@ // #define LIBRE_KIT_ADF7021 // 3) MMDVM_HS_Hat revisions 1.1 and 1.2 (DB9MAT & DF2ET) #define MMDVM_HS_HAT_REV12 +// 4) Nano hotSPOT (BI7JTA) +// #define NANO_HOTSPOT // Enable ADF7021 support: #define ENABLE_ADF7021 diff --git a/configs/Nano_hotSPOT.h b/configs/Nano_hotSPOT.h new file mode 100644 index 0000000..f016ca5 --- /dev/null +++ b/configs/Nano_hotSPOT.h @@ -0,0 +1,66 @@ +/* + * 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 and 1.2 (DB9MAT & DF2ET) +// #define MMDVM_HS_HAT_REV12 +// 4) Nano hotSPOT (BI7JTA) +#define NANO_HOTSPOT + +// 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 + +#endif diff --git a/configs/ZUMspot_Libre.h b/configs/ZUMspot_Libre.h index 6203bfe..62fbc2a 100644 --- a/configs/ZUMspot_Libre.h +++ b/configs/ZUMspot_Libre.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2017 by Andy Uribe CA6JAU + * 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 @@ -26,6 +26,8 @@ #define LIBRE_KIT_ADF7021 // 3) MMDVM_HS_Hat revisions 1.1 and 1.2 (DB9MAT & DF2ET) // #define MMDVM_HS_HAT_REV12 +// 4) Nano hotSPOT (BI7JTA) +// #define NANO_HOTSPOT // Enable ADF7021 support: #define ENABLE_ADF7021 diff --git a/configs/ZUMspot_RPi.h b/configs/ZUMspot_RPi.h index dcedf9a..2499c0a 100644 --- a/configs/ZUMspot_RPi.h +++ b/configs/ZUMspot_RPi.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2017 by Andy Uribe CA6JAU + * 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 @@ -26,6 +26,8 @@ // #define LIBRE_KIT_ADF7021 // 3) MMDVM_HS_Hat revisions 1.1 and 1.2 (DB9MAT & DF2ET) // #define MMDVM_HS_HAT_REV12 +// 4) Nano hotSPOT (BI7JTA) +// #define NANO_HOTSPOT // Enable ADF7021 support: #define ENABLE_ADF7021 diff --git a/configs/ZUMspot_USB.h b/configs/ZUMspot_USB.h index e9c6831..00e88ee 100644 --- a/configs/ZUMspot_USB.h +++ b/configs/ZUMspot_USB.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2017 by Andy Uribe CA6JAU + * 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 @@ -26,6 +26,8 @@ // #define LIBRE_KIT_ADF7021 // 3) MMDVM_HS_Hat revisions 1.1 and 1.2 (DB9MAT & DF2ET) // #define MMDVM_HS_HAT_REV12 +// 4) Nano hotSPOT (BI7JTA) +// #define NANO_HOTSPOT // Enable ADF7021 support: #define ENABLE_ADF7021 diff --git a/configs/ZUMspot_duplex.h b/configs/ZUMspot_duplex.h index f5d4831..09d0cc3 100644 --- a/configs/ZUMspot_duplex.h +++ b/configs/ZUMspot_duplex.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2017 by Andy Uribe CA6JAU + * 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 @@ -26,6 +26,8 @@ #define LIBRE_KIT_ADF7021 // 3) MMDVM_HS_Hat revisions 1.1 and 1.2 (DB9MAT & DF2ET) // #define MMDVM_HS_HAT_REV12 +// 4) Nano hotSPOT (BI7JTA) +// #define NANO_HOTSPOT // Enable ADF7021 support: #define ENABLE_ADF7021 diff --git a/scripts/build_fw.sh b/scripts/build_fw.sh index 452c448..873d72a 100755 --- a/scripts/build_fw.sh +++ b/scripts/build_fw.sh @@ -50,4 +50,10 @@ make mv ~/MMDVM_HS/bin/outp.bin ~/MMDVM_HS/bin/mmdvm_hs_hat_fw.bin make clean +# Building Nano hotSPOT +cp ~/MMDVM_HS/configs/Nano_hotSPOT.h ~/MMDVM_HS/Config.h +make +mv ~/MMDVM_HS/bin/outp.bin ~/MMDVM_HS/bin/nano_hotspot_fw.bin +make clean + cp ~/MMDVM_HS/configs/ZUMspot_Libre.h ~/MMDVM_HS/Config.h diff --git a/version.h b/version.h index 44ede43..614b035 100644 --- a/version.h +++ b/version.h @@ -24,8 +24,8 @@ #define VER_MAJOR "1" #define VER_MINOR "1" -#define VER_REV "2" -#define VERSION_DATE "20180121" +#define VER_REV "3" +#define VERSION_DATE "20180127" #if defined(ZUMSPOT_ADF7021) #define BOARD_INFO "ZUMspot"