-
-
Notifications
You must be signed in to change notification settings - Fork 347
Compilation options
Initial dump of all the compile time defines / options (cmake -LAH
output)
TODO:
- sort into categories - i.e. PCB/TX model, hardware specific, handy default setting flags, etc
- add details for ones like PCBREV with all the possible options
- convert to bunch of tables
- clear out any system specific / autogenerated flags
// Support for AFHDS2
AFHDS2:BOOL=OFF
// Support for AFHDS3
AFHDS3:BOOL=ON
// Allow nightly builds download / update
ALLOW_NIGHTLY_BUILDS:BOOL=OFF
// Enable asterisk icon (test only firmware)
ASTERISK:BOOL=OFF
// Automatic source detection in menus
AUTOSOURCE:BOOL=ON
// Automatic switch detection in menus
AUTOSWITCH:BOOL=ON
// Support for bluetooth module
BLUETOOTH:BOOL=OFF
// Include Bootloader
BOOTLOADER:BOOL=ON
// Command Line Interface
CLI:BOOL=OFF
// Crossfire TX Module
CROSSFIRE:BOOL=ON
// Curves
CURVES:BOOL=ON
// Dangerous module functions (RangeCheck / Bind / Module OFF, etc.) available
DANGEROUS_MODULE_FUNCTIONS:BOOL=OFF
// Double Keys
DBLKEYS:BOOL=ON
// Debug mode
DEBUG:BOOL=Y
// Count interrupts
DEBUG_INTERRUPTS:BOOL=OFF
// Debug latency
DEBUG_LATENCY:BOOL=OFF
// Turn on debug output for storage import
DEBUG_STORAGE_IMPORT:BOOL=OFF
// Task switching statistics
DEBUG_TASKS:BOOL=OFF
// Time critical parts of the code
DEBUG_TIMERS:BOOL=OFF
// Debug Trace Screen
DEBUG_TRACE_BUFFER:BOOL=OFF
// Count individual USB interrupts
DEBUG_USB_INTERRUPTS:BOOL=OFF
// Turn on windows traces
DEBUG_WINDOWS:BOOL=OFF
// Default sticks mode
DEFAULT_MODE:STRING=
//
DEFAULT_TEMPLATE_SETUP:STRING=21
// Disable building companion and simulators
DISABLE_COMPANION:BOOL=OFF
// Enable SD card disk cache
DISK_CACHE:BOOL=ON
// DSM2 TX Module
DSM2:BOOL=ON
// Competition mode (no telemetry)
FAI:BOOL=OFF
// Support of old FAS prototypes (different resistors)
FAS_PROTOTYPE:BOOL=OFF
// Configure Firmware target (can be turned off for compiling Companion only)
FIRMWARE_TARGET:BOOL=ON
// Flight Modes
FLIGHT_MODES:BOOL=ON
// Enable FlySky Hall Sticks
FLYSKY_HALL_STICKS:BOOL=OFF
// Used to build FrSky released firmware
FRSKY_RELEASE:BOOL=OFF
// Reverse sticks for FrSky sticks
FRSKY_STICKS:BOOL=OFF
// Ghost TX Module
GHOST:BOOL=ON
// GUI enabled
GUI:BOOL=ON
// Global variables
GVARS:BOOL=ON
// Support for R9M 2019 hardware mod
HARDWARE_EXTERNAL_ACCESS_MOD:BOOL=OFF
// Allow multi trainer
HARDWARE_TRAINER_MULTI:BOOL=OFF
// Heli menu
HELI:BOOL=ON
// Used to build IMRC released firmware
IMRC_RELEASE:BOOL=OFF
// Support for internal ublox GPS
INTERNAL_GPS:BOOL=YES
// Baud rate for internal GPS
INTERNAL_GPS_BAUDRATE:STRING=9600
// Support for MULTI internal module
INTERNAL_MODULE_MULTI:BOOL=ON
// Enable ADC jitter measurement
JITTER_MEASURE:BOOL=OFF
// Bluetooth Logs on SD card
LOG_BLUETOOTH:BOOL=OFF
// Telemetry Logs on SD card
LOG_TELEMETRY:BOOL=OFF
// Enable LUA support
LUA:BOOL=ON
// Trace Lua memory (de)allocations to debug port (also needs DEBUG=YES NANO=NO)
LUA_ALLOCATOR_TRACER:BOOL=OFF
// Pre-compile and save Lua scripts
LUA_COMPILER:BOOL=ON
// Script loading mode and compilation flags [btTxcd] (see loadScript() API docs). Blank for default ('bt' on radio, 'T' on SIMU/DEBUG builds)
LUA_SCRIPT_LOAD_MODE:STRING=
// Add support for D8 modules
MODULE_PROTOCOL_D8:BOOL=ON
// Add support for FCC modules
MODULE_PROTOCOL_FCC:BOOL=ON
// Add support for non certified FLEX modules
MODULE_PROTOCOL_FLEX:BOOL=OFF
// Add support for EU/LBT modules
MODULE_PROTOCOL_LBT:BOOL=ON
// Standard size TX Module
MODULE_SIZE_STD:BOOL=ON
// DIY Multiprotocol TX Module (https://github.com/pascallanger/DIY-Multiprotocol-TX-Module)
MULTIMODULE:BOOL=ON
// Use nano newlib and binalloc
NANO:BOOL=OFF
// OverrideChannel function available
OVERRIDE_CHANNEL_FUNCTION:BOOL=ON
// Radio type, one of: X9LITE;X9LITES;X7;XLITE;XLITES;X9D;X9D+;X9E;X10;X12S;SKY9X;9XRPRO;AR9X;NV14
PCB:STRING=X10
// PCB Revision
PCBREV:STRING=TX16S
// Popup level
POPUP_LEVEL:STRING=2
// PPM TX Module
PPM:BOOL=ON
// PPM center adjustable
PPM_CENTER_ADJUSTABLE:BOOL=ON
// PPM limits symetrical
PPM_LIMITS_SYMETRICAL:BOOL=OFF
// PPM display unit (US/PERCENT_PREC1/PERCENT_PREC0)
PPM_UNIT:STRING=PERCENT_PREC1
// Pwr button type (PRESS/SWITCH)
PWR_BUTTON:STRING=PRESS
// PXX1 protocol support
PXX1:BOOL=ON
// PXX2 protocol support
PXX2:BOOL=OFF
// RAS (SWR) enabled
RAS:BOOL=ON
// SBUS TX Module
SBUS:BOOL=ON
// Enable debugger semihosting
SEMIHOSTING:BOOL=OFF
// Alternative simulator library search path
SIMULATOR_INSTALL_PREFIX:STRING=
// Enable disk IO simulation in simulator. Simulator will use FatFs module and simulated IO layer that uses "./sdcard.image" file as image of SD card. This file must contain whole SD card from first to last sector
SIMU_DISKIO:BOOL=OFF
// Pre-compile and save Lua scripts in simulator.
SIMU_LUA_COMPILER:BOOL=ON
// Configure libsimulator/simu targets (can be turned off for compiling Companion only)
SIMU_TARGET:BOOL=ON
// Splash (DEFAULT/OFF/FRSKY)
SPLASH:STRING=DEFAULT
// Use QTableWidget for grid layouts
TABLE_LAYOUT:BOOL=OFF
// Used to build TBS released firmware
TBS_RELEASE:BOOL=OFF
// Model templates menu
TEMPLATES:BOOL=OFF
// Warn this is a test build
TEST_BUILD_WARNING:BOOL=OFF
// Timers count (2 or 3)
TIMERS:STRING=3
// Traces audio enabled
TRACE_AUDIO:BOOL=OFF
// Traces FatFS enabled
TRACE_FATFS:BOOL=OFF
// Turn on traces for Lua internals
TRACE_LUA_INTERNALS:BOOL=OFF
// Traces SD enabled
TRACE_SD_CARD:BOOL=OFF
// Turn on traces in simpgmspace.cpp
TRACE_SIMPGMSPACE:BOOL=ON
// Radio language, one of: CZ;DE;EN;ES;FR;IT;PT;SK;SE;PL;HU;NL;CN;TW
TRANSLATIONS:STRING=EN
// Enable the Unexpected Shutdown screen
UNEXPECTED_SHUTDOWN:BOOL=ON
// Enable USB serial (CDC)
USB_SERIAL:BOOL=ON
// Show extra information while processing CMakeLists.txt files.
VERBOSE_CMAKELISTS:BOOL=OFF
// Treat any compiler warning as an error (adds -Werror flag).
WARNINGS_AS_ERRORS:BOOL=OFF
// Enable hardware Watchdog
WATCHDOG:BOOL=ON
// Draw bounding boxes around windows
WINDOWS_INSPECT_BORDERS:BOOL=OFF
// XJT TX Module
XJT:BOOL=ON
// Enable YAML storage
YAML_STORAGE:BOOL=OFF
Getting started with Git
- Workflow for GitHub noobs
Building and debugging EdgeTX
- In a webbrowser with Gitpod
- Windows 10 (MSYS2)
- Docker with Windows 10
- Ubuntu in a WSL2 under Win10
- Ubuntu 20.04
- MacOS 10.15
- MacOS 14.1
Modifications:
- Flysky Hall Sticks Mod
- Flysky FRM303 Mod for TX16S
- Flysky PL18 & PL18EV Hardware Mod for Complete EdgeTX Support
- Flysky NB4+ Hardware Mod for Complete EdgeTX Support
- Flashing EdgeTX to Flysky PL18 or Paladin-EV
How to unbrick your radio with STM32CubeProgrammer
DMA mappings of radios:
- RadioMaster TX16S
- FlySky NV14
Interrupt usage of radios:
- RadioMaster TX16S
Implementation notes:
- YAML Parser/Generator
- Mixer synchronisation
Customisable switches:
- Customisable switches
Deprecated:
- Windows 10 (Visual C++)