1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-13 11:29:51 +03:00

Commit tests should be OK now

This commit is contained in:
Bertrand Songis 2016-01-29 14:27:27 +01:00
parent b7e4a3c63b
commit 364bf6ac23
8 changed files with 105 additions and 98 deletions

View file

@ -15,11 +15,8 @@ endmacro(add_bitmaps_target)
macro(add_truetype_font_target radio name font size bold) macro(add_truetype_font_target radio name font size bold)
set(target ${RADIO_SRC_DIRECTORY}/fonts/${radio}/font_${name}) set(target ${RADIO_SRC_DIRECTORY}/fonts/${radio}/font_${name})
add_custom_command( add_custom_target(ttf_${radio}_${name}
OUTPUT ${target}.png
OUTPUT ${target}.specs
COMMAND ${RADIO_DIRECTORY}/util/font2png.py ${font} ${size} ${bold} ${target} COMMAND ${RADIO_DIRECTORY}/util/font2png.py ${font} ${size} ${bold} ${target}
WORKING_DIRECTORY ${RADIO_SRC_DIRECTORY} WORKING_DIRECTORY ${RADIO_SRC_DIRECTORY}
) )
add_custom_target(ttf_${radio}_${name} DEPENDS ${target}.png ${target}.specs)
endmacro(add_truetype_font_target) endmacro(add_truetype_font_target)

View file

@ -60,9 +60,10 @@ if(PCB STREQUAL HORUS)
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} horus_bitmaps) set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} horus_bitmaps)
set(LUA_EXPORT lua_export_horus) set(LUA_EXPORT lua_export_horus)
set(FLAVOUR horus) set(FLAVOUR horus)
set(VIRTUAL_INPUTS YES)
add_definitions(-DPCBHORUS -DCOLORLCD -DSTM32F429_439xx -DPPM_PIN_HW_SERIAL) add_definitions(-DPCBHORUS -DCOLORLCD -DSTM32F429_439xx -DPPM_PIN_HW_SERIAL)
add_definitions(-DEEPROM_VARIANT=0 -DAUDIO -DVOICE -DRTCLOCK) add_definitions(-DEEPROM_VARIANT=0 -DAUDIO -DVOICE -DRTCLOCK)
add_definitions(-DVIRTUALINPUTS -DLUAINPUTS -DXCURVES -DVARIO) add_definitions(-DLUAINPUTS -DXCURVES -DVARIO)
include_directories(${RADIO_SRC_DIRECTORY}/fonts/horus) include_directories(${RADIO_SRC_DIRECTORY}/fonts/horus)
set(GUI_SRC set(GUI_SRC
${GUI_SRC} ${GUI_SRC}
@ -131,6 +132,7 @@ elseif(PCB STREQUAL TARANIS)
set(GUI_DIR taranis) set(GUI_DIR taranis)
set(TARGET_DIR taranis) set(TARGET_DIR taranis)
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} taranis_bitmaps) set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} taranis_bitmaps)
set(VIRTUAL_INPUTS YES)
add_definitions(-DPCBTARANIS) add_definitions(-DPCBTARANIS)
add_definitions(-DAUDIO -DVOICE -DRTCLOCK) add_definitions(-DAUDIO -DVOICE -DRTCLOCK)
add_definitions(-DDBLKEYS -DVIRTUALINPUTS -DLUAINPUTS -DXCURVES -DVARIO) add_definitions(-DDBLKEYS -DVIRTUALINPUTS -DLUAINPUTS -DXCURVES -DVARIO)
@ -417,7 +419,6 @@ if(ARCH STREQUAL ARM)
telemetry/frsky.cpp telemetry/frsky.cpp
telemetry/frsky_d_arm.cpp telemetry/frsky_d_arm.cpp
telemetry/frsky_sport.cpp telemetry/frsky_sport.cpp
telemetry/telemetry.cpp
crc16.cpp crc16.cpp
vario.cpp vario.cpp
) )
@ -460,7 +461,7 @@ if(ARCH STREQUAL ARM)
crossfire.cpp crossfire.cpp
) )
else() else()
option(EXT "Telemetry extension" OFF) option(EXT "Telemetry protocol" OFF) # TODO rename this EXT option to TELEMETRY
option(AUDIO "Audio support" OFF) option(AUDIO "Audio support" OFF)
option(VOICE "Voice support" OFF) option(VOICE "Voice support" OFF)
option(GRAPHICS "Additional graphics" ON) option(GRAPHICS "Additional graphics" ON)
@ -507,7 +508,7 @@ else()
set(SRC ${SRC} telemetry/jeti.cpp) set(SRC ${SRC} telemetry/jeti.cpp)
elseif(EXT STREQUAL MAVLINK) elseif(EXT STREQUAL MAVLINK)
add_definitions(-DMAVLINK) add_definitions(-DMAVLINK)
include_directories(${THIRDPARTY} targets/common_avr) include_directories(${THIRDPARTY_DIR} gui/${GUI_DIR} targets/common_avr)
set(SRC ${SRC} telemetry/mavlink.cpp targets/common_avr/serial_driver.cpp) set(SRC ${SRC} telemetry/mavlink.cpp targets/common_avr/serial_driver.cpp)
set(GUI_SRC ${GUI_SRC} view_mavlink.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})
@ -526,6 +527,7 @@ else()
option(VARIO "Vario support" ON) option(VARIO "Vario support" ON)
add_definitions(-DFRSKY) add_definitions(-DFRSKY)
set(SRC ${SRC} telemetry/frsky.cpp telemetry/frsky_d.cpp) set(SRC ${SRC} telemetry/frsky.cpp telemetry/frsky_d.cpp)
set(FIRMWARE_SRC ${FIRMWARE_SRC} targets/common_avr/telemetry_driver.cpp)
set(GUI_SRC ${GUI_SRC} view_telemetry.cpp) set(GUI_SRC ${GUI_SRC} view_telemetry.cpp)
if(FRSKY_HUB) if(FRSKY_HUB)
add_definitions(-DFRSKY_HUB) add_definitions(-DFRSKY_HUB)
@ -603,6 +605,18 @@ set(GUI_SRC
view_statistics.cpp view_statistics.cpp
) )
if(VIRTUAL_INPUTS)
add_definitions(-DVIRTUALINPUTS)
else()
option(TEMPLATES "Model Templates Menu" ON)
endif()
if(TEMPLATES)
add_definitions(-DTEMPLATES)
set(SRC ${SRC} templates.cpp)
set(GUI_SRC ${GUI_SRC} menu_model_templates.cpp)
endif()
if(LUA) if(LUA)
add_definitions(-DLUA) add_definitions(-DLUA)
include_directories(${LUA_DIR}) include_directories(${LUA_DIR})
@ -663,7 +677,6 @@ if(JITTER_FILTER)
add_definitions(-DJITTER_FILTER) add_definitions(-DJITTER_FILTER)
endif() endif()
if(SDCARD STREQUAL YES) if(SDCARD STREQUAL YES)
add_definitions(-DSDCARD) add_definitions(-DSDCARD)
include_directories(${FATFS_DIR} ${FATFS_DIR}/option) include_directories(${FATFS_DIR} ${FATFS_DIR}/option)
@ -754,7 +767,7 @@ set(SRC ${SRC} ${FIRMWARE_SRC})
set(WARNING_FLAGS "-Wall -Wno-strict-aliasing -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits") set(WARNING_FLAGS "-Wall -Wno-strict-aliasing -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits")
# trick to remove the -rdynamic and --out-implib issues # trick to remove the -rdynamic and --out-implib issues
set(CMAKE_EXECUTABLE_SUFFIX "") set(CMAKE_EXECUTABLE_SUFFIX ".elf")
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "") set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
set(CMAKE_COMMON_FLAGS "") set(CMAKE_COMMON_FLAGS "")
@ -778,27 +791,21 @@ if(ARCH STREQUAL ARM)
if(PCB STREQUAL TARANIS) if(PCB STREQUAL TARANIS)
add_subdirectory(targets/${TARGET_DIR}/bootloader) add_subdirectory(targets/${TARGET_DIR}/bootloader)
add_custom_command( include_directories(${CMAKE_CURRENT_BINARY_DIR}/targets/${TARGET_DIR}/bootloader)
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) set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} bootloader)
else() else()
# We fetch Mike's bootloader as it is not included inside OpenTX # We fetch Mike's bootloader as it is not included inside OpenTX
file(DOWNLOAD https://github.com/MikeBland/OpenRcBootloader/releases/download/V1.9/${BOOTLOADER} ${CMAKE_CURRENT_BINARY_DIR}/bootloader.lbm) file(DOWNLOAD https://github.com/MikeBland/OpenRcBootloader/releases/download/V1.9/${BOOTLOADER} ${CMAKE_CURRENT_BINARY_DIR}/bootloader.lbm)
endif() endif()
add_executable(firmware.elf ${SRC} ${FIRMWARE_HEADERS}) add_executable(firmware ${SRC} ${FIRMWARE_HEADERS})
add_dependencies(firmware.elf ${FIRMWARE_DEPENDENCIES}) add_dependencies(firmware ${FIRMWARE_DEPENDENCIES})
add_custom_target(firmware.bin add_custom_command(
TARGET firmware POST_BUILD
COMMAND arm-none-eabi-objcopy -O binary firmware.elf firmware.bin COMMAND arm-none-eabi-objcopy -O binary firmware.elf firmware.bin
DEPENDS firmware.elf
WORKING_DIRECTORY ${CMAKE_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
) )
else() else()
cmake_force_c_compiler(avr-gcc GNU) cmake_force_c_compiler(avr-gcc GNU)
cmake_force_cxx_compiler(avr-gcc GNU) cmake_force_cxx_compiler(avr-gcc GNU)
@ -815,31 +822,22 @@ else()
file(WRITE ${ALLSRC} "${ALLSRC_CONTENT}") file(WRITE ${ALLSRC} "${ALLSRC_CONTENT}")
add_executable(firmware.elf ${ALLSRC}) add_executable(firmware ${ALLSRC})
add_dependencies(firmware.elf ${FIRMWARE_DEPENDENCIES}) add_dependencies(firmware ${FIRMWARE_DEPENDENCIES})
add_custom_target(firmware.hex add_custom_command(
TARGET firmware POST_BUILD
COMMAND avr-objcopy -O ihex -R .eeprom firmware.elf firmware.hex COMMAND avr-objcopy -O ihex -R .eeprom firmware.elf firmware.hex
DEPENDS firmware.elf WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
) )
add_custom_target(firmware.bin add_custom_target(firmware.lss
COMMAND avr-objcopy -O binary firmware.elf firmware.bin COMMAND avr-objdump -h -S firmware.elf > firmware.lss
DEPENDS firmware.elf DEPENDS firmware
) WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
add_custom_target(firmware
COMMAND avr-size --mcu=${MCU} --format=avr firmware.elf
DEPENDS firmware.hex
) )
endif() endif()
add_custom_target(firmware.lss
COMMAND avr-objdump -h -S firmware.elf > firmware.lss
DEPENDS firmware.elf
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
if(CPU_FAMILY STREQUAL STM32) if(CPU_FAMILY STREQUAL STM32)
add_custom_target(flash add_custom_target(flash
COMMAND dfu-util --alt 0 --dfuse-address 0x08000000 -D firmware.bin COMMAND dfu-util --alt 0 --dfuse-address 0x08000000 -D firmware.bin

View file

@ -560,4 +560,6 @@ void drawFunction(FnFuncP fn, uint8_t offset=0);
uint8_t switchToMix(uint8_t source); uint8_t switchToMix(uint8_t source);
void deleteExpoMix(uint8_t expo, uint8_t idx);
#endif // _MENUS_H_ #endif // _MENUS_H_

View file

@ -23,10 +23,9 @@
* Contains the menu specific code for Mavlink support. * Contains the menu specific code for Mavlink support.
*/ */
#include "9x/view_mavlink.h" #include "view_mavlink.h"
// Globals declaration
#define VIEW_MAVLINK_2ND_COLUMN (LCD_W-6*FW-3-MENUS_SCROLLBAR_WIDTH)
/*! \brief Top Mavlink Menu definition /*! \brief Top Mavlink Menu definition
* \details Registers button events and handles that info. Buttons select menus, * \details Registers button events and handles that info. Buttons select menus,
@ -494,13 +493,13 @@ void menuTelemetryMavlinkSetup(uint8_t event) {
switch(k) { switch(k) {
case ITEM_MAVLINK_RC_RSSI_SCALE: case ITEM_MAVLINK_RC_RSSI_SCALE:
lcd_putsLeft(y, STR_MAVLINK_RC_RSSI_SCALE_LABEL); lcd_putsLeft(y, STR_MAVLINK_RC_RSSI_SCALE_LABEL);
lcdDrawNumber(RADIO_SETUP_2ND_COLUMN, y, (25 + g_model.mavlink.rc_rssi_scale * 5), attr|LEFT); lcdDrawNumber(VIEW_MAVLINK_2ND_COLUMN, y, (25 + g_model.mavlink.rc_rssi_scale * 5), attr|LEFT);
lcdDrawChar(lcdLastPos, y, '%'); lcdDrawChar(lcdLastPos, y, '%');
if (attr) CHECK_INCDEC_MODELVAR(event, g_model.mavlink.rc_rssi_scale, 0, 15); if (attr) CHECK_INCDEC_MODELVAR(event, g_model.mavlink.rc_rssi_scale, 0, 15);
break; break;
case ITEM_MAVLINK_PC_RSSI_EN: case ITEM_MAVLINK_PC_RSSI_EN:
g_model.mavlink.pc_rssi_en = editCheckBox(g_model.mavlink.pc_rssi_en, g_model.mavlink.pc_rssi_en = editCheckBox(g_model.mavlink.pc_rssi_en,
RADIO_SETUP_2ND_COLUMN, VIEW_MAVLINK_2ND_COLUMN,
y, y,
STR_MAVLINK_PC_RSSI_EN_LABEL, STR_MAVLINK_PC_RSSI_EN_LABEL,
attr, attr,

View file

@ -67,5 +67,12 @@ 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") 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_executable(bootloader ${BOOTLOADER_SRC})
add_dependencies(bootloader.elf taranis_fonts firmware_translations) add_dependencies(bootloader taranis_fonts firmware_translations)
add_custom_command(
TARGET bootloader POST_BUILD
COMMAND arm-none-eabi-objcopy -O binary bootloader.elf bootloader.bin
COMMAND python ${RADIO_DIRECTORY}/util/bin2lbm.py bootloader.bin bootloader.lbm
)

View file

@ -35,6 +35,7 @@
*/ */
#include "gtests.h" #include "gtests.h"
#include "../templates.h"
#define CHECK_NO_MOVEMENT(channel, value, duration) \ #define CHECK_NO_MOVEMENT(channel, value, duration) \
for (int i=1; i<=(duration); i++) { \ for (int i=1; i<=(duration); i++) { \

View file

@ -7,72 +7,75 @@ set -x
mkdir build mkdir build
cd build cd build
# OpenTX on Taranis and Companion # Companion
rm -rf * rm -rf *
cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=TARANIS -DHELI=YES -DLUA=YES -DWARNINGS_AS_ERRORS=YES .. cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=TARANIS ..
make -j2 make -j2
make -j2 firmware.bin
# OpenTX on 9X stock with FrSky telemetry
rm -rf *
cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=9X -DHELI=YES -DEXT=FRSKY ..
make -j2 firmware
make -j2 simu make -j2 simu
make -j2 gtests && ./gtests make -j2 gtests ; ./gtests
# OpenTX on 9X stock with Mavlink telemetry
rm -rf *
cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=9X -DHELI=YES -DEXT=MAVLINK ..
make -j2 firmware
# OpenTX on Mega2560
# rm -rf *
#cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=MEGA2560 -DHELI=YES ..
#make -j2 firmware
#make -j2 simu
#make -j2 gtests ; ./gtests
# OpenTX on Mega2560 with Mavlink telemetry
# rm -rf *
#cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=MEGA2560 -DEXT=MAVLINK -DHELI=YES ..
#make -j2 firmware
#make -j2 simu
#make -j2 gtests ; ./gtests
# OpenTX on gruvin9x board
# rm -rf *
#cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=GRUVIN9X -DHELI=YES ..
#make -j2 firmware
#make -j2 simu
#make -j2 gtests ; ./gtests
# OpenTX on Sky9x
rm -rf *
cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=SKY9X -DHELI=YES ..
make -j2 firmware
make -j2 simu
make -j2 gtests ; ./gtests
# OpenTX on Taranis
rm -rf *
cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=TARANIS -DHELI=YES -DLUA=YES -DWARNINGS_AS_ERRORS=YES ..
make -j2 firmware
make -j2 simu
make -j2 gtests ; ./gtests
# OpenTX on Taranis X9E # OpenTX on Taranis X9E
rm -rf * rm -rf *
cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=TARANIS -DPCBREV=REV9E -DHELI=YES -DLUA=YES -DWARNINGS_AS_ERRORS=YES .. cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=TARANIS -DPCBREV=REV9E -DHELI=YES -DLUA=YES -DWARNINGS_AS_ERRORS=YES ..
make -j2 firmware.bin make -j2 firmware
make -j2 simu make -j2 simu
make -j2 gtests && ./gtests make -j2 gtests ; ./gtests
# OpenTX on Taranis Plus # OpenTX on Taranis Plus
rm -rf * rm -rf *
cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=TARANIS -DPCBREV=REVPLUS -DHELI=YES -DLUA=YES -DWARNINGS_AS_ERRORS=YES .. cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=TARANIS -DPCBREV=REVPLUS -DHELI=YES -DLUA=YES -DWARNINGS_AS_ERRORS=YES ..
make -j2 firmware.bin make -j2 firmware
make -j2 simu make -j2 simu
make -j2 gtests && ./gtests make -j2 gtests ; ./gtests
# OpenTX on Horus # OpenTX on Horus
rm -rf * rm -rf *
cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=HORUS -DHELI=NO -DUSB=SERIAL -DCLI=YES -DDEBUG=YES .. cmake -DCMAKE_BUILD_TYPE=Debug -DPCB=HORUS -DHELI=NO -DUSB=SERIAL -DCLI=YES -DDEBUG=YES ..
make -j2 firmware.bin make -j2 firmware
make -j2 simu make -j2 simu
#make -j2 gtests && ./gtests #make -j2 gtests ; ./gtests
# Old, not yet converted
cd ../radio/src/
# OpenTX on 9X stock
make clean
make PCB=9X EXT=FRSKY HELI=YES
make simu PCB=9X EXT=FRSKY HELI=YES
make gtests EXT=FRSKY HELI=YES
./gtests
# OpenTX on 9X stock with MAVLINK
make clean
make PCB=9X EXT=MAVLINK HELI=YES
# OpenTX on Sky9x
make clean
make PCB=SKY9X HELI=YES WARNINGS_AS_ERRORS=YES
make simu PCB=SKY9X HELI=YES
make gtests PCB=SKY9X HELI=YES
./gtests
# OpenTX on Gruvin9x
make clean
make PCB=GRUVIN9X EXT=FRSKY SDCARD=YES
make simu PCB=GRUVIN9X EXT=FRSKY SDCARD=YES
# OpenTX on MEGA2560
make clean
make PCB=MEGA2560
# OpenTX on MEGA2560 with MAVLINK
make clean
make PCB=MEGA2560 EXT=MAVLINK