93 lines
3.6 KiB
Markdown
93 lines
3.6 KiB
Markdown
# Configuration
|
|
|
|
## Project options
|
|
|
|
```ini
|
|
[env:my_board]
|
|
# custom firmware name, present in UF2 output files
|
|
# - default: project directory name
|
|
custom_fw_name = my_firmware
|
|
# custom firmware version
|
|
# - default: current date in yy.mm.dd format
|
|
custom_fw_version = 1.2.0
|
|
```
|
|
|
|
## LibreTuya options
|
|
|
|
!!! note
|
|
See [LibreTuyaConfig.h](../../ltapi/_libre_tuya_config_8h_source.md) for most options and their defaults.
|
|
|
|
All options are configurable via C++ defines in PlatformIO project file. For example:
|
|
```ini
|
|
[env:my_board]
|
|
build_flags =
|
|
-D LT_LOGLEVEL=LT_LEVEL_DEBUG
|
|
```
|
|
|
|
!!! hint
|
|
Values in parentheses represent the defaults for the config options.
|
|
|
|
### Logger
|
|
|
|
- `LT_LOGGER` (1) - enable/disable LibreTuya logger globally. Enabled by default.
|
|
- `LT_LOGLEVEL` - global LT loglevel:
|
|
- `LT_LEVEL_TRACE` (same as LT_LEVEL_VERBOSE)
|
|
- `LT_LEVEL_DEBUG`
|
|
- `LT_LEVEL_INFO` - default
|
|
- `LT_LEVEL_WARN`
|
|
- `LT_LEVEL_ERROR`
|
|
- `LT_LEVEL_FATAL`
|
|
- `LT_LOGGER_TIMESTAMP` (1) - print program runtime in printk-like format
|
|
- `LT_LOGGER_CALLER` (1) - print calling method name
|
|
- `LT_LOGGER_TASK` (1) - print calling FreeRTOS task (if available)
|
|
- `LT_LOGGER_COLOR` (0) - output ANSI terminal colors
|
|
- `LT_PRINTF_BROKEN` (0) - whether printf outputs "0." for floats with value 0
|
|
- `LT_LOG_HEAP` (0) - print free heap size using `LT_HEAP_I()`
|
|
- `LT_LOG_ERRNO` (0) - print and clear errno value (if set) using `LT_ERRNO()`
|
|
|
|
#### Debug logging
|
|
|
|
The following options enable library-specific debugging messages. They are only effective if `LT_LOGLEVEL` is set below INFO. All of them are disabled by default.
|
|
|
|
Families should generally call i.e. WiFiClient debugging for client-related code, even if the `WiFiClient.cpp` file is physically absent.
|
|
|
|
- `LT_DEBUG_WIFI` - WiFi
|
|
- `LT_DEBUG_WIFI_CLIENT` - WiFiClient
|
|
- `LT_DEBUG_WIFI_SERVER` - WiFiServer
|
|
- `LT_DEBUG_WIFI_STA` - WiFiSTA
|
|
- `LT_DEBUG_WIFI_AP` - WiFiAP
|
|
- `LT_DEBUG_SSL` - WiFiClientSecure
|
|
|
|
### Serial output
|
|
|
|
Options for controlling default UART log output.
|
|
|
|
- `LT_UART_DEFAULT_PORT` (unset) - default output port for all messages (SDK, LT logger, Serial class); can be 0, 1 or 2
|
|
- `LT_UART_DEFAULT_LOGGER` (unset) - override default output port for LT logger only
|
|
- `LT_UART_DEFAULT_SERIAL` (unset) - override default output port for `Serial` class (without a number)
|
|
- `LT_UART_SILENT_ENABLED` (1) - enable auto-silencing of SDK "loggers"; this makes the serial output much more readable, but can hide some error messages
|
|
- `LT_UART_SILENT_ALL` (0) - disable all SDK output (LT output and logger still work)
|
|
|
|
!!! info
|
|
Values 0, 1 and 2 correspond to physical UART port numbers (refer to board pinout for the available ports).
|
|
|
|
Serial class instances (`Serial0`, `Serial1`, `Serial2`) use the respective port numbers for printing.
|
|
|
|
If `LT_UART_DEFAULT_LOGGER` is not set, it is chosen by the family code - whichever port is most appropriate (i.e. LOG_UART (2) on Realtek, RX2/TX2 on Beken).
|
|
|
|
### Family feature config
|
|
|
|
These options are selectively set by all families, as part of the build process. They are used for enabling LT core API parts, if the family has support for it.
|
|
|
|
The `LT_ARD_*` options are only used with Arduino frameworks.
|
|
|
|
The meaning of most flags is as follows:
|
|
|
|
- `LT_HAS_LWIP` - LwIP in SDK (any version)
|
|
- `LT_HAS_LWIP2` - LwIP v2.0.0 or newer
|
|
- `LT_HAS_FREERTOS` - FreeRTOS supported and used
|
|
- `LT_HAS_MBEDTLS` - mbedTLS in SDK
|
|
- `LT_ARD_HAS_MD5` - MD5 library implemented, `MD5Impl.h` available
|
|
- `LT_ARD_HAS_WIFI` - WiFi library implemented, `WiFiData.h` available
|
|
- `LT_HEAP_FUNC` - function name used to get available heap size (for `LT_HEAP_I()`)
|