diff --git a/Defines.h b/Defines.h index f87ca05..1d32c90 100644 --- a/Defines.h +++ b/Defines.h @@ -128,11 +128,6 @@ typedef unsigned long long ulong64_t; // Pass RSSI information to the host // #define SEND_RSSI_DATA -// Enable for RPi 3B+, USB mode -#if defined(STM32_USB_HOST) -#define LONG_USB_RESET -#endif - const uint8_t BIT_MASK_TABLE[] = { 0x80U, 0x40U, 0x20U, 0x10U, 0x08U, 0x04U, 0x02U, 0x01U }; #define CPU_TYPE_STM32 0x02U diff --git a/IO.h b/IO.h index 181b4cb..ccbd4f4 100644 --- a/IO.h +++ b/IO.h @@ -42,18 +42,10 @@ // --------------------------------------------------------------------------- #if defined(DUPLEX) -#if defined(STM32_USB_HOST) -#define CAL_DLY_LOOP 98950U -#else #define CAL_DLY_LOOP 96100U -#endif -#else -#if defined(STM32_USB_HOST) -#define CAL_DLY_LOOP 110850U #else #define CAL_DLY_LOOP 104600U #endif -#endif enum ADF_GAIN_MODE { // AGC automatic, default settings diff --git a/IOSTM.cpp b/IOSTM.cpp index 30d9e6d..e6bf78b 100644 --- a/IOSTM.cpp +++ b/IOSTM.cpp @@ -100,7 +100,7 @@ #define PIN_COS_LED GPIO_Pin_13 #define PORT_COS_LED GPIOB -#elif defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS) || defined(LONESTAR_USB) +#elif defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS) #define PIN_SCLK GPIO_Pin_5 #define PORT_SCLK GPIOB @@ -162,11 +162,7 @@ #define PIN_DEB GPIO_Pin_9 #define PORT_DEB GPIOB -#if defined(STM32_USB_HOST) -#define PIN_NXDN_LED GPIO_Pin_1 -#else #define PIN_NXDN_LED GPIO_Pin_7 -#endif #define PORT_NXDN_LED GPIOA #define PIN_DMR_LED GPIO_Pin_13 @@ -248,7 +244,7 @@ #define PORT_COS_LED GPIOB #else -#error "Either PI_HAT_7021_REV_02, ZUMSPOT_ADF7021, LONESTAR_USB, MMDVM_HS_HAT_REV12, MMDVM_HS_DUAL_HAT_REV10, NANO_HOTSPOT, NANO_DV_REV11, or SKYBRIDGE_HS need to be defined" +#error "Either PI_HAT_7021_REV_02, ZUMSPOT_ADF7021, MMDVM_HS_HAT_REV12, MMDVM_HS_DUAL_HAT_REV10, NANO_HOTSPOT, NANO_DV_REV11, or SKYBRIDGE_HS need to be defined" #endif // --------------------------------------------------------------------------- @@ -276,7 +272,7 @@ extern "C" { } #endif // BIDIR_DATA_PIN -#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) +#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) void EXTI3_IRQHandler(void) { @@ -375,7 +371,7 @@ void IO::delayBit() delay_ns(); } -#if defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || defined(SKYBRIDGE_HS) +#if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS) /// /// /// @@ -477,7 +473,7 @@ bool IO::CLK() // Private Class Members // --------------------------------------------------------------------------- -#if defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || defined(SKYBRIDGE_HS) +#if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS) /// /// /// @@ -539,11 +535,11 @@ void IO::initInt() #if defined(PI_HAT_7021_REV_02) GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE); -#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) +#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); #endif -#if defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || defined(SKYBRIDGE_HS) +#if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS) // Pin defines if the board has a single ADF7021 or double GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStruct.GPIO_Pin = PIN_SGL_DBL; @@ -566,30 +562,12 @@ void IO::initInt() #endif -#if defined(STM32_USB_HOST) - // Pin PA11,PA12 = LOW, USB Reset - GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStruct.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12; - GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(GPIOA, &GPIO_InitStruct); - GPIO_WriteBit(GPIOA, GPIO_Pin_11, Bit_RESET); - GPIO_WriteBit(GPIOA, GPIO_Pin_12, Bit_RESET); - -#endif - -#if defined(LONG_USB_RESET) - // 10 ms delay - delayUS(10000U); -#else volatile unsigned int delay; for (delay = 0; delay < 512; delay++); -#endif -#if !defined(STM32_USB_HOST) GPIO_InitStruct.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStruct); -#endif RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5); RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE); @@ -724,7 +702,7 @@ void IO::initInt() EXTI_InitStructure.EXTI_Line = EXTI_Line14; #endif -#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) +#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) // Connect EXTI3 Line @@ -742,7 +720,7 @@ void IO::initInt() // Connect EXTI5 Line GPIO_EXTILineConfig(PORT_TXD2_INT, PIN_TXD2_INT); // Configure EXT5 line -#if defined(ZUMSPOT_ADF7021) || defined(LONESTAR_USB) || defined(SKYBRIDGE_HS) +#if defined(ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS) EXTI_InitStructure2.EXTI_Line = EXTI_Line8; #else EXTI_InitStructure2.EXTI_Line = EXTI_Line5; @@ -779,7 +757,7 @@ void IO::startInt() NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; -#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) +#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) // Enable and set EXTI3 Interrupt diff --git a/Makefile.STM32FX b/Makefile.STM32FX index b096bf0..a7f2ef2 100644 --- a/Makefile.STM32FX +++ b/Makefile.STM32FX @@ -15,9 +15,6 @@ OBJDIR_F4=obj_f4 BINELF_F1=dvm-firmware-hs_f1.elf BINHEX_F1=dvm-firmware-hs_f1.hex BINBIN_F1=dvm-firmware-hs_f1.bin -BINELF_F1BL=dvm-firmware-hs_f1bl.elf -BINHEX_F1BL=dvm-firmware-hs_f1bl.hex -BINBIN_F1BL=dvm-firmware-hs_f1bl.bin BINELF_F4=dvm-firwmare-hs_f4.elf BINHEX_F4=dvm-firmware-hs_f4.hex BINBIN_F4=dvm-firmware-hs_f4.bin @@ -81,7 +78,6 @@ CSRC_STD_F4=$(wildcard $(STD_LIB_F4)/*.c) SYS_F4=$(wildcard $(SYS_DIR_F4)/*.c) STARTUP_F4=$(wildcard $(STARTUP_DIR_F4)/*.c) OBJ_F1=$(CXXSRC:./%.cpp=$(OBJDIR_F1)/%.o) $(CSRC_STD_F1:$(STD_LIB_F1)/%.c=$(OBJDIR_F1)/%.o) $(SYS_F1:$(SYS_DIR_F1)/%.c=$(OBJDIR_F1)/%.o) $(STARTUP_F1:$(STARTUP_DIR_F1)/%.c=$(OBJDIR_F1)/%.o) -OBJ_F1BL=$(CXXSRC:./%.cpp=$(OBJDIR_F1)/%.o) $(CSRC_STD_F1:$(STD_LIB_F1)/%.c=$(OBJDIR_F1)/%.o) $(SYS_F1:$(SYS_DIR_F1)/%.c=$(OBJDIR_F1)/%.o) $(STARTUP_F1:$(STARTUP_DIR_F1)/%.c=$(OBJDIR_F1)/%.o) $(CXX_USB_F1:$(USB_F1)/%.cpp=$(OBJDIR_F1)/%.o) $(C_USB_F1:$(USB_F1)/%.c=$(OBJDIR_F1)/%.o) OBJ_F4=$(CXXSRC:./%.cpp=$(OBJDIR_F4)/%.o) $(CSRC_STD_F4:$(STD_LIB_F4)/%.c=$(OBJDIR_F4)/%.o) $(SYS_F4:$(SYS_DIR_F4)/%.c=$(OBJDIR_F4)/%.o) $(STARTUP_F4:$(STARTUP_DIR_F4)/%.c=$(OBJDIR_F4)/%.o) # MCU flags @@ -90,7 +86,6 @@ MCFLAGS_F4=-mcpu=cortex-m4 -mthumb -mlittle-endian -mfpu=fpv4-sp-d16 -mfloat-abi # Compile flags DEFS_F1_HS=-DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -DHSE_VALUE=$(OSC) -DVECT_TAB_OFFSET=0x0 -DMADEBYMAKEFILE -DEFS_F1_HS_BL=-DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -DHSE_VALUE=$(OSC) -DVECT_TAB_OFFSET=0x2000 -DMADEBYMAKEFILE # STM32F446 Pi-Hat board: DEFS_PI_F4=-DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DSTM32F446xx -DSTM32F4_PI -DHSE_VALUE=$(OSC) -DMADEBYMAKEFILE # STM32F4 Nucleo-64 F446RE board: @@ -104,7 +99,6 @@ CXXFLAGS_F4=-c $(MCFLAGS_F4) $(INCLUDES_F4) # Linker flags LDFLAGS_F1_N =-T stm32f10x_normal.ld $(MCFLAGS_F1) $(INCLUDES_LIBS_F1) LDFLAGS_F1_D =-T stm32f10x_debug.ld $(MCFLAGS_F1) $(INCLUDES_LIBS_F1) -LDFLAGS_F1_BL =-T stm32f10x_bootloader.ld $(MCFLAGS_F1) $(INCLUDES_LIBS_F1) LDFLAGS_F4 =-T stm32f4xx_link.ld $(MCFLAGS_F4) $(INCLUDES_LIBS_F4) LDFLAGS_F4_D =-T stm32f4xx_link_debug.ld $(MCFLAGS_F4) $(INCLUDES_LIBS_F4) @@ -114,7 +108,7 @@ CXXFLAGS=-Os -g -fno-exceptions -ffunction-sections -fdata-sections -fno-builtin LDFLAGS=-Os -g --specs=nano.specs --specs=nosys.specs # Build Rules -.PHONY: all release_f1 release_f4 hs bl pi-f4 f446 clean +.PHONY: all release_f1 release_f4 hs pi-f4 f446 clean all: hs @@ -126,12 +120,6 @@ zumspot-adf7021: hs zumspot-adf7021-duplex: CFLAGS+=-DDUPLEX zumspot-adf7021-duplex: CXXFLAGS+=-DDUPLEX zumspot-adf7021-duplex: zumspot-adf7021 -zumspot-adf7021-usb: CFLAGS+=-DZUMSPOT_ADF7021 -DSTM32_USB_HOST -zumspot-adf7021-usb: CXXFLAGS+=-DZUMSPOT_ADF7021 -DSTM32_USB_HOST -zumspot-adf7021-usb: bl -zumspot-adf7021-usb-duplex: CFLAGS+=-DDUPLEX -zumspot-adf7021-usb-duplex: CXXFLAGS+=-DDUPLEX -zumspot-adf7021-usb-duplex: zumspot-adf7021-usb pihat-7021-r2: CFLAGS+=-DPI_HAT_7021_REV_02 -DSTM32_USART1_HOST pihat-7021-r2: CXXFLAGS+=-DZUMSPOT_ADF7021 -DSTM32_USART1_HOST @@ -140,10 +128,6 @@ pihat-7021-r2-duplex: CFLAGS+=-DDUPLEX pihat-7021-r2-duplex: CXXFLAGS+=-DDUPLEX pihat-7021-r2-duplex: pihat-7021-r2 -lonestar-usb: CFLAGS+=-DLONESTAR_USB -DSTM32_USB_HOST -lonestar-usb: CXXFLAGS+=-DLONESTAR_USB -DSTM32_USB_HOST -lonestar-usb: bl - mmdvm-hs-hat: CFLAGS+=-DMMDVM_HS_HAT_REV12 -DSTM32_USART1_HOST mmdvm-hs-hat: CXXFLAGS+=-DMMDVM_HS_HAT_REV12 -DSTM32_USART1_HOST mmdvm-hs-hat: hs @@ -156,12 +140,6 @@ mmdvm-hs-hat-dual: mmdvm-hs-hat mmdvm-hs-hat-dual-debug: CFLAGS+=-DDUPLEX mmdvm-hs-hat-dual-debug: CXXFLAGS+=-DDUPLEX mmdvm-hs-hat-dual-debug: mmdvm-hs-hat-debug -mmdvm-hs-hat-usb: CFLAGS+=-DMMDVM_HS_HAT_REV12 -DSTM32_USB_HOST -mmdvm-hs-hat-usb: CXXFLAGS+=-DMMDVM_HS_HAT_REV12 -DSTM32_USB_HOST -mmdvm-hs-hat-usb: bl -mmdvm-hs-hat-usb-dual: CFLAGS+=-DDUPLEX -mmdvm-hs-hat-usb-dual: CXXFLAGS+=-DDUPLEX -mmdvm-hs-hat-usb-dual: mmdvm-hs-hat-usb hs: CFLAGS+=$(CFLAGS_F1) $(DEFS_F1_HS) hs: CXXFLAGS+=$(CXXFLAGS_F1) $(DEFS_F1_HS) @@ -173,19 +151,10 @@ hs-debug: CXXFLAGS+=$(CXXFLAGS_F1) $(DEFS_F1_HS) hs-debug: LDFLAGS+=$(LDFLAGS_F1_D) hs-debug: release_f1 -bl: CFLAGS+=$(CFLAGS_F1) $(DEFS_F1_HS_BL) -bl: CXXFLAGS+=$(CXXFLAGS_F1) $(DEFS_F1_HS_BL) -bl: LDFLAGS+=$(LDFLAGS_F1_BL) -bl: release_f1bl - release_f1: $(BINDIR) release_f1: $(OBJDIR_F1) release_f1: $(BINDIR)/$(BINBIN_F1) -release_f1bl: $(BINDIR) -release_f1bl: $(OBJDIR_F1) -release_f1bl: $(BINDIR)/$(BINBIN_F1BL) - release_f4: $(BINDIR) release_f4: $(OBJDIR_F4) release_f4: $(BINDIR)/$(BINBIN_F4) @@ -203,12 +172,6 @@ $(OBJDIR_F4): mkdir $@/p25 mkdir $@/nxdn -$(BINDIR)/$(BINBIN_F1BL): $(BINDIR)/$(BINELF_F1BL) - $(CP) -O binary $< $@ -$(BINDIR)/$(BINELF_F1BL): $(OBJ_F1BL) - $(CXX) $(OBJ_F1BL) $(LDFLAGS) -o $@ - $(SIZE) $(BINDIR)/$(BINELF_F1BL) - $(BINDIR)/$(BINBIN_F1): $(BINDIR)/$(BINELF_F1) $(CP) -O binary $< $@ $(BINDIR)/$(BINELF_F1): $(OBJ_F1) @@ -249,4 +212,3 @@ clean: test ! -d $(OBJDIR_F1) || rm -rf $(OBJDIR_F1) test ! -d $(OBJDIR_F4) || rm -rf $(OBJDIR_F4) rm -f $(BINDIR)/*.bin $(BINDIR)/*.elf - diff --git a/SerialSTM.cpp b/SerialSTM.cpp index 89fee4b..bb1bde0 100644 --- a/SerialSTM.cpp +++ b/SerialSTM.cpp @@ -36,14 +36,6 @@ #if defined(STM32F10X_MD) #include -#if defined(STM32_USB_HOST) -#include -#endif - -#if defined(STM32_USART1_HOST) && defined(STM32_USB_HOST) -#error "You have to select STM32_USART1_HOST or STM32_USB_HOST, but not both" -#endif - // --------------------------------------------------------------------------- // Constants // --------------------------------------------------------------------------- @@ -279,11 +271,7 @@ void SerialPort::beginInt(uint8_t n, int speed) { switch (n) { case 1U: -#if defined(STM32_USART1_HOST) InitUSART1(speed); -#elif defined(STM32_USB_HOST) - usbserial.begin(); -#endif break; case 3U: InitUSART2(speed); @@ -302,11 +290,7 @@ int SerialPort::availableInt(uint8_t n) { switch (n) { case 1U: -#if defined(STM32_USART1_HOST) return m_USART1.available(); -#elif defined(STM32_USB_HOST) - return usbserial.available(); -#endif case 3U: m_USART2.available(); default: @@ -323,12 +307,7 @@ int SerialPort::availableForWriteInt(uint8_t n) { switch (n) { case 1U: -#if defined(STM32_USART1_HOST) return m_USART1.availableForWrite(); -#elif defined(STM32_USB_HOST) - //return usbserial.availableForWrite(); - return 1U; // we don't have this -- so fake it -#endif case 3U: return m_USART2.availableForWrite(); default: @@ -345,11 +324,7 @@ uint8_t SerialPort::readInt(uint8_t n) { switch (n) { case 1U: -#if defined(STM32_USART1_HOST) return m_USART1.read(); -#elif defined(STM32_USB_HOST) - return usbserial.read(); -#endif case 3U: return m_USART2.read(); default: @@ -369,15 +344,9 @@ void SerialPort::writeInt(uint8_t n, const uint8_t* data, uint16_t length, bool { switch (n) { case 1U: -#if defined(STM32_USART1_HOST) m_USART1.write(data, length); if (flush) m_USART1.flush(); -#elif defined(STM32_USB_HOST) - usbserial.write(data, length); - if (flush) - usbserial.flush(); -#endif break; case 3U: m_USART2.write(data, length); diff --git a/stm32f10x_bootloader.ld b/stm32f10x_bootloader.ld deleted file mode 100644 index 4738f25..0000000 --- a/stm32f10x_bootloader.ld +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2016-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. - */ - -/* Memory areas */ -MEMORY -{ - ROM (rx) : ORIGIN = 0x08002000, LENGTH = 120K /* FLASH */ - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K /* Main RAM */ -} - -INCLUDE stm32f10x_link.ld