303 lines
6.3 KiB
Markdown
303 lines
6.3 KiB
Markdown
# Compilation Options
|
|
|
|
!!! note "Work in Progress"
|
|
This page is a work in progress. The raw option list below is an initial dump of all compile-time defines. It still needs to be sorted into categories, have details added for options like `PCBREV` (with all possible values), and be converted into tables.
|
|
|
|
**TODO:**
|
|
- [ ] Sort into categories — PCB/TX model, hardware-specific, handy default setting flags, etc.
|
|
- [ ] Add details for options like `PCBREV` with all possible values
|
|
- [ ] Convert to a set of tables
|
|
- [x] Clear out system-specific / autogenerated flags
|
|
|
|
Initial dump of all the compile time defines / options (`cmake -LAH` output)
|
|
|
|
```
|
|
// 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
|
|
```
|