From d02d0f26dbf26601c5ef95f1a2f5110b034a9918 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 23 Dec 2015 18:39:02 +0100 Subject: [PATCH] Switch to CMake - Taranis bootloader added. Tests done. --- radio/src/CMakeLists.txt | 59 ++++++++++++---- radio/src/bitmaps/taranis/CMakeLists.txt | 6 +- radio/src/loadboot.cpp | 5 +- radio/src/opentx.h | 69 +------------------ radio/src/targets/common_avr/board_avr.h | 21 ++++++ radio/src/targets/horus/board_horus.h | 19 +++++ radio/src/targets/sky9x/board_sky9x.h | 15 ++++ radio/src/targets/taranis/board_taranis.h | 25 +++++++ .../targets/taranis/bootloader/CMakeLists.txt | 67 ++++++++++++++++++ radio/src/targets/taranis/delays.c | 7 ++ radio/src/targets/taranis/lcd_driver.cpp | 24 ++----- radio/src/targets/taranis/usbd_desc.c | 7 +- radio/src/tasks_arm.cpp | 6 -- radio/src/tasks_arm.h | 5 +- 14 files changed, 215 insertions(+), 120 deletions(-) create mode 100644 radio/src/targets/taranis/bootloader/CMakeLists.txt diff --git a/radio/src/CMakeLists.txt b/radio/src/CMakeLists.txt index 3c2375886..2e51fe106 100644 --- a/radio/src/CMakeLists.txt +++ b/radio/src/CMakeLists.txt @@ -28,6 +28,7 @@ add_subdirectory(translations) add_subdirectory(bitmaps) add_subdirectory(lua) +set(EEPROM_VARIANT 0) set(GVARS_VARIANT 1) set(FRSKY_VARIANT 2) set(3POS_VARIANT 4) @@ -93,6 +94,7 @@ if(PCB STREQUAL HORUS) STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dma2d.c ) elseif(PCB STREQUAL TARANIS) + option(PCBREV "PCB Revision" REVPLUS) option(SHUTDOWN_CONFIRMATION "Shutdown confirmation" OFF) option(LCD_DUAL_BUFFER "Dual LCD Buffer" OFF) option(TARANIS_INTERNAL_PPM "Taranis internal module hack to output PPM" OFF) @@ -132,6 +134,7 @@ elseif(PCB STREQUAL TARANIS) set(SRC ${SRC} bmp.cpp) set(GUI_SRC ${GUI_SRC} menu_general_diagkeys.cpp menu_general_diaganas.cpp menu_general_hardware.cpp view_channels.cpp view_telemetry.cpp view_text.cpp view_about.cpp) set(TARGET_SRC ${TARGET_SRC} board_taranis.cpp rtc_driver.cpp) + set(FIRMWARE_SRC ${FIRMWARE_SRC} loadboot.cpp) set(FIRMWARE_TARGET_SRC ${FIRMWARE_TARGET_SRC} lcd_driver.cpp @@ -154,7 +157,6 @@ elseif(PCB STREQUAL 9X OR PCB STREQUAL 9XR) set(MCU atmega64) string(TOLOWER ${PCB} FLAVOUR) set(EEPROM_VARIANT_NEEDED ON) - set(EEPROM_VARIANT 0) set(EEPROM EEPROM_RLC) set(GUI_DIR 9x) set(TARGET_DIR 9x) @@ -276,6 +278,8 @@ endif() if(ARCH STREQUAL ARM) option(TIMERS "Timers count" 2) + option(CLI "Command Line Interface" OFF) + option(DEBUG "Debug mode" OFF) option(SPORT_FILE_LOG "S.PORT Logs on SD card" OFF) option(TRACE_SD_CARD "Traces SD enabled" OFF) option(TRACE_FATFS "Traces FatFS enabled" OFF) @@ -292,22 +296,31 @@ if(ARCH STREQUAL ARM) endif() if(TRACE_SD_CARD) add_definitions(-DTRACE_SD_CARD) - # DEBUG = YES - # DEBUG_TRACE_BUFFER = YES + set(DEBUG ON) + set(DEBUG_TRACE_BUFFER ON) endif() if(TRACE_FATFS) add_definitions(-DTRACE_FATFS) - # DEBUG = YES - # DEBUG_TRACE_BUFFER = YES + set(DEBUG ON) + set(DEBUG_TRACE_BUFFER ON) endif() if(TRACE_AUDIO) add_definitions(-DTRACE_AUDIO) - # DEBUG = YES - # DEBUG_TRACE_BUFFER = YES + set(DEBUG ON) + set(DEBUG_TRACE_BUFFER ON) endif() if(DEBUG_TRACE_BUFFER) add_definitions(-DDEBUG_TRACE_BUFFER) endif() + if(CLI) + add_definitions(-DCLI) + set(SRC ${SRC} cli.cpp dump.cpp) + elseif(DEBUG) + set(SRC ${SRC} dump.cpp) + endif() + if(DEBUG) + add_definitions(-DDEBUG) + endif() if(SUPPORT_D16_EU_ONLY) add_definitions(-DMODULE_D16_EU_ONLY_SUPPORT) endif() @@ -409,7 +422,7 @@ else() include_directories(${THIRDPARTY} targets/common_avr) set(SRC ${SRC} telemetry/mavlink.cpp targets/common_avr/serial_driver.cpp) set(GUI_SRC ${GUI_SRC} view_mavlink.cpp) - MATH(EXPR EEPROM_VARIANT ${EEPROM_VARIANT}+${MAVLINK_VARIANT}) + math(EXPR EEPROM_VARIANT ${EEPROM_VARIANT}+${MAVLINK_VARIANT}) elseif(EXT STREQUAL TELEMETREZ) add_definitions(-DTELEMETREZ) set(SRC ${SRC} telemetry/jeti.cpp) @@ -442,7 +455,7 @@ else() add_definitions(-DVARIO) set(SRC ${SRC} vario.cpp) endif() - MATH(EXPR EEPROM_VARIANT ${EEPROM_VARIANT}+${FRSKY_VARIANT}) + math(EXPR EEPROM_VARIANT ${EEPROM_VARIANT}+${FRSKY_VARIANT}) endif() add_definitions(-DTIMERS=2) if(EEPROM_VARIANT_NEEDED) @@ -538,7 +551,7 @@ endif() if(GVARS) add_definitions(-DGVARS) - MATH(EXPR EEPROM_VARIANT ${EEPROM_VARIANT}+${GVARS_VARIANT}) + math(EXPR EEPROM_VARIANT ${EEPROM_VARIANT}+${GVARS_VARIANT}) endif() if(FAI STREQUAL YES) @@ -656,13 +669,30 @@ if(ARCH STREQUAL ARM) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_ASM_COMPILE_OBJECT " -o ") - set(COMMON_FLAGS "-mcpu=${MCU} -mthumb -fomit-frame-pointer -fverbose-asm -Wa,-ahlms=opentx.lst -DRUN_FROM_FLASH=1 -O${OPT} -gdwarf-2 -DHSE_VALUE=${HSE_VALUE} -fno-exceptions -fdata-sections -ffunction-sections ${WARNING_FLAGS}") + set(COMMON_FLAGS "-mcpu=${MCU} -mthumb -fomit-frame-pointer -fverbose-asm -Wa,-ahlms=opentx.lst -O${OPT} -gdwarf-2 -DHSE_VALUE=${HSE_VALUE} -fno-exceptions -fdata-sections -ffunction-sections ${WARNING_FLAGS}") set(CMAKE_C_FLAGS "${COMMON_FLAGS} -Wimplicit") set(CMAKE_CXX_FLAGS "${COMMON_FLAGS}") set(CMAKE_EXE_LINKER_FLAGS "-mcpu=${MCU} -mthumb -nostartfiles -lm -T${RADIO_SRC_DIRECTORY}/${LINKER_SCRIPT} -Wl,-Map=opentx.map,--cref,--no-warn-mismatch,--gc-sections") - add_executable(firmware.bin ${SRC}) - add_dependencies(firmware.bin ${FIRMWARE_DEPENDENCIES}) + if(PCB STREQUAL TARANIS) + add_subdirectory(targets/${TARGET_DIR}/bootloader) + add_custom_command( + OUTPUT bootloader.bin bootloader.lbm + COMMAND arm-none-eabi-objcopy -O binary targets/${TARGET_DIR}/bootloader/bootloader.elf bootloader.bin + COMMAND python ${RADIO_DIRECTORY}/util/bin2lbm.py bootloader.bin bootloader.lbm + DEPENDS bootloader.elf + ) + add_custom_target(bootloader DEPENDS bootloader.lbm) + set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} bootloader) + endif() + + add_executable(firmware.elf ${SRC} ${FIRMWARE_HEADERS}) + add_dependencies(firmware.elf ${FIRMWARE_DEPENDENCIES}) + + add_custom_target(firmware.bin + COMMAND arm-none-eabi-objcopy -O binary firmware.elf firmware.bin + DEPENDS firmware.elf + ) else() cmake_force_c_compiler(avr-gcc GNU) cmake_force_cxx_compiler(avr-gcc GNU) @@ -688,7 +718,7 @@ else() ) add_custom_target(firmware.bin - COMMAND avr-objcopy -O binary firmware.elf firmware.hex + COMMAND avr-objcopy -O binary firmware.elf firmware.bin DEPENDS firmware.elf ) @@ -696,7 +726,6 @@ else() COMMAND avr-size --mcu=${MCU} --format=avr firmware.elf DEPENDS firmware.hex ) - endif() add_custom_target(firmware.lss diff --git a/radio/src/bitmaps/taranis/CMakeLists.txt b/radio/src/bitmaps/taranis/CMakeLists.txt index 97f2f2f06..283d25b82 100644 --- a/radio/src/bitmaps/taranis/CMakeLists.txt +++ b/radio/src/bitmaps/taranis/CMakeLists.txt @@ -1,4 +1,4 @@ -add_bitmaps_target(taranis_xbm_1bit ${RADIO_SRC_DIRECTORY}/bitmaps/*.xbm 128 1bit) -add_bitmaps_target(taranis_fonts_1bit ${RADIO_SRC_DIRECTORY}/fonts/std/*.png 128 "") +add_bitmaps_target(taranis_xbm ${RADIO_SRC_DIRECTORY}/bitmaps/*.xbm 128 1bit) +add_bitmaps_target(taranis_fonts ${RADIO_SRC_DIRECTORY}/fonts/std/*.png 128 "") add_bitmaps_target(taranis_bitmaps ${RADIO_SRC_DIRECTORY}/bitmaps/taranis/*.png 212 4bits) -add_dependencies(taranis_bitmaps taranis_fonts_1bit taranis_xbm_1bit) \ No newline at end of file +add_dependencies(taranis_bitmaps taranis_fonts taranis_xbm) \ No newline at end of file diff --git a/radio/src/loadboot.cpp b/radio/src/loadboot.cpp index 8798015f5..587d48f32 100644 --- a/radio/src/loadboot.cpp +++ b/radio/src/loadboot.cpp @@ -45,9 +45,7 @@ * ****************************************************************************/ -#if !defined(SIMU) - -#include +#include "opentx.h" #if defined(PCBSKY9X) #include "AT91SAM3S4.h" @@ -188,4 +186,3 @@ void _bootStart() } #endif -#endif diff --git a/radio/src/opentx.h b/radio/src/opentx.h index cc7246130..795c83400 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -975,74 +975,7 @@ void checkAll(); #include "sbus.h" #endif -extern void backlightOn(); - -enum Analogs { - STICK1, - STICK2, - STICK3, - STICK4, -#if defined(PCBHORUS) - POT1, - POT2, - POT3, - POT_LAST=POT3, - SLIDER1, - SLIDER2, - SLIDER3, - SLIDER4, -#elif defined(PCBFLAMENCO) - POT1, - POT2, - POT_LAST = POT2, - SLIDER1, - SLIDER2, - SWITCHES1, - SWITCHES2, - SWITCHES3, - SWITCHES4, -#elif defined(PCBTARANIS) - POT1, - POT2, - POT3, - #if defined(REV9E) - POT4, - POT_LAST = POT4, - #else - POT_LAST = POT3, - #endif - SLIDER1, - SLIDER2, - #if defined(REV9E) - SLIDER3, - SLIDER4, - #endif -#else - POT1, - POT2, - POT3, - POT_LAST = POT3, -#endif -#if defined(TELEMETRY_MOD_14051) || defined(TELEMETRY_MOD_14051_SWAPPED) - // When the mod is applied, ADC7 is connected to 14051's X pin and TX_VOLTAGE - // is connected to 14051's X0 pin (one of the multiplexed inputs). TX_VOLTAGE - // value is filled in by processMultiplexAna(). - - // This shifts TX_VOLTAGE from 7 to 8 and makes X14051 take the 7th position - // corresponding to ADC7. - X14051, -#endif - TX_VOLTAGE, -#if defined(PCBSKY9X) && !defined(REVA) - TX_CURRENT, -#endif -#if defined(PCBHORUS) - MOUSE1, - MOUSE2, -#endif - NUMBER_ANALOG -}; - +void backlightOn(); void checkBacklight(); void doLoopCommonActions(); diff --git a/radio/src/targets/common_avr/board_avr.h b/radio/src/targets/common_avr/board_avr.h index 3b653928c..7f827e4da 100644 --- a/radio/src/targets/common_avr/board_avr.h +++ b/radio/src/targets/common_avr/board_avr.h @@ -35,6 +35,27 @@ */ // ADC driver +enum Analogs { + STICK1, + STICK2, + STICK3, + STICK4, + POT1, + POT2, + POT3, + POT_LAST = POT3, +#if defined(TELEMETRY_MOD_14051) || defined(TELEMETRY_MOD_14051_SWAPPED) + // When the mod is applied, ADC7 is connected to 14051's X pin and TX_VOLTAGE + // is connected to 14051's X0 pin (one of the multiplexed inputs). TX_VOLTAGE + // value is filled in by processMultiplexAna(). + + // This shifts TX_VOLTAGE from 7 to 8 and makes X14051 take the 7th position + // corresponding to ADC7. + X14051, +#endif + TX_VOLTAGE, + NUMBER_ANALOG +}; void adcInit(); void adcPrepareBandgap(); void getADC(); diff --git a/radio/src/targets/horus/board_horus.h b/radio/src/targets/horus/board_horus.h index f0af5eacf..b5071d582 100644 --- a/radio/src/targets/horus/board_horus.h +++ b/radio/src/targets/horus/board_horus.h @@ -217,6 +217,25 @@ void watchdogInit(unsigned int duration); #endif // ADC driver +enum Analogs { + STICK1, + STICK2, + STICK3, + STICK4, + POT1, + POT2, + POT3, + POT_LAST=POT3, + SLIDER1, + SLIDER2, + SLIDER3, + SLIDER4, + TX_VOLTAGE, + MOUSE1, + MOUSE2, + NUMBER_ANALOG +}; + void adcInit(void); void adcRead(void); uint16_t getAnalogValue(uint32_t value); diff --git a/radio/src/targets/sky9x/board_sky9x.h b/radio/src/targets/sky9x/board_sky9x.h index d02404ced..ca630745f 100644 --- a/radio/src/targets/sky9x/board_sky9x.h +++ b/radio/src/targets/sky9x/board_sky9x.h @@ -228,6 +228,21 @@ void disable_dsm2(uint32_t port); #define isBacklightEnable() (PWM->PWM_CH_NUM[0].PWM_CDTY != 100) // ADC driver +enum Analogs { + STICK1, + STICK2, + STICK3, + STICK4, + POT1, + POT2, + POT3, + POT_LAST = POT3, + TX_VOLTAGE, +#if !defined(REVA) + TX_CURRENT, +#endif + NUMBER_ANALOG +}; void adcInit(); void adcRead(void); inline uint16_t getAnalogValue(uint32_t value); diff --git a/radio/src/targets/taranis/board_taranis.h b/radio/src/targets/taranis/board_taranis.h index 06e9318a6..ad6936509 100644 --- a/radio/src/targets/taranis/board_taranis.h +++ b/radio/src/targets/taranis/board_taranis.h @@ -155,6 +155,7 @@ extern "C" { #endif void delaysInit(void); void delay_01us(uint16_t nb); +void delay(uint32_t ms); #ifdef __cplusplus } #endif @@ -250,8 +251,32 @@ void watchdogInit(unsigned int duration); #endif // ADC driver +enum Analogs { + STICK1, + STICK2, + STICK3, + STICK4, + POT1, + POT2, + POT3, + #if defined(REV9E) + POT4, + POT_LAST = POT4, + #else + POT_LAST = POT3, + #endif + SLIDER1, + SLIDER2, + #if defined(REV9E) + SLIDER3, + SLIDER4, + #endif + TX_VOLTAGE, + NUMBER_ANALOG +}; void adcInit(void); void adcRead(void); +extern uint16_t adcValues[NUMBER_ANALOG]; uint16_t getAnalogValue(uint32_t value); #define BATT_SCALE 150 diff --git a/radio/src/targets/taranis/bootloader/CMakeLists.txt b/radio/src/targets/taranis/bootloader/CMakeLists.txt new file mode 100644 index 000000000..55b05f749 --- /dev/null +++ b/radio/src/targets/taranis/bootloader/CMakeLists.txt @@ -0,0 +1,67 @@ +if(PCBREV STREQUAL REV9E) + set(BOOTLOADER_SRC + ${BOOTLOADER_SRC} + ../system_stm32f4xx.c + ../../../${STM32LIB_DIR}/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc_ride7/startup_stm32f40_41xxx.s + ../../../${STM32LIB_DIR}/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rcc.c + ../../../${STM32LIB_DIR}/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_gpio.c + ../../../${STM32LIB_DIR}/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_spi.c + ../../../${STM32LIB_DIR}/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_i2c.c + ../../../${STM32LIB_DIR}/STM32F4xx_StdPeriph_Driver/src/misc.c + ) +else() + set(BOOTLOADER_SRC + ${BOOTLOADER_SRC} + ../system_stm32f2xx.c + ../../../${STM32LIB_DIR}/CMSIS/Device/ST/STM32F2xx/Source/Templates/gcc_ride7/startup_stm32f2xx.s + ../../../${STM32LIB_DIR}/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rcc.c + ../../../${STM32LIB_DIR}/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_gpio.c + ../../../${STM32LIB_DIR}/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_spi.c + ../../../${STM32LIB_DIR}/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_i2c.c + ../../../${STM32LIB_DIR}/STM32F2xx_StdPeriph_Driver/src/misc.c + ) +endif() + +set(BOOTLOADER_SRC + ${BOOTLOADER_SRC} + ../../../gui/taranis/lcd.cpp + ../../../gui/taranis/fonts.cpp + ../../../keys.cpp + ../../../strhelpers.cpp + ../../../${STM32USB_DIR}/STM32_USB_OTG_Driver/src/usb_core.c + ../../../${STM32USB_DIR}/STM32_USB_OTG_Driver/src/usb_dcd.c + ../../../${STM32USB_DIR}/STM32_USB_OTG_Driver/src/usb_dcd_int.c + ../../../${STM32USB_DIR}/STM32_USB_Device_Library/Core/src/usbd_core.c + ../../../${STM32USB_DIR}/STM32_USB_Device_Library/Core/src/usbd_ioreq.c + ../../../${STM32USB_DIR}/STM32_USB_Device_Library/Core/src/usbd_req.c + ../../../${STM32USB_DIR}/STM32_USB_Device_Library/Class/msc/src/usbd_msc_data.c + ../../../${STM32USB_DIR}/STM32_USB_Device_Library/Class/msc/src/usbd_msc_scsi.c + ../../../${STM32USB_DIR}/STM32_USB_Device_Library/Class/msc/src/usbd_msc_bot.c + ../../../${STM32USB_DIR}/STM32_USB_Device_Library/Class/msc/src/usbd_msc_core.c + ../../../${FATFS_DIR}/ff.c + ../../../${FATFS_DIR}/option/ccsbcs.c + ../lcd_driver.cpp + ../configure_pins.cpp + ../keys_driver.cpp + ../i2c_driver.cpp + ../flash_driver.cpp + ../diskio.cpp + ../usbd_usr.cpp + ../usbd_storage_msd.cpp + ../delays.c + ../usbd_desc.c + ../aspi.c + ../usb_bsp.c + ../usb_driver.c + ../pwr_driver.c + init.c + boot.cpp + ) + +remove_definitions(-DUSB_JOYSTICK -DUSB_SERIAL -DDEBUG) +add_definitions(-DBOOT -DUSB_MASS_STORAGE) + +set(CMAKE_EXE_LINKER_FLAGS "-mcpu=${MCU} -mthumb -nostartfiles -lm -T${RADIO_SRC_DIRECTORY}/targets/taranis/stm32_ramboot.ld -Wl,-Map=bootloader.map,--cref,--no-warn-mismatch,--gc-sections") + +add_executable(bootloader.elf ${BOOTLOADER_SRC}) +add_dependencies(bootloader.elf taranis_fonts firmware_translations) diff --git a/radio/src/targets/taranis/delays.c b/radio/src/targets/taranis/delays.c index 756db1ed7..037db78c2 100644 --- a/radio/src/targets/taranis/delays.c +++ b/radio/src/targets/taranis/delays.c @@ -55,3 +55,10 @@ void delay_01us(uint16_t nb) while(TIM13->CNT < nb); TIM13->CR1 = 0x02; } + +void delay(uint32_t ms) +{ + while(ms--) { + delay_01us(10000); + } +} diff --git a/radio/src/targets/taranis/lcd_driver.cpp b/radio/src/targets/taranis/lcd_driver.cpp index 0ea21d8c5..64a674cc3 100644 --- a/radio/src/targets/taranis/lcd_driver.cpp +++ b/radio/src/targets/taranis/lcd_driver.cpp @@ -27,16 +27,6 @@ bool lcdInitFinished = false; void lcdInitFinish(); -/* - delaysInit() must be called before the first call to this function! -*/ -static void Delay(uint32_t ms) -{ - while(ms--) { - delay_01us(10000); - } -} - #if defined(REVPLUS) // New hardware SPI driver for LCD @@ -71,7 +61,7 @@ void initLcdSpi() static void LCD_Init() { WriteCommand(0x2F); //Internal pump control - Delay(20); + delay(20); WriteCommand(0x24); //Temperature compensation WriteCommand(0xE9); //set bias=1/10 WriteCommand(0x81); //Set Vop @@ -106,7 +96,7 @@ static void LCD_Init() static void LCD_Init() { AspiCmd(0x2B); //Panel loading set ,Internal VLCD. - Delay(20); + delay(20); AspiCmd(0x25); //Temperature compensation curve definition: 0x25 = -0.05%/oC AspiCmd(0xEA); //set bias=1/10 :Command table NO.27 AspiCmd(0x81); //Set Vop @@ -349,7 +339,7 @@ void lcdOff() to re-init LCD without any delay */ AspiCmd(0xAE); //LCD sleep - Delay(3); //wait for caps to drain + delay(3); //wait for caps to drain } /* @@ -357,7 +347,7 @@ void lcdOff() soon as possible after the reset because LCD takes a lot of time to properly power-on. - Make sure that Delay() is functional before calling this function! + Make sure that delay() is functional before calling this function! */ void lcdInit() { @@ -367,7 +357,7 @@ void lcdInit() //reset LCD module LCD_RST_LOW(); - Delay(1); // only 3 us needed according to data-sheet, we use 1 ms + delay(1); // only 3 us needed according to data-sheet, we use 1 ms LCD_RST_HIGH(); } @@ -404,13 +394,13 @@ void lcdInitFinish() #if !defined(BOOT) while(g_tmr10ms < (RESET_WAIT_DELAY_MS/10)) {}; //wait measured from the power-on #else - Delay(RESET_WAIT_DELAY_MS); + delay(RESET_WAIT_DELAY_MS); #endif } LCD_Init(); AspiCmd(0xAF); //dc2=1, IC into exit SLEEP MODE, dc3=1 gray=ON, dc4=1 Green Enhanc mode disabled - Delay(20); //needed for internal DC-DC converter startup + delay(20); //needed for internal DC-DC converter startup } void lcdSetRefVolt(uint8_t val) diff --git a/radio/src/targets/taranis/usbd_desc.c b/radio/src/targets/taranis/usbd_desc.c index aba041d1f..69d48d539 100644 --- a/radio/src/targets/taranis/usbd_desc.c +++ b/radio/src/targets/taranis/usbd_desc.c @@ -65,12 +65,7 @@ #define USBD_SERIALNUMBER_FS_STRING "00000000001B" -#if defined(BOOT) - #define USBD_PID 0x5720 - #define USBD_PRODUCT_FS_STRING "FrSky Taranis Bootloader" - #define USBD_CONFIGURATION_FS_STRING "MSC Config" - #define USBD_INTERFACE_FS_STRING "MSC Interface" -#elif defined(USB_JOYSTICK) +#if defined(USB_JOYSTICK) #define USBD_PID 0x5710 #define USBD_PRODUCT_FS_STRING "FrSky Taranis Joystick" #define USBD_CONFIGURATION_FS_STRING "HID Config" diff --git a/radio/src/tasks_arm.cpp b/radio/src/tasks_arm.cpp index 53a925404..239b8d9a8 100644 --- a/radio/src/tasks_arm.cpp +++ b/radio/src/tasks_arm.cpp @@ -72,12 +72,6 @@ void TaskStack::paint() } } -template -uint16_t TaskStack::size() -{ - return SIZE*4; -} - uint16_t getStackAvailable(void * address, uint16_t size) { uint32_t * array = (uint32_t *)address; diff --git a/radio/src/tasks_arm.h b/radio/src/tasks_arm.h index ffe3d055e..8bd8c0c98 100644 --- a/radio/src/tasks_arm.h +++ b/radio/src/tasks_arm.h @@ -62,7 +62,10 @@ class TaskStack public: TaskStack() { } void paint(); - uint16_t size(); + uint16_t size() + { + return SIZE * 4; + } uint16_t available() { return getStackAvailable(stack, SIZE);