1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-13 03:19:53 +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)
set(target ${RADIO_SRC_DIRECTORY}/fonts/${radio}/font_${name})
add_custom_command(
OUTPUT ${target}.png
OUTPUT ${target}.specs
add_custom_target(ttf_${radio}_${name}
COMMAND ${RADIO_DIRECTORY}/util/font2png.py ${font} ${size} ${bold} ${target}
WORKING_DIRECTORY ${RADIO_SRC_DIRECTORY}
)
add_custom_target(ttf_${radio}_${name} DEPENDS ${target}.png ${target}.specs)
endmacro(add_truetype_font_target)

View file

@ -60,9 +60,10 @@ if(PCB STREQUAL HORUS)
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} horus_bitmaps)
set(LUA_EXPORT lua_export_horus)
set(FLAVOUR horus)
set(VIRTUAL_INPUTS YES)
add_definitions(-DPCBHORUS -DCOLORLCD -DSTM32F429_439xx -DPPM_PIN_HW_SERIAL)
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)
set(GUI_SRC
${GUI_SRC}
@ -131,6 +132,7 @@ elseif(PCB STREQUAL TARANIS)
set(GUI_DIR taranis)
set(TARGET_DIR taranis)
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} taranis_bitmaps)
set(VIRTUAL_INPUTS YES)
add_definitions(-DPCBTARANIS)
add_definitions(-DAUDIO -DVOICE -DRTCLOCK)
add_definitions(-DDBLKEYS -DVIRTUALINPUTS -DLUAINPUTS -DXCURVES -DVARIO)
@ -417,7 +419,6 @@ if(ARCH STREQUAL ARM)
telemetry/frsky.cpp
telemetry/frsky_d_arm.cpp
telemetry/frsky_sport.cpp
telemetry/telemetry.cpp
crc16.cpp
vario.cpp
)
@ -460,7 +461,7 @@ if(ARCH STREQUAL ARM)
crossfire.cpp
)
else()
option(EXT "Telemetry extension" OFF)
option(EXT "Telemetry protocol" OFF) # TODO rename this EXT option to TELEMETRY
option(AUDIO "Audio support" OFF)
option(VOICE "Voice support" OFF)
option(GRAPHICS "Additional graphics" ON)
@ -507,7 +508,7 @@ else()
set(SRC ${SRC} telemetry/jeti.cpp)
elseif(EXT STREQUAL MAVLINK)
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(GUI_SRC ${GUI_SRC} view_mavlink.cpp)
math(EXPR EEPROM_VARIANT ${EEPROM_VARIANT}+${MAVLINK_VARIANT})
@ -526,6 +527,7 @@ else()
option(VARIO "Vario support" ON)
add_definitions(-DFRSKY)
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)
if(FRSKY_HUB)
add_definitions(-DFRSKY_HUB)
@ -603,6 +605,18 @@ set(GUI_SRC
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)
add_definitions(-DLUA)
include_directories(${LUA_DIR})
@ -663,7 +677,6 @@ if(JITTER_FILTER)
add_definitions(-DJITTER_FILTER)
endif()
if(SDCARD STREQUAL YES)
add_definitions(-DSDCARD)
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")
# 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_CXX_FLAGS "")
set(CMAKE_COMMON_FLAGS "")
@ -778,27 +791,21 @@ if(ARCH STREQUAL ARM)
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)
include_directories(${CMAKE_CURRENT_BINARY_DIR}/targets/${TARGET_DIR}/bootloader)
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} bootloader)
else()
# 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)
endif()
add_executable(firmware.elf ${SRC} ${FIRMWARE_HEADERS})
add_dependencies(firmware.elf ${FIRMWARE_DEPENDENCIES})
add_executable(firmware ${SRC} ${FIRMWARE_HEADERS})
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
DEPENDS firmware.elf
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
)
else()
cmake_force_c_compiler(avr-gcc GNU)
cmake_force_cxx_compiler(avr-gcc GNU)
@ -815,31 +822,22 @@ else()
file(WRITE ${ALLSRC} "${ALLSRC_CONTENT}")
add_executable(firmware.elf ${ALLSRC})
add_dependencies(firmware.elf ${FIRMWARE_DEPENDENCIES})
add_executable(firmware ${ALLSRC})
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
DEPENDS firmware.elf
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
add_custom_target(firmware.bin
COMMAND avr-objcopy -O binary firmware.elf firmware.bin
DEPENDS firmware.elf
)
add_custom_target(firmware
COMMAND avr-size --mcu=${MCU} --format=avr firmware.elf
DEPENDS firmware.hex
add_custom_target(firmware.lss
COMMAND avr-objdump -h -S firmware.elf > firmware.lss
DEPENDS firmware
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
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)
add_custom_target(flash
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);
void deleteExpoMix(uint8_t expo, uint8_t idx);
#endif // _MENUS_H_

View file

@ -23,10 +23,9 @@
* Contains the menu specific code for Mavlink support.
*/
#include "9x/view_mavlink.h"
// Globals declaration
#include "view_mavlink.h"
#define VIEW_MAVLINK_2ND_COLUMN (LCD_W-6*FW-3-MENUS_SCROLLBAR_WIDTH)
/*! \brief Top Mavlink Menu definition
* \details Registers button events and handles that info. Buttons select menus,
@ -494,13 +493,13 @@ void menuTelemetryMavlinkSetup(uint8_t event) {
switch(k) {
case ITEM_MAVLINK_RC_RSSI_SCALE:
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, '%');
if (attr) CHECK_INCDEC_MODELVAR(event, g_model.mavlink.rc_rssi_scale, 0, 15);
break;
case ITEM_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,
STR_MAVLINK_PC_RSSI_EN_LABEL,
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")
add_executable(bootloader.elf ${BOOTLOADER_SRC})
add_dependencies(bootloader.elf taranis_fonts firmware_translations)
add_executable(bootloader ${BOOTLOADER_SRC})
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 "../templates.h"
#define CHECK_NO_MOVEMENT(channel, value, duration) \
for (int i=1; i<=(duration); i++) { \

View file

@ -7,72 +7,75 @@ set -x
mkdir build
cd build
# OpenTX on Taranis and Companion
# Companion
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 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 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
rm -rf *
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 gtests && ./gtests
make -j2 gtests ; ./gtests
# OpenTX on Taranis Plus
rm -rf *
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 gtests && ./gtests
make -j2 gtests ; ./gtests
# OpenTX on Horus
rm -rf *
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 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
#make -j2 gtests ; ./gtests