mirror of
https://github.com/EdgeTX/edgetx.git
synced 2025-07-23 00:05:13 +03:00
Switch to CMake continued
This commit is contained in:
parent
88841f63ca
commit
0c78c60dc9
13 changed files with 470 additions and 326 deletions
|
@ -3,7 +3,6 @@ option(HELI "Heli menu" ON)
|
||||||
option(FLIGHT_MODES "Flight Modes" ON)
|
option(FLIGHT_MODES "Flight Modes" ON)
|
||||||
option(CURVES "Curves" ON)
|
option(CURVES "Curves" ON)
|
||||||
option(GVARS "Global variables")
|
option(GVARS "Global variables")
|
||||||
option(LUA "Lua scripts")
|
|
||||||
option(GUI "GUI enabled" ON)
|
option(GUI "GUI enabled" ON)
|
||||||
option(SPLASH "Splash enabled" ON)
|
option(SPLASH "Splash enabled" ON)
|
||||||
option(PPM_UNIT "PPM display unit (US/PERCENT_PREC1/PERCENT_PREC0)" PERCENT_PREC0)
|
option(PPM_UNIT "PPM display unit (US/PERCENT_PREC1/PERCENT_PREC0)" PERCENT_PREC0)
|
||||||
|
@ -26,30 +25,34 @@ set(FATFS_DIR ${THIRDPARTY_DIR}/FatFs)
|
||||||
set(RADIO_BIN_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
set(RADIO_BIN_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
|
||||||
add_subdirectory(translations)
|
add_subdirectory(translations)
|
||||||
add_subdirectory(bitmaps/9x)
|
add_subdirectory(bitmaps)
|
||||||
add_subdirectory(bitmaps/taranis)
|
|
||||||
add_subdirectory(bitmaps/horus)
|
|
||||||
add_subdirectory(lua)
|
add_subdirectory(lua)
|
||||||
|
|
||||||
|
set(GVARS_VARIANT 1)
|
||||||
|
set(FRSKY_VARIANT 2)
|
||||||
|
set(3POS_VARIANT 4)
|
||||||
|
set(MAVLINK_VARIANT 8)
|
||||||
|
set(M2561_VARIANT 16384)
|
||||||
|
set(M128_VARIANT 32768)
|
||||||
|
|
||||||
set(FIRMWARE_DEPENDENCIES firmware_translations)
|
set(FIRMWARE_DEPENDENCIES firmware_translations)
|
||||||
|
|
||||||
if(PCB STREQUAL HORUS)
|
if(PCB STREQUAL HORUS)
|
||||||
include_directories(${RADIO_SRC_DIRECTORY}/fonts/horus)
|
|
||||||
set(CPU_TYPE STM32F4)
|
set(CPU_TYPE STM32F4)
|
||||||
set(HSE_VALUE 12000000)
|
set(HSE_VALUE 12000000)
|
||||||
|
set(SDCARD YES)
|
||||||
|
set(EEPROM SDCARD)
|
||||||
|
set(HAPTIC YES)
|
||||||
set(GUI_DIR horus)
|
set(GUI_DIR horus)
|
||||||
set(TARGET_DIR horus)
|
set(TARGET_DIR horus)
|
||||||
set(SDCARD YES)
|
|
||||||
set(LINKER_SCRIPT targets/horus/stm32f4_flash.ld)
|
set(LINKER_SCRIPT targets/horus/stm32f4_flash.ld)
|
||||||
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)
|
||||||
add_definitions(-DFLAVOUR="horus")
|
set(FLAVOUR horus)
|
||||||
add_definitions(-DPCBHORUS -DCOLORLCD -DSTM32F429_439xx)
|
add_definitions(-DPCBHORUS -DCOLORLCD -DSTM32F429_439xx)
|
||||||
add_definitions(-DEEPROM_VARIANT=0 -DAUDIO -DVOICE -DRTCLOCK)
|
add_definitions(-DEEPROM_VARIANT=0 -DAUDIO -DVOICE -DRTCLOCK)
|
||||||
add_definitions(-DVIRTUALINPUTS -DLUAINPUTS -DXCURVES -DVARIO)
|
add_definitions(-DVIRTUALINPUTS -DLUAINPUTS -DXCURVES -DVARIO)
|
||||||
set(EEPROM SDCARD)
|
include_directories(${RADIO_SRC_DIRECTORY}/fonts/horus)
|
||||||
set(HAPTIC YES)
|
|
||||||
set(SRC ${SRC} bmp.cpp debug.cpp)
|
|
||||||
set(GUI_SRC
|
set(GUI_SRC
|
||||||
${GUI_SRC}
|
${GUI_SRC}
|
||||||
curves.cpp
|
curves.cpp
|
||||||
|
@ -59,7 +62,7 @@ if(PCB STREQUAL HORUS)
|
||||||
view_text.cpp
|
view_text.cpp
|
||||||
view_telemetry.cpp # TODO remove it
|
view_telemetry.cpp # TODO remove it
|
||||||
)
|
)
|
||||||
set(SRC ${SRC} targets/taranis/rtc_driver.cpp)
|
set(SRC ${SRC} bmp.cpp targets/taranis/rtc_driver.cpp)
|
||||||
set(TARGET_SRC ${TARGET_SRC} board_horus.cpp)
|
set(TARGET_SRC ${TARGET_SRC} board_horus.cpp)
|
||||||
set(FIRMWARE_TARGET_SRC
|
set(FIRMWARE_TARGET_SRC
|
||||||
${FIRMWARE_TARGET_SRC}
|
${FIRMWARE_TARGET_SRC}
|
||||||
|
@ -96,37 +99,37 @@ elseif(PCB STREQUAL TARANIS)
|
||||||
if(PCBREV STREQUAL REV9E)
|
if(PCBREV STREQUAL REV9E)
|
||||||
set(CPU_TYPE STM32F4)
|
set(CPU_TYPE STM32F4)
|
||||||
set(LINKER_SCRIPT targets/taranis/stm32f4_flash.ld)
|
set(LINKER_SCRIPT targets/taranis/stm32f4_flash.ld)
|
||||||
add_definitions(-DSTM32F40_41xxx -DEEPROM_VARIANT=32768)
|
|
||||||
add_definitions(-DREVPLUS -DREV9E)
|
|
||||||
add_definitions(-DFLAVOUR="taranis-x9e")
|
|
||||||
set(HAPTIC YES)
|
set(HAPTIC YES)
|
||||||
set(LUA_EXPORT lua_export_taranis_x9e)
|
set(LUA_EXPORT lua_export_taranis_x9e)
|
||||||
|
set(FLAVOUR taranis-x9e)
|
||||||
|
add_definitions(-DSTM32F40_41xxx -DREVPLUS -DREV9E)
|
||||||
|
add_definitions(-DEEPROM_VARIANT=32768)
|
||||||
elseif(PCBREV STREQUAL REVPLUS)
|
elseif(PCBREV STREQUAL REVPLUS)
|
||||||
set(CPU_TYPE STM32F2)
|
set(CPU_TYPE STM32F2)
|
||||||
set(LINKER_SCRIPT targets/taranis/stm32f2_flash.ld)
|
set(LINKER_SCRIPT targets/taranis/stm32f2_flash.ld)
|
||||||
add_definitions(-DEEPROM_VARIANT=0)
|
|
||||||
add_definitions(-DREVPLUS)
|
|
||||||
add_definitions(-DFLAVOUR="taranis-plus")
|
|
||||||
set(HAPTIC YES)
|
set(HAPTIC YES)
|
||||||
set(LUA_EXPORT lua_export_taranis)
|
set(LUA_EXPORT lua_export_taranis)
|
||||||
|
set(FLAVOUR taranis-plus)
|
||||||
|
add_definitions(-DREVPLUS)
|
||||||
|
add_definitions(-DEEPROM_VARIANT=0)
|
||||||
else()
|
else()
|
||||||
set(CPU_TYPE STM32F2)
|
set(CPU_TYPE STM32F2)
|
||||||
set(LINKER_SCRIPT targets/taranis/stm32f2_flash.ld)
|
set(LINKER_SCRIPT targets/taranis/stm32f2_flash.ld)
|
||||||
add_definitions(-DEEPROM_VARIANT=0)
|
|
||||||
add_definitions(-DFLAVOUR="taranis")
|
|
||||||
set(HAPTIC NO)
|
set(HAPTIC NO)
|
||||||
set(LUA_EXPORT lua_export_taranis)
|
set(LUA_EXPORT lua_export_taranis)
|
||||||
|
set(FLAVOUR taranis)
|
||||||
|
add_definitions(-DEEPROM_VARIANT=0)
|
||||||
endif()
|
endif()
|
||||||
set(HSE_VALUE 12000000)
|
set(HSE_VALUE 12000000)
|
||||||
add_definitions(-DPCBTARANIS)
|
set(SDCARD YES)
|
||||||
add_definitions(-DAUDIO -DVOICE -DRTCLOCK)
|
|
||||||
add_definitions(-DDBLKEYS -DVIRTUALINPUTS -DLUAINPUTS -DXCURVES -DVARIO)
|
|
||||||
set(EEPROM EEPROM_RLC)
|
set(EEPROM EEPROM_RLC)
|
||||||
set(GUI_DIR taranis)
|
set(GUI_DIR taranis)
|
||||||
set(TARGET_DIR taranis)
|
set(TARGET_DIR taranis)
|
||||||
set(SDCARD YES)
|
|
||||||
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} taranis_bitmaps)
|
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} taranis_bitmaps)
|
||||||
set(SRC ${SRC} bmp.cpp debug.cpp)
|
add_definitions(-DPCBTARANIS)
|
||||||
|
add_definitions(-DAUDIO -DVOICE -DRTCLOCK)
|
||||||
|
add_definitions(-DDBLKEYS -DVIRTUALINPUTS -DLUAINPUTS -DXCURVES -DVARIO)
|
||||||
|
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(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(TARGET_SRC ${TARGET_SRC} board_taranis.cpp rtc_driver.cpp)
|
||||||
set(FIRMWARE_TARGET_SRC
|
set(FIRMWARE_TARGET_SRC
|
||||||
|
@ -146,13 +149,26 @@ elseif(PCB STREQUAL TARANIS)
|
||||||
if(TARANIS_INTERNAL_PPM)
|
if(TARANIS_INTERNAL_PPM)
|
||||||
add_definitions(-DTARANIS_INTERNAL_PPM)
|
add_definitions(-DTARANIS_INTERNAL_PPM)
|
||||||
endif()
|
endif()
|
||||||
|
elseif(PCB STREQUAL 9X OR PCB STREQUAL 9XR)
|
||||||
|
set(ARCH AVR)
|
||||||
|
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)
|
||||||
|
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} 9x_bitmaps)
|
||||||
|
add_definitions(-DPCBSTD -DPCB${PCB} -DCPUM64)
|
||||||
|
set(TARGET_SRC ${TARGET_SRC} board_stock.cpp)
|
||||||
|
set(GUI_SRC ${GUI_SRC} menu_general_diagkeys.cpp menu_general_diaganas.cpp)
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Unknown PCB '${PCB}'")
|
message(FATAL_ERROR "Unknown PCB '${PCB}'")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CPU_TYPE STREQUAL STM32F4)
|
if(CPU_TYPE STREQUAL STM32F4)
|
||||||
set(MCU cortex-m4)
|
|
||||||
set(CPU_FAMILY STM32)
|
set(CPU_FAMILY STM32)
|
||||||
|
set(MCU cortex-m4)
|
||||||
set(STM32LIB_DIR ${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries)
|
set(STM32LIB_DIR ${THIRDPARTY_DIR}/STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries)
|
||||||
include_directories(${STM32LIB_DIR}/STM32F4xx_StdPeriph_Driver/inc)
|
include_directories(${STM32LIB_DIR}/STM32F4xx_StdPeriph_Driver/inc)
|
||||||
include_directories(${STM32LIB_DIR}/CMSIS/Device/ST/STM32F4xx/Include)
|
include_directories(${STM32LIB_DIR}/CMSIS/Device/ST/STM32F4xx/Include)
|
||||||
|
@ -165,8 +181,8 @@ if(CPU_TYPE STREQUAL STM32F4)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CPU_TYPE STREQUAL STM32F2)
|
if(CPU_TYPE STREQUAL STM32F2)
|
||||||
set(MCU cortex-m3)
|
|
||||||
set(CPU_FAMILY STM32)
|
set(CPU_FAMILY STM32)
|
||||||
|
set(MCU cortex-m3)
|
||||||
set(STM32LIB_DIR ${THIRDPARTY_DIR}/STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries)
|
set(STM32LIB_DIR ${THIRDPARTY_DIR}/STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries)
|
||||||
include_directories(${STM32LIB_DIR}/STM32F2xx_StdPeriph_Driver/inc)
|
include_directories(${STM32LIB_DIR}/STM32F2xx_StdPeriph_Driver/inc)
|
||||||
include_directories(${STM32LIB_DIR}/CMSIS/Device/ST/STM32F2xx/Include)
|
include_directories(${STM32LIB_DIR}/CMSIS/Device/ST/STM32F2xx/Include)
|
||||||
|
@ -189,6 +205,7 @@ if(CPU_TYPE STREQUAL STM32F2)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CPU_FAMILY STREQUAL STM32)
|
if(CPU_FAMILY STREQUAL STM32)
|
||||||
|
option(LUA "Lua scripts")
|
||||||
option(USB "USB option (JOYSTICK/MASSSTORAGE/SERIAL)" JOYSTICK)
|
option(USB "USB option (JOYSTICK/MASSSTORAGE/SERIAL)" JOYSTICK)
|
||||||
set(ARCH ARM)
|
set(ARCH ARM)
|
||||||
set(STM32USB_DIR ${THIRDPARTY_DIR}/STM32_USB-Host-Device_Lib_V2.1.0/Libraries)
|
set(STM32USB_DIR ${THIRDPARTY_DIR}/STM32_USB-Host-Device_Lib_V2.1.0/Libraries)
|
||||||
|
@ -208,15 +225,6 @@ if(CPU_FAMILY STREQUAL STM32)
|
||||||
STM32_USB_Device_Library/Core/src/usbd_req.c
|
STM32_USB_Device_Library/Core/src/usbd_req.c
|
||||||
)
|
)
|
||||||
set(FIRMWARE_TARGET_SRC ${FIRMWARE_TARGET_SRC} usb_bsp.c usbd_desc.c usbd_usr.cpp)
|
set(FIRMWARE_TARGET_SRC ${FIRMWARE_TARGET_SRC} usb_bsp.c usbd_desc.c usbd_usr.cpp)
|
||||||
if(${EEPROM} STREQUAL SDCARD)
|
|
||||||
set(SRC ${SRC} storage/storage_common.cpp storage/sdcard_raw.cpp)
|
|
||||||
elseif(${EEPROM} STREQUAL EEPROM_RLC)
|
|
||||||
set(SRC ${SRC} storage/storage_common.cpp storage/eeprom_common.cpp storage/eeprom_rlc.cpp storage/eeprom_conversions.cpp)
|
|
||||||
add_definitions(-DEEPROM -DEEPROM_RLC)
|
|
||||||
else()
|
|
||||||
set(SRC ${SRC} storage/storage_common.cpp storage/eeprom_common.cpp storage/eeprom_raw.cpp storage/eeprom_conversions.cpp)
|
|
||||||
add_definitions(-DEEPROM)
|
|
||||||
endif()
|
|
||||||
if(USB STREQUAL SERIAL)
|
if(USB STREQUAL SERIAL)
|
||||||
add_definitions(-DUSB_SERIAL)
|
add_definitions(-DUSB_SERIAL)
|
||||||
set(FIRMWARE_TARGET_SRC ${FIRMWARE_TARGET_SRC} usbd_cdc.cpp)
|
set(FIRMWARE_TARGET_SRC ${FIRMWARE_TARGET_SRC} usbd_cdc.cpp)
|
||||||
|
@ -235,6 +243,9 @@ if(CPU_FAMILY STREQUAL STM32)
|
||||||
add_definitions(-DUSB_JOYSTICK)
|
add_definitions(-DUSB_JOYSTICK)
|
||||||
set(FIRMWARE_TARGET_SRC ${FIRMWARE_TARGET_SRC} usbd_hid_joystick.c)
|
set(FIRMWARE_TARGET_SRC ${FIRMWARE_TARGET_SRC} usbd_hid_joystick.c)
|
||||||
endif()
|
endif()
|
||||||
|
if(GVARS)
|
||||||
|
set(GUI_SRC ${GUI_SRC} menu_model_gvars.cpp)
|
||||||
|
endif()
|
||||||
set(FIRMWARE_SRC
|
set(FIRMWARE_SRC
|
||||||
${FIRMWARE_SRC}
|
${FIRMWARE_SRC}
|
||||||
serial.cpp
|
serial.cpp
|
||||||
|
@ -266,9 +277,9 @@ endif()
|
||||||
if(ARCH STREQUAL ARM)
|
if(ARCH STREQUAL ARM)
|
||||||
option(TIMERS "Timers count" 2)
|
option(TIMERS "Timers count" 2)
|
||||||
option(SPORT_FILE_LOG "S.PORT Logs on SD card" OFF)
|
option(SPORT_FILE_LOG "S.PORT Logs on SD card" OFF)
|
||||||
option(TRACE_SD_CARD "SD Logs" OFF)
|
option(TRACE_SD_CARD "Traces SD enabled" OFF)
|
||||||
option(TRACE_FATFS "FatFS Logs" OFF)
|
option(TRACE_FATFS "Traces FatFS enabled" OFF)
|
||||||
option(TRACE_AUDIO "Audio Logs" OFF)
|
option(TRACE_AUDIO "Traces audio enabled" OFF)
|
||||||
option(DEBUG_TRACE_BUFFER "Debug Trace Screen" OFF)
|
option(DEBUG_TRACE_BUFFER "Debug Trace Screen" OFF)
|
||||||
option(SUPPORT_D16_EU_ONLY "XJT module only supports D16-EU and LR12-EU" OFF) # TODO rename to XJT_EU_ONLY
|
option(SUPPORT_D16_EU_ONLY "XJT module only supports D16-EU and LR12-EU" OFF) # TODO rename to XJT_EU_ONLY
|
||||||
if(TIMERS EQUAL 3)
|
if(TIMERS EQUAL 3)
|
||||||
|
@ -350,128 +361,117 @@ if(ARCH STREQUAL ARM)
|
||||||
dsm2_arm.cpp
|
dsm2_arm.cpp
|
||||||
crossfire.cpp
|
crossfire.cpp
|
||||||
)
|
)
|
||||||
|
else()
|
||||||
|
option(EXT "Telemetry extension" OFF)
|
||||||
|
option(AUDIO "Audio support" OFF)
|
||||||
|
option(VOICE "Voice support" OFF)
|
||||||
|
option(GRAPHICS "Additional graphics" ON)
|
||||||
|
option(BOLD "Bold font" ON)
|
||||||
|
option(BATTGRAPH "Battery graph" OFF)
|
||||||
|
set(PULSES_SRC pulses_avr.cpp)
|
||||||
|
set(SRC ${SRC} main_avr.cpp)
|
||||||
|
set(FIRMWARE_TARGET_SRC ${FIRMWARE_TARGET_SRC} lcd_driver.cpp)
|
||||||
|
set(FIRMWARE_SRC ${FIRMWARE_SRC} targets/common_avr/adc_driver.cpp)
|
||||||
|
if(AUDIO)
|
||||||
|
add_definitions(-DAUDIO)
|
||||||
|
set(SRC ${SRC} audio_avr.cpp)
|
||||||
|
set(BUZZER OFF)
|
||||||
|
else()
|
||||||
|
set(BUZZER ON)
|
||||||
|
endif()
|
||||||
|
if(BUZZER)
|
||||||
|
add_definitions(-DBUZZER)
|
||||||
|
set(SRC ${SRC} buzzer.cpp)
|
||||||
|
endif()
|
||||||
|
if(VOICE)
|
||||||
|
add_definitions(-DVOICE)
|
||||||
|
set(TARGET_SRC ${TARGET_SRC} voice.cpp)
|
||||||
|
endif()
|
||||||
|
if(GRAPHICS)
|
||||||
|
add_definitions(-DGRAPHICS)
|
||||||
|
endif()
|
||||||
|
if(BOLD)
|
||||||
|
add_definitions(-DBOLD_FONT)
|
||||||
|
endif()
|
||||||
|
if(${EXT} STREQUAL OFF)
|
||||||
|
add_definitions(-DEXTSTD)
|
||||||
|
elseif(EXT STREQUAL ARDUPILOT)
|
||||||
|
add_definitions(-DARDUPILOT)
|
||||||
|
set(SRC ${SRC} telemetry/ardupilot.cpp)
|
||||||
|
elseif(EXT STREQUAL NMEA)
|
||||||
|
add_definitions(-DNMEA)
|
||||||
|
set(SRC ${SRC} telemetry/nmea.cpp)
|
||||||
|
elseif(EXT STREQUAL JETI)
|
||||||
|
add_definitions(-DJETI)
|
||||||
|
set(SRC ${SRC} telemetry/jeti.cpp)
|
||||||
|
elseif(EXT STREQUAL MAVLINK)
|
||||||
|
add_definitions(-DMAVLINK)
|
||||||
|
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})
|
||||||
|
elseif(EXT STREQUAL TELEMETREZ)
|
||||||
|
add_definitions(-DTELEMETREZ)
|
||||||
|
set(SRC ${SRC} telemetry/jeti.cpp)
|
||||||
|
elseif(EXT STREQUAL FRSKY_SPORT)
|
||||||
|
add_definitions(-DFRSKY_SPORT)
|
||||||
|
set(SRC ${SRC} crc16.cpp telemetry/frsky_sport.cpp)
|
||||||
|
endif()
|
||||||
|
if(EXT STREQUAL FRSKY OR EXT STREQUAL FRSKY_SPORT OR EXT STREQUAL TELEMETREZ)
|
||||||
|
option(FRSKY_HUB "FrSky Hub support" ON)
|
||||||
|
option(WS_HOW_HIGH "Winged Shadow sensors support" ON)
|
||||||
|
option(GAUGES "Telemetry gauges" OFF)
|
||||||
|
option(GPS "GPS support" ON)
|
||||||
|
option(VARIO "Vario support" ON)
|
||||||
|
add_definitions(-DFRSKY)
|
||||||
|
set(SRC ${SRC} telemetry/frsky.cpp telemetry/frsky_d.cpp)
|
||||||
|
set(GUI_SRC ${GUI_SRC} view_telemetry.cpp)
|
||||||
|
if(FRSKY_HUB)
|
||||||
|
add_definitions(-DFRSKY_HUB)
|
||||||
|
endif()
|
||||||
|
if(WS_HOW_HIGH)
|
||||||
|
add_definitions(-DWS_HOW_HIGH)
|
||||||
|
endif()
|
||||||
|
if(GAUGES)
|
||||||
|
add_definitions(-DGAUGES)
|
||||||
|
endif()
|
||||||
|
if(GPS)
|
||||||
|
add_definitions(-DGPS)
|
||||||
|
endif()
|
||||||
|
if(VARIO)
|
||||||
|
add_definitions(-DVARIO)
|
||||||
|
set(SRC ${SRC} vario.cpp)
|
||||||
|
endif()
|
||||||
|
MATH(EXPR EEPROM_VARIANT ${EEPROM_VARIANT}+${FRSKY_VARIANT})
|
||||||
|
endif()
|
||||||
|
add_definitions(-DTIMERS=2)
|
||||||
|
if(EEPROM_VARIANT_NEEDED)
|
||||||
|
add_definitions(-DEEPROM_VARIANT=${EEPROM_VARIANT})
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(SRC ${SRC} debug.cpp)
|
||||||
|
|
||||||
|
if(${EEPROM} STREQUAL SDCARD)
|
||||||
|
set(SRC ${SRC} storage/storage_common.cpp storage/sdcard_raw.cpp)
|
||||||
|
elseif(${EEPROM} STREQUAL EEPROM_RLC)
|
||||||
|
set(SRC ${SRC} storage/storage_common.cpp storage/eeprom_common.cpp storage/eeprom_rlc.cpp)
|
||||||
|
add_definitions(-DEEPROM -DEEPROM_RLC)
|
||||||
|
else()
|
||||||
|
set(SRC ${SRC} storage/storage_common.cpp storage/eeprom_common.cpp storage/eeprom_raw.cpp)
|
||||||
|
add_definitions(-DEEPROM)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT ${EEPROM} STREQUAL SDCARD AND ARCH STREQUAL ARM)
|
||||||
|
set(SRC ${SRC} storage/eeprom_conversions.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_definitions(-DFLAVOUR="${FLAVOUR}")
|
||||||
|
|
||||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||||
include_directories(${CMAKE_CURRENT_BINARY_DIR}/bitmaps/${GUI_DIR})
|
include_directories(${CMAKE_CURRENT_BINARY_DIR}/bitmaps/${GUI_DIR})
|
||||||
|
|
||||||
if(NOT LUA STREQUAL OFF)
|
|
||||||
add_definitions(-DLUA)
|
|
||||||
include_directories(${LUA_DIR})
|
|
||||||
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} ${LUA_EXPORT})
|
|
||||||
if(LUA STREQUAL ON)
|
|
||||||
add_definitions(-DLUA_MODEL_SCRIPTS)
|
|
||||||
set(GUI_SRC ${GUI_SRC} menu_model_custom_scripts.cpp)
|
|
||||||
endif()
|
|
||||||
set(SRC ${SRC} lua/interface.cpp lua/api_general.cpp lua/api_lcd.cpp lua/api_model.cpp)
|
|
||||||
set(LUA_SRC
|
|
||||||
lapi.c
|
|
||||||
lcode.c
|
|
||||||
lctype.c
|
|
||||||
ldebug.c
|
|
||||||
ldo.c
|
|
||||||
ldump.c
|
|
||||||
lfunc.c
|
|
||||||
lgc.c
|
|
||||||
llex.c
|
|
||||||
lmem.c
|
|
||||||
lobject.c
|
|
||||||
lopcodes.c
|
|
||||||
lparser.c
|
|
||||||
lstate.c
|
|
||||||
lstring.c
|
|
||||||
ltable.c
|
|
||||||
lrotable.c
|
|
||||||
ltm.c
|
|
||||||
lundump.c
|
|
||||||
lvm.c
|
|
||||||
lzio.c
|
|
||||||
lbaselib.c
|
|
||||||
linit.c
|
|
||||||
lmathlib.c
|
|
||||||
lbitlib.c
|
|
||||||
loadlib.c
|
|
||||||
lauxlib.c
|
|
||||||
ltablib.c
|
|
||||||
lcorolib.c
|
|
||||||
liolib.c
|
|
||||||
lstrlib.c
|
|
||||||
)
|
|
||||||
foreach(FILE ${LUA_SRC})
|
|
||||||
set(SRC ${SRC} ${LUA_DIR}/${FILE})
|
|
||||||
endforeach()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(HELI)
|
|
||||||
add_definitions(-DHELI)
|
|
||||||
set(GUI_SRC ${GUI_SRC} menu_model_heli.cpp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(FLIGHT_MODES)
|
|
||||||
add_definitions(-DFLIGHT_MODES)
|
|
||||||
set(GUI_SRC ${GUI_SRC} menu_model_flightmodes.cpp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CURVES)
|
|
||||||
add_definitions(-DCURVES)
|
|
||||||
set(GUI_SRC ${GUI_SRC} menu_model_curves.cpp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(GVARS)
|
|
||||||
add_definitions(-DGVARS)
|
|
||||||
set(GUI_SRC ${GUI_SRC} menu_model_gvars.cpp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(FAI STREQUAL YES)
|
|
||||||
add_definitions(-DFAI)
|
|
||||||
elseif(FAI STREQUAL CHOICE)
|
|
||||||
add_definitions(-DFAI_CHOICE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(AUTOSOURCE)
|
|
||||||
add_definitions(-DAUTOSOURCE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(AUTOSWITCH)
|
|
||||||
add_definitions(-DAUTOSWITCH)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(SDCARD STREQUAL YES)
|
|
||||||
add_definitions(-DSDCARD)
|
|
||||||
set(SRC ${SRC} sdcard.cpp rtc.cpp logs.cpp)
|
|
||||||
set(GUI_SRC ${GUI_SRC} menu_general_sdmanager.cpp)
|
|
||||||
include_directories(${FATFS_DIR} ${FATFS_DIR}/option)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(SHUTDOWN_CONFIRMATION)
|
|
||||||
add_definitions(-DSHUTDOWN_CONFIRMATION)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PPM_UNIT STREQUAL US)
|
|
||||||
add_definitions(-DPPM_UNIT_US)
|
|
||||||
elseif(PPM_UNIT STREQUAL PERCENT_PREC1)
|
|
||||||
add_definitions(-DPPM_UNIT_PERCENT_PREC1)
|
|
||||||
else()
|
|
||||||
add_definitions(-DPPM_UNIT_PERCENT_PREC0)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PPM_CENTER_ADJUSTABLE)
|
|
||||||
add_definitions(-DPPM_CENTER_ADJUSTABLE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(PPM_LIMITS_SYMETRICAL)
|
|
||||||
add_definitions(-DPPM_LIMITS_SYMETRICAL)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(OVERRIDE_CHANNEL_FUNCTION)
|
|
||||||
add_definitions(-DOVERRIDE_CHANNEL_FUNCTION)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(DANGEROUS_MODULE_FUNCTIONS)
|
|
||||||
add_definitions(-DDANGEROUS_MODULE_FUNCTIONS)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(GUI_SRC
|
set(GUI_SRC
|
||||||
${GUI_SRC}
|
${GUI_SRC}
|
||||||
lcd.cpp
|
lcd.cpp
|
||||||
|
@ -503,6 +503,97 @@ set(GUI_SRC
|
||||||
view_statistics.cpp
|
view_statistics.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(LUA)
|
||||||
|
add_definitions(-DLUA)
|
||||||
|
include_directories(${LUA_DIR})
|
||||||
|
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} ${LUA_EXPORT})
|
||||||
|
if(LUA STREQUAL ON)
|
||||||
|
add_definitions(-DLUA_MODEL_SCRIPTS)
|
||||||
|
set(GUI_SRC ${GUI_SRC} menu_model_custom_scripts.cpp)
|
||||||
|
endif()
|
||||||
|
set(SRC ${SRC} lua/interface.cpp lua/api_general.cpp lua/api_lcd.cpp lua/api_model.cpp)
|
||||||
|
set(LUA_SRC lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c lmem.c lobject.c lopcodes.c lparser.c
|
||||||
|
lstate.c lstring.c ltable.c lrotable.c ltm.c lundump.c lvm.c lzio.c linit.c
|
||||||
|
lbaselib.c lmathlib.c lbitlib.c loadlib.c lauxlib.c ltablib.c lcorolib.c liolib.c lstrlib.c
|
||||||
|
)
|
||||||
|
foreach(FILE ${LUA_SRC})
|
||||||
|
set(SRC ${SRC} ${LUA_DIR}/${FILE})
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(HELI)
|
||||||
|
add_definitions(-DHELI)
|
||||||
|
set(GUI_SRC ${GUI_SRC} menu_model_heli.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(FLIGHT_MODES)
|
||||||
|
add_definitions(-DFLIGHT_MODES)
|
||||||
|
set(GUI_SRC ${GUI_SRC} menu_model_flightmodes.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CURVES)
|
||||||
|
add_definitions(-DCURVES)
|
||||||
|
set(GUI_SRC ${GUI_SRC} menu_model_curves.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(GVARS)
|
||||||
|
add_definitions(-DGVARS)
|
||||||
|
MATH(EXPR EEPROM_VARIANT ${EEPROM_VARIANT}+${GVARS_VARIANT})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(FAI STREQUAL YES)
|
||||||
|
add_definitions(-DFAI)
|
||||||
|
elseif(FAI STREQUAL CHOICE)
|
||||||
|
add_definitions(-DFAI_CHOICE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(AUTOSOURCE)
|
||||||
|
add_definitions(-DAUTOSOURCE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(AUTOSWITCH)
|
||||||
|
add_definitions(-DAUTOSWITCH)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(SDCARD STREQUAL YES)
|
||||||
|
add_definitions(-DSDCARD)
|
||||||
|
include_directories(${FATFS_DIR} ${FATFS_DIR}/option)
|
||||||
|
set(SRC ${SRC} sdcard.cpp rtc.cpp logs.cpp)
|
||||||
|
set(GUI_SRC ${GUI_SRC} menu_general_sdmanager.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(SHUTDOWN_CONFIRMATION)
|
||||||
|
add_definitions(-DSHUTDOWN_CONFIRMATION)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(PPM_UNIT STREQUAL US)
|
||||||
|
add_definitions(-DPPM_UNIT_US)
|
||||||
|
elseif(PPM_UNIT STREQUAL PERCENT_PREC1)
|
||||||
|
add_definitions(-DPPM_UNIT_PERCENT_PREC1)
|
||||||
|
else()
|
||||||
|
add_definitions(-DPPM_UNIT_PERCENT_PREC0)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(PPM_CENTER_ADJUSTABLE)
|
||||||
|
add_definitions(-DPPM_CENTER_ADJUSTABLE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(PPM_LIMITS_SYMETRICAL)
|
||||||
|
add_definitions(-DPPM_LIMITS_SYMETRICAL)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(OVERRIDE_CHANNEL_FUNCTION)
|
||||||
|
add_definitions(-DOVERRIDE_CHANNEL_FUNCTION)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(DANGEROUS_MODULE_FUNCTIONS)
|
||||||
|
add_definitions(-DDANGEROUS_MODULE_FUNCTIONS)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(SPLASH)
|
||||||
|
add_definitions(-DSPLASH)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(SRC
|
set(SRC
|
||||||
${SRC}
|
${SRC}
|
||||||
opentx.cpp
|
opentx.cpp
|
||||||
|
@ -516,10 +607,6 @@ set(SRC
|
||||||
trainer_input.cpp
|
trainer_input.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
if(SPLASH)
|
|
||||||
add_definitions(-DSPLASH)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(GUI)
|
if(GUI)
|
||||||
add_definitions(-DGUI)
|
add_definitions(-DGUI)
|
||||||
set(SRC
|
set(SRC
|
||||||
|
@ -535,7 +622,7 @@ if(GUI)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
foreach(FILE ${TARGET_SRC})
|
foreach(FILE ${TARGET_SRC})
|
||||||
set(SRC ${SRC} targets/${TARGET_DIR}/${FILE})
|
set(SRC targets/${TARGET_DIR}/${FILE} ${SRC})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
foreach(FILE ${FIRMWARE_TARGET_SRC})
|
foreach(FILE ${FIRMWARE_TARGET_SRC})
|
||||||
|
@ -546,24 +633,73 @@ foreach(FILE ${PULSES_SRC})
|
||||||
set(SRC ${SRC} pulses/${FILE})
|
set(SRC ${SRC} pulses/${FILE})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
add_definitions(-DCORRECT_NEGATIVE_SHIFTS)
|
||||||
|
|
||||||
add_subdirectory(targets/simu)
|
add_subdirectory(targets/simu)
|
||||||
|
|
||||||
include(CMakeForceCompiler)
|
set(SRC ${SRC} ${FIRMWARE_SRC})
|
||||||
cmake_force_c_compiler(arm-none-eabi-gcc GNU)
|
|
||||||
cmake_force_cxx_compiler(arm-none-eabi-gcc GNU)
|
|
||||||
set(CMAKE_ASM_COMPILER arm-none-eabi-as)
|
|
||||||
|
|
||||||
|
include(CMakeForceCompiler)
|
||||||
|
|
||||||
|
set(WARNING_FLAGS "-Wall -Wno-strict-aliasing -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits")
|
||||||
|
|
||||||
|
# trick to remove the -rdynamic issue
|
||||||
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_SYSTEM_NAME Generic)
|
if(ARCH STREQUAL ARM)
|
||||||
set(CMAKE_SYSTEM_VERSION 1)
|
cmake_force_c_compiler(arm-none-eabi-gcc GNU)
|
||||||
set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> -o <OBJECT> <SOURCE>")
|
cmake_force_cxx_compiler(arm-none-eabi-gcc GNU)
|
||||||
|
set(CMAKE_ASM_COMPILER arm-none-eabi-as)
|
||||||
|
|
||||||
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} -Wall -fno-exceptions -Wno-strict-aliasing -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits -fdata-sections -ffunction-sections")
|
set(CMAKE_SYSTEM_NAME Generic)
|
||||||
set(CMAKE_C_FLAGS "${COMMON_FLAGS} -Wimplicit")
|
set(CMAKE_SYSTEM_VERSION 1)
|
||||||
set(CMAKE_CXX_FLAGS "${COMMON_FLAGS}")
|
set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> -o <OBJECT> <SOURCE>")
|
||||||
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 ${SRC} ${FIRMWARE_SRC})
|
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}")
|
||||||
add_dependencies(firmware ${FIRMWARE_DEPENDENCIES})
|
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})
|
||||||
|
else()
|
||||||
|
cmake_force_c_compiler(avr-gcc GNU)
|
||||||
|
cmake_force_cxx_compiler(avr-gcc GNU)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_FLAGS "-mmcu=${MCU} -DF_CPU=16000000UL -O${OPT} -gdwarf-2 -fno-exceptions -flto -fwhole-program -fno-inline-small-functions -mstrict-X ${WARNING_FLAGS}")
|
||||||
|
|
||||||
|
include_directories(storage gui/${GUI_DIR})
|
||||||
|
|
||||||
|
set(ALLSRC ${PROJECT_BINARY_DIR}/allsrc.cpp)
|
||||||
|
foreach(FILE ${SRC})
|
||||||
|
file(READ ${FILE} FILE_CONTENT)
|
||||||
|
set(ALLSRC_CONTENT "${ALLSRC_CONTENT}# 1 \"${FILE}\"\n${FILE_CONTENT}")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
file(WRITE ${ALLSRC} "${ALLSRC_CONTENT}")
|
||||||
|
|
||||||
|
add_executable(firmware.elf ${ALLSRC})
|
||||||
|
add_dependencies(firmware.elf ${FIRMWARE_DEPENDENCIES})
|
||||||
|
|
||||||
|
add_custom_target(firmware.hex
|
||||||
|
COMMAND avr-objcopy -O ihex -R .eeprom firmware.elf firmware.hex
|
||||||
|
DEPENDS firmware.elf
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(firmware.bin
|
||||||
|
COMMAND avr-objcopy -O binary firmware.elf firmware.hex
|
||||||
|
DEPENDS firmware.elf
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(firmware
|
||||||
|
COMMAND avr-size --mcu=${MCU} --format=avr firmware.elf
|
||||||
|
DEPENDS firmware.hex
|
||||||
|
)
|
||||||
|
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_custom_target(firmware.lss
|
||||||
|
COMMAND avr-objdump -h -S firmware.elf > firmware.lss
|
||||||
|
DEPENDS firmware.elf
|
||||||
|
)
|
||||||
|
|
3
radio/src/bitmaps/CMakeLists.txt
Normal file
3
radio/src/bitmaps/CMakeLists.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
add_subdirectory(9x)
|
||||||
|
add_subdirectory(taranis)
|
||||||
|
add_subdirectory(horus)
|
|
@ -34,16 +34,29 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "../9x/lcd.h"
|
#include "lcd.h"
|
||||||
#include "../9x/menus.h"
|
#include "menus.h"
|
||||||
|
|
||||||
|
extern const pm_uchar sticks[] PROGMEM;
|
||||||
|
|
||||||
#define NUM_BODY_LINES (LCD_LINES-1)
|
#define NUM_BODY_LINES (LCD_LINES-1)
|
||||||
#define MENU_HEADER_HEIGHT FH
|
#define MENU_HEADER_HEIGHT FH
|
||||||
#define MENU_INIT_VPOS 0
|
#define MENU_INIT_VPOS 0
|
||||||
#define DEFAULT_SCROLLBAR_X (LCD_W-1)
|
#define DEFAULT_SCROLLBAR_X (LCD_W-1)
|
||||||
|
|
||||||
|
#define WCHART (LCD_H/2)
|
||||||
|
#define X0 (LCD_W-WCHART-2)
|
||||||
|
#define Y0 (LCD_H/2)
|
||||||
|
|
||||||
|
#if LCD_W >= 212
|
||||||
|
#define MIXES_2ND_COLUMN (18*FW)
|
||||||
|
#else
|
||||||
|
#define MIXES_2ND_COLUMN (12*FW)
|
||||||
|
#endif
|
||||||
|
|
||||||
void displaySplash();
|
void displaySplash();
|
||||||
void displayScreenIndex(uint8_t index, uint8_t count, uint8_t attr);
|
void displayScreenIndex(uint8_t index, uint8_t count, uint8_t attr);
|
||||||
|
void drawStick(coord_t centrex, int16_t xval, int16_t yval);
|
||||||
|
|
||||||
#if !defined(CPUM64)
|
#if !defined(CPUM64)
|
||||||
void drawVerticalScrollbar(coord_t x, coord_t y, coord_t h, uint16_t offset, uint16_t count, uint8_t visible);
|
void drawVerticalScrollbar(coord_t x, coord_t y, coord_t h, uint16_t offset, uint16_t count, uint8_t visible);
|
||||||
|
|
|
@ -209,8 +209,10 @@ void putsTelemetryChannelValue(coord_t x, coord_t y, uint8_t channel, lcdint_t v
|
||||||
|
|
||||||
#if defined(CPUARM)
|
#if defined(CPUARM)
|
||||||
#define putstime_t int32_t
|
#define putstime_t int32_t
|
||||||
|
#define FlightModesType uint16_t
|
||||||
#else
|
#else
|
||||||
#define putstime_t int16_t
|
#define putstime_t int16_t
|
||||||
|
#define FlightModesType uint8_t
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void putsRtcTime(coord_t x, coord_t y, LcdFlags att);
|
void putsRtcTime(coord_t x, coord_t y, LcdFlags att);
|
||||||
|
|
|
@ -36,40 +36,6 @@
|
||||||
|
|
||||||
#include "../../opentx.h"
|
#include "../../opentx.h"
|
||||||
|
|
||||||
void menuGeneralSetup(uint8_t event);
|
|
||||||
void menuGeneralSdManager(uint8_t event);
|
|
||||||
void menuGeneralCustomFunctions(uint8_t event);
|
|
||||||
void menuGeneralTrainer(uint8_t event);
|
|
||||||
void menuGeneralVersion(uint8_t event);
|
|
||||||
void menuGeneralDiagKeys(uint8_t event);
|
|
||||||
void menuGeneralDiagAna(uint8_t event);
|
|
||||||
void menuGeneralHardware(uint8_t event);
|
|
||||||
void menuGeneralCalib(uint8_t event);
|
|
||||||
|
|
||||||
enum EnumTabDiag {
|
|
||||||
e_Setup,
|
|
||||||
CASE_SDCARD(e_Sd)
|
|
||||||
CASE_CPUARM(e_GeneralCustomFunctions)
|
|
||||||
e_Trainer,
|
|
||||||
e_Vers,
|
|
||||||
e_Keys,
|
|
||||||
e_Ana,
|
|
||||||
CASE_CPUARM(e_Hardware)
|
|
||||||
e_Calib
|
|
||||||
};
|
|
||||||
|
|
||||||
const MenuHandlerFunc menuTabGeneral[] PROGMEM = {
|
|
||||||
menuGeneralSetup,
|
|
||||||
CASE_SDCARD(menuGeneralSdManager)
|
|
||||||
CASE_CPUARM(menuGeneralCustomFunctions)
|
|
||||||
menuGeneralTrainer,
|
|
||||||
menuGeneralVersion,
|
|
||||||
menuGeneralDiagKeys,
|
|
||||||
menuGeneralDiagAna,
|
|
||||||
CASE_CPUARM(menuGeneralHardware)
|
|
||||||
menuGeneralCalib
|
|
||||||
};
|
|
||||||
|
|
||||||
#if defined(CPUARM)
|
#if defined(CPUARM)
|
||||||
void menuGeneralCustomFunctions(uint8_t event)
|
void menuGeneralCustomFunctions(uint8_t event)
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,57 +39,6 @@
|
||||||
#include "gui/9x/view_mavlink.h"
|
#include "gui/9x/view_mavlink.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// TODO elsewhere!
|
|
||||||
#define WCHART (LCD_H/2)
|
|
||||||
#define X0 (LCD_W-WCHART-2)
|
|
||||||
#define Y0 (LCD_H/2)
|
|
||||||
|
|
||||||
enum EnumTabModel {
|
|
||||||
e_ModelSelect,
|
|
||||||
e_ModelSetup,
|
|
||||||
CASE_HELI(e_Heli)
|
|
||||||
CASE_FLIGHT_MODES(e_FlightModesAll)
|
|
||||||
e_InputsAll,
|
|
||||||
e_MixAll,
|
|
||||||
e_Limits,
|
|
||||||
CASE_CURVES(e_CurvesAll)
|
|
||||||
e_LogicalSwitches,
|
|
||||||
e_CustomFunctions,
|
|
||||||
CASE_FRSKY(e_Telemetry)
|
|
||||||
CASE_MAVLINK(e_MavSetup)
|
|
||||||
CASE_TEMPLATES(e_Templates)
|
|
||||||
};
|
|
||||||
|
|
||||||
void menuModelSelect(uint8_t event);
|
|
||||||
void menuModelSetup(uint8_t event);
|
|
||||||
void menuModelHeli(uint8_t event);
|
|
||||||
void menuModelFlightModesAll(uint8_t event);
|
|
||||||
void menuModelExposAll(uint8_t event);
|
|
||||||
void menuModelMixAll(uint8_t event);
|
|
||||||
void menuModelLimits(uint8_t event);
|
|
||||||
void menuModelCurvesAll(uint8_t event);
|
|
||||||
void menuModelCurveOne(uint8_t event);
|
|
||||||
void menuModelGVars(uint8_t event);
|
|
||||||
void menuModelLogicalSwitches(uint8_t event);
|
|
||||||
void menuModelCustomFunctions(uint8_t event);
|
|
||||||
void menuModelTelemetry(uint8_t event);
|
|
||||||
void menuModelTemplates(uint8_t event);
|
|
||||||
void menuModelExpoOne(uint8_t event);
|
|
||||||
|
|
||||||
extern uint8_t s_curveChan;
|
|
||||||
|
|
||||||
#if defined(CPUARM)
|
|
||||||
#define FlightModesType uint16_t
|
|
||||||
#else
|
|
||||||
#define FlightModesType uint8_t
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if LCD_W >= 212
|
|
||||||
#define MIXES_2ND_COLUMN (18*FW)
|
|
||||||
#else
|
|
||||||
#define MIXES_2ND_COLUMN (12*FW)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
uint8_t editDelay(const coord_t y, const uint8_t event, const uint8_t attr, const pm_char *str, uint8_t delay)
|
uint8_t editDelay(const coord_t y, const uint8_t event, const uint8_t attr, const pm_char *str, uint8_t delay)
|
||||||
{
|
{
|
||||||
lcd_putsLeft(y, str);
|
lcd_putsLeft(y, str);
|
||||||
|
@ -97,29 +46,10 @@ uint8_t editDelay(const coord_t y, const uint8_t event, const uint8_t attr, cons
|
||||||
if (attr) CHECK_INCDEC_MODELVAR_ZERO(event, delay, DELAY_MAX);
|
if (attr) CHECK_INCDEC_MODELVAR_ZERO(event, delay, DELAY_MAX);
|
||||||
return delay;
|
return delay;
|
||||||
}
|
}
|
||||||
#define EDIT_DELAY(x, y, event, attr, str, delay) editDelay(y, event, attr, str, delay)
|
|
||||||
|
|
||||||
const MenuHandlerFunc menuTabModel[] PROGMEM = {
|
uint8_t s_copyMode = 0;
|
||||||
menuModelSelect,
|
int8_t s_copySrcRow;
|
||||||
menuModelSetup,
|
int8_t s_copyTgtOfs;
|
||||||
CASE_HELI(menuModelHeli)
|
|
||||||
CASE_FLIGHT_MODES(menuModelFlightModesAll)
|
|
||||||
menuModelExposAll,
|
|
||||||
menuModelMixAll,
|
|
||||||
menuModelLimits,
|
|
||||||
CASE_CURVES(menuModelCurvesAll)
|
|
||||||
menuModelLogicalSwitches,
|
|
||||||
menuModelCustomFunctions,
|
|
||||||
CASE_FRSKY(menuModelTelemetry)
|
|
||||||
CASE_MAVLINK(menuTelemetryMavlinkSetup)
|
|
||||||
CASE_TEMPLATES(menuModelTemplates)
|
|
||||||
};
|
|
||||||
|
|
||||||
#define COPY_MODE 1
|
|
||||||
#define MOVE_MODE 2
|
|
||||||
static uint8_t s_copyMode = 0;
|
|
||||||
static int8_t s_copySrcRow;
|
|
||||||
static int8_t s_copyTgtOfs;
|
|
||||||
|
|
||||||
#if defined(CPUM64)
|
#if defined(CPUM64)
|
||||||
#define editNameCursorPos menuHorizontalPosition
|
#define editNameCursorPos menuHorizontalPosition
|
||||||
|
@ -211,9 +141,7 @@ void editName(coord_t x, coord_t y, char *name, uint8_t size, uint8_t event, uin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CPUM64)
|
#if !defined(CPUM64)
|
||||||
#define editSingleName(x, y, label, name, size, event, active) editName(x, y, name, size, event, active)
|
|
||||||
#else
|
|
||||||
void editSingleName(coord_t x, coord_t y, const pm_char *label, char *name, uint8_t size, uint8_t event, uint8_t active)
|
void editSingleName(coord_t x, coord_t y, const pm_char *label, char *name, uint8_t size, uint8_t event, uint8_t active)
|
||||||
{
|
{
|
||||||
lcd_putsLeft(y, label);
|
lcd_putsLeft(y, label);
|
||||||
|
@ -221,4 +149,4 @@ void editSingleName(coord_t x, coord_t y, const pm_char *label, char *name, uint
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static uint8_t s_currIdx;
|
uint8_t s_currIdx;
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
|
|
||||||
#include "../../opentx.h"
|
#include "../../opentx.h"
|
||||||
|
|
||||||
|
|
||||||
void displayFlightModes(coord_t x, coord_t y, FlightModesType value)
|
void displayFlightModes(coord_t x, coord_t y, FlightModesType value)
|
||||||
{
|
{
|
||||||
uint8_t p = MAX_FLIGHT_MODES;
|
uint8_t p = MAX_FLIGHT_MODES;
|
||||||
|
|
|
@ -53,23 +53,6 @@ enum LogicalSwitchFields {
|
||||||
#define CSW_3RD_COLUMN (13*FW-6)
|
#define CSW_3RD_COLUMN (13*FW-6)
|
||||||
#define CSW_4TH_COLUMN (18*FW+2)
|
#define CSW_4TH_COLUMN (18*FW+2)
|
||||||
|
|
||||||
#if defined(CPUARM)
|
|
||||||
#define INCDEC_DECLARE_VARS(f) uint8_t incdecFlag = (f); IsValueAvailable isValueAvailable = NULL
|
|
||||||
#define INCDEC_SET_FLAG(f) incdecFlag = (f)
|
|
||||||
#define INCDEC_ENABLE_CHECK(fn) isValueAvailable = fn
|
|
||||||
#define CHECK_INCDEC_PARAM(event, var, min, max) checkIncDec(event, var, min, max, incdecFlag, isValueAvailable)
|
|
||||||
#elif defined(CPUM64)
|
|
||||||
#define INCDEC_DECLARE_VARS(f)
|
|
||||||
#define INCDEC_SET_FLAG(f)
|
|
||||||
#define INCDEC_ENABLE_CHECK(fn)
|
|
||||||
#define CHECK_INCDEC_PARAM(event, var, min, max) checkIncDec(event, var, min, max, EE_MODEL)
|
|
||||||
#else
|
|
||||||
#define INCDEC_DECLARE_VARS(f) uint8_t incdecFlag = (f)
|
|
||||||
#define INCDEC_SET_FLAG(f) incdecFlag = (f)
|
|
||||||
#define INCDEC_ENABLE_CHECK(fn)
|
|
||||||
#define CHECK_INCDEC_PARAM(event, var, min, max) checkIncDec(event, var, min, max, incdecFlag)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(CPUARM)
|
#if defined(CPUARM)
|
||||||
void putsEdgeDelayParam(coord_t x, coord_t y, LogicalSwitchData *cs, uint8_t lattr, uint8_t rattr)
|
void putsEdgeDelayParam(coord_t x, coord_t y, LogicalSwitchData *cs, uint8_t lattr, uint8_t rattr)
|
||||||
{
|
{
|
||||||
|
|
|
@ -68,9 +68,7 @@ extern uint8_t noHighlightCounter;
|
||||||
|
|
||||||
void menu_lcd_onoff(coord_t x, coord_t y, uint8_t value, LcdFlags attr);
|
void menu_lcd_onoff(coord_t x, coord_t y, uint8_t value, LcdFlags attr);
|
||||||
|
|
||||||
typedef void (*MenuHandlerFunc)(uint8_t event);
|
typedef void (* MenuHandlerFunc)(uint8_t event);
|
||||||
extern const MenuHandlerFunc menuTabModel[];
|
|
||||||
extern const MenuHandlerFunc menuTabGeneral[];
|
|
||||||
|
|
||||||
extern MenuHandlerFunc menuHandlers[5];
|
extern MenuHandlerFunc menuHandlers[5];
|
||||||
extern uint8_t menuVerticalPositions[4];
|
extern uint8_t menuVerticalPositions[4];
|
||||||
|
@ -93,18 +91,95 @@ void drawPotsBars();
|
||||||
void doMainScreenGraphics();
|
void doMainScreenGraphics();
|
||||||
void menuFirstCalib(uint8_t event);
|
void menuFirstCalib(uint8_t event);
|
||||||
|
|
||||||
void onMainViewMenu(const char *result);
|
void onMainViewMenu(const char * result);
|
||||||
void menuMainView(uint8_t event);
|
void menuMainView(uint8_t event);
|
||||||
void menuGeneralDiagAna(uint8_t event);
|
|
||||||
#if defined(FRSKY)
|
|
||||||
void menuTelemetryFrsky(uint8_t event);
|
void menuTelemetryFrsky(uint8_t event);
|
||||||
#endif
|
void menuTelemetryMavlinkSetup(uint8_t event);
|
||||||
void menuGeneralSetup(uint8_t event);
|
|
||||||
void menuGeneralCalib(uint8_t event);
|
|
||||||
void menuCustomFunctions(uint8_t event, CustomFunctionData * functions, CustomFunctionsContext * functionsContext);
|
void menuCustomFunctions(uint8_t event, CustomFunctionData * functions, CustomFunctionsContext * functionsContext);
|
||||||
|
|
||||||
|
enum EnumTabDiag {
|
||||||
|
e_Setup,
|
||||||
|
CASE_SDCARD(e_Sd)
|
||||||
|
CASE_CPUARM(e_GeneralCustomFunctions)
|
||||||
|
e_Trainer,
|
||||||
|
e_Vers,
|
||||||
|
e_Keys,
|
||||||
|
e_Ana,
|
||||||
|
CASE_CPUARM(e_Hardware)
|
||||||
|
e_Calib
|
||||||
|
};
|
||||||
|
|
||||||
|
void menuGeneralSetup(uint8_t event);
|
||||||
|
void menuGeneralSdManager(uint8_t event);
|
||||||
|
void menuGeneralCustomFunctions(uint8_t event);
|
||||||
|
void menuGeneralTrainer(uint8_t event);
|
||||||
|
void menuGeneralVersion(uint8_t event);
|
||||||
|
void menuGeneralDiagKeys(uint8_t event);
|
||||||
|
void menuGeneralDiagAna(uint8_t event);
|
||||||
|
void menuGeneralHardware(uint8_t event);
|
||||||
|
void menuGeneralCalib(uint8_t event);
|
||||||
|
|
||||||
|
static const MenuHandlerFunc menuTabGeneral[] PROGMEM = {
|
||||||
|
menuGeneralSetup,
|
||||||
|
CASE_SDCARD(menuGeneralSdManager)
|
||||||
|
CASE_CPUARM(menuGeneralCustomFunctions)
|
||||||
|
menuGeneralTrainer,
|
||||||
|
menuGeneralVersion,
|
||||||
|
menuGeneralDiagKeys,
|
||||||
|
menuGeneralDiagAna,
|
||||||
|
CASE_CPUARM(menuGeneralHardware)
|
||||||
|
menuGeneralCalib
|
||||||
|
};
|
||||||
|
|
||||||
|
enum EnumTabModel {
|
||||||
|
e_ModelSelect,
|
||||||
|
e_ModelSetup,
|
||||||
|
CASE_HELI(e_Heli)
|
||||||
|
CASE_FLIGHT_MODES(e_FlightModesAll)
|
||||||
|
e_InputsAll,
|
||||||
|
e_MixAll,
|
||||||
|
e_Limits,
|
||||||
|
CASE_CURVES(e_CurvesAll)
|
||||||
|
e_LogicalSwitches,
|
||||||
|
e_CustomFunctions,
|
||||||
|
CASE_FRSKY(e_Telemetry)
|
||||||
|
CASE_MAVLINK(e_MavSetup)
|
||||||
|
CASE_TEMPLATES(e_Templates)
|
||||||
|
};
|
||||||
|
|
||||||
void menuModelSelect(uint8_t event);
|
void menuModelSelect(uint8_t event);
|
||||||
|
void menuModelSetup(uint8_t event);
|
||||||
|
void menuModelHeli(uint8_t event);
|
||||||
|
void menuModelFlightModesAll(uint8_t event);
|
||||||
|
void menuModelExposAll(uint8_t event);
|
||||||
|
void menuModelMixAll(uint8_t event);
|
||||||
|
void menuModelLimits(uint8_t event);
|
||||||
|
void menuModelCurvesAll(uint8_t event);
|
||||||
|
void menuModelCurveOne(uint8_t event);
|
||||||
|
void menuModelGVars(uint8_t event);
|
||||||
|
void menuModelLogicalSwitches(uint8_t event);
|
||||||
void menuModelCustomFunctions(uint8_t event);
|
void menuModelCustomFunctions(uint8_t event);
|
||||||
|
void menuModelTelemetry(uint8_t event);
|
||||||
|
void menuModelTemplates(uint8_t event);
|
||||||
|
void menuModelExpoOne(uint8_t event);
|
||||||
|
|
||||||
|
static const MenuHandlerFunc menuTabModel[] PROGMEM = {
|
||||||
|
menuModelSelect,
|
||||||
|
menuModelSetup,
|
||||||
|
CASE_HELI(menuModelHeli)
|
||||||
|
CASE_FLIGHT_MODES(menuModelFlightModesAll)
|
||||||
|
menuModelExposAll,
|
||||||
|
menuModelMixAll,
|
||||||
|
menuModelLimits,
|
||||||
|
CASE_CURVES(menuModelCurvesAll)
|
||||||
|
menuModelLogicalSwitches,
|
||||||
|
menuModelCustomFunctions,
|
||||||
|
CASE_FRSKY(menuModelTelemetry)
|
||||||
|
CASE_MAVLINK(menuTelemetryMavlinkSetup)
|
||||||
|
CASE_TEMPLATES(menuModelTemplates)
|
||||||
|
};
|
||||||
|
|
||||||
void menuStatisticsView(uint8_t event);
|
void menuStatisticsView(uint8_t event);
|
||||||
void menuStatisticsDebug(uint8_t event);
|
void menuStatisticsDebug(uint8_t event);
|
||||||
void menuAboutView(uint8_t event);
|
void menuAboutView(uint8_t event);
|
||||||
|
@ -135,20 +210,37 @@ void menuTraceBuffer(uint8_t event);
|
||||||
|
|
||||||
extern int8_t checkIncDec_Ret; // global helper vars
|
extern int8_t checkIncDec_Ret; // global helper vars
|
||||||
|
|
||||||
#define EDIT_SELECT_MENU -1
|
#define EDIT_SELECT_MENU -1
|
||||||
#define EDIT_SELECT_FIELD 0
|
#define EDIT_SELECT_FIELD 0
|
||||||
#define EDIT_MODIFY_FIELD 1
|
#define EDIT_MODIFY_FIELD 1
|
||||||
#define EDIT_MODIFY_STRING 2
|
#define EDIT_MODIFY_STRING 2
|
||||||
extern int8_t s_editMode; // global editmode
|
extern int8_t s_editMode; // global editmode
|
||||||
|
|
||||||
// checkIncDec flags
|
// checkIncDec flags
|
||||||
#define EE_GENERAL 0x01
|
#define EE_GENERAL 0x01
|
||||||
#define EE_MODEL 0x02
|
#define EE_MODEL 0x02
|
||||||
#define NO_INCDEC_MARKS 0x04
|
#define NO_INCDEC_MARKS 0x04
|
||||||
#define INCDEC_SWITCH 0x08
|
#define INCDEC_SWITCH 0x08
|
||||||
#define INCDEC_SOURCE 0x10
|
#define INCDEC_SOURCE 0x10
|
||||||
#define INCDEC_REP10 0x40
|
#define INCDEC_REP10 0x40
|
||||||
#define NO_DBLKEYS 0x80
|
#define NO_DBLKEYS 0x80
|
||||||
|
|
||||||
|
#if defined(CPUARM)
|
||||||
|
#define INCDEC_DECLARE_VARS(f) uint8_t incdecFlag = (f); IsValueAvailable isValueAvailable = NULL
|
||||||
|
#define INCDEC_SET_FLAG(f) incdecFlag = (f)
|
||||||
|
#define INCDEC_ENABLE_CHECK(fn) isValueAvailable = fn
|
||||||
|
#define CHECK_INCDEC_PARAM(event, var, min, max) checkIncDec(event, var, min, max, incdecFlag, isValueAvailable)
|
||||||
|
#elif defined(CPUM64)
|
||||||
|
#define INCDEC_DECLARE_VARS(f)
|
||||||
|
#define INCDEC_SET_FLAG(f)
|
||||||
|
#define INCDEC_ENABLE_CHECK(fn)
|
||||||
|
#define CHECK_INCDEC_PARAM(event, var, min, max) checkIncDec(event, var, min, max, EE_MODEL)
|
||||||
|
#else
|
||||||
|
#define INCDEC_DECLARE_VARS(f) uint8_t incdecFlag = (f)
|
||||||
|
#define INCDEC_SET_FLAG(f) incdecFlag = (f)
|
||||||
|
#define INCDEC_ENABLE_CHECK(fn)
|
||||||
|
#define CHECK_INCDEC_PARAM(event, var, min, max) checkIncDec(event, var, min, max, incdecFlag)
|
||||||
|
#endif
|
||||||
|
|
||||||
// mawrow special values
|
// mawrow special values
|
||||||
#define TITLE_ROW ((uint8_t)-1)
|
#define TITLE_ROW ((uint8_t)-1)
|
||||||
|
@ -334,6 +426,15 @@ int8_t switchMenuItem(coord_t x, coord_t y, int8_t value, LcdFlags attr, uint8_t
|
||||||
|
|
||||||
void editName(coord_t x, coord_t y, char *name, uint8_t size, uint8_t event, uint8_t active);
|
void editName(coord_t x, coord_t y, char *name, uint8_t size, uint8_t event, uint8_t active);
|
||||||
|
|
||||||
|
#if defined(CPUM64)
|
||||||
|
#define editSingleName(x, y, label, name, size, event, active) editName(x, y, name, size, event, active)
|
||||||
|
#else
|
||||||
|
void editSingleName(coord_t x, coord_t y, const pm_char *label, char *name, uint8_t size, uint8_t event, uint8_t active);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
uint8_t editDelay(const coord_t y, const uint8_t event, const uint8_t attr, const pm_char * str, uint8_t delay);
|
||||||
|
#define EDIT_DELAY(x, y, event, attr, str, delay) editDelay(y, event, attr, str, delay)
|
||||||
|
|
||||||
#define WARNING_TYPE_ASTERISK 0
|
#define WARNING_TYPE_ASTERISK 0
|
||||||
#define WARNING_TYPE_CONFIRM 1
|
#define WARNING_TYPE_CONFIRM 1
|
||||||
#define WARNING_TYPE_INPUT 2
|
#define WARNING_TYPE_INPUT 2
|
||||||
|
@ -344,6 +445,14 @@ extern uint8_t warningInfoLength;
|
||||||
extern uint8_t warningResult;
|
extern uint8_t warningResult;
|
||||||
extern uint8_t warningType;
|
extern uint8_t warningType;
|
||||||
|
|
||||||
|
#define COPY_MODE 1
|
||||||
|
#define MOVE_MODE 2
|
||||||
|
extern uint8_t s_copyMode;
|
||||||
|
extern int8_t s_copySrcRow;
|
||||||
|
extern int8_t s_copyTgtOfs;
|
||||||
|
extern uint8_t s_currIdx;
|
||||||
|
extern uint8_t s_curveChan;
|
||||||
|
|
||||||
#define MENU_X 10
|
#define MENU_X 10
|
||||||
#define MENU_Y 16
|
#define MENU_Y 16
|
||||||
#define MENU_W LCD_W-(2*MENU_X)
|
#define MENU_W LCD_W-(2*MENU_X)
|
||||||
|
@ -465,4 +574,6 @@ void displayWarning(uint8_t event);
|
||||||
typedef int16_t (*FnFuncP) (int16_t x);
|
typedef int16_t (*FnFuncP) (int16_t x);
|
||||||
void drawFunction(FnFuncP fn, uint8_t offset=0);
|
void drawFunction(FnFuncP fn, uint8_t offset=0);
|
||||||
|
|
||||||
|
uint8_t switchToMix(uint8_t source);
|
||||||
|
|
||||||
#endif // _MENUS_H_
|
#endif // _MENUS_H_
|
||||||
|
|
|
@ -63,7 +63,6 @@ void menuTelemetryMavlinkGPS(void);
|
||||||
void lcd_outhex2(uint8_t x, uint8_t y, uint8_t val);
|
void lcd_outhex2(uint8_t x, uint8_t y, uint8_t val);
|
||||||
void menuTelemetryMavlinkDump(uint8_t event);
|
void menuTelemetryMavlinkDump(uint8_t event);
|
||||||
#endif
|
#endif
|
||||||
void menuTelemetryMavlinkSetup(uint8_t event);
|
|
||||||
|
|
||||||
/*! \brief Mavlink menu enumerator
|
/*! \brief Mavlink menu enumerator
|
||||||
* \details Used to create a readable case statement for the
|
* \details Used to create a readable case statement for the
|
||||||
|
|
|
@ -36,6 +36,8 @@
|
||||||
|
|
||||||
#include "../opentx.h"
|
#include "../opentx.h"
|
||||||
|
|
||||||
|
#if defined(CPUARM)
|
||||||
|
|
||||||
int circularIncDec(int current, int inc, int min, int max, IsValueAvailable isValueAvailable)
|
int circularIncDec(int current, int inc, int min, int max, IsValueAvailable isValueAvailable)
|
||||||
{
|
{
|
||||||
do {
|
do {
|
||||||
|
@ -444,3 +446,5 @@ int getFirstAvailable(int min, int max, IsValueAvailable isValueAvailable)
|
||||||
}
|
}
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -423,7 +423,7 @@
|
||||||
typedef uint32_t mixsrc_t;
|
typedef uint32_t mixsrc_t;
|
||||||
typedef int32_t swsrc_t;
|
typedef int32_t swsrc_t;
|
||||||
#else
|
#else
|
||||||
#define tmr10ms_t uint16_t
|
typedef uint16_t tmr10ms_t;
|
||||||
extern volatile tmr10ms_t g_tmr10ms;
|
extern volatile tmr10ms_t g_tmr10ms;
|
||||||
extern inline uint16_t get_tmr10ms()
|
extern inline uint16_t get_tmr10ms()
|
||||||
{
|
{
|
||||||
|
|
|
@ -115,7 +115,7 @@ const static pm_uchar lcdInitSequence[] PROGMEM =
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
inline void lcdInit()
|
void lcdInit()
|
||||||
{
|
{
|
||||||
LCD_LOCK();
|
LCD_LOCK();
|
||||||
PORTC_LCD_CTRL &= ~(1<<OUT_C_LCD_RES); //LCD reset
|
PORTC_LCD_CTRL &= ~(1<<OUT_C_LCD_RES); //LCD reset
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue