OVMS3/OVMS.V3/main/Kconfig

651 lines
19 KiB
Plaintext

menuconfig OVMS
bool "Open Vehicle Monitoring System (OVMS)"
default y
help
Select this option to enable OVMS specific features
config OVMS_VERSION_TAG
string "A tag to describe the current build version"
default "main"
depends on OVMS
help
Custom builds should change this tag to describe themselves
menu "Hardware Support"
depends on OVMS
choice OVMS_HW_MODEL
prompt "Select the OVMS hardware model being built for"
default OVMS_HW_BASE_3_0
depends on OVMS
help
OVMS_HW_BASE_3_0 OVMS base (early developer) hardware v3.0
OVMS_HW_BASE_3_1 OVMS base production hardware v3.1
config OVMS_HW_BASE_3_0
bool "OVMS base hardware v3.0"
help
Select this: OVMS base (early developer) hardware v3.0
config OVMS_HW_BASE_3_1
bool "OVMS base hardware v3.1"
help
Select this: OVMS base production hardware v3.1
endchoice # OVMS_HW_MODEL
config OVMS_HW_SPIMEM_AGGRESSIVE
bool "Aggressively use SPI RAM (rather than internal RAM)"
default y
depends on OVMS && OVMS_HW_BASE_3_1
help
Enable to aggressively allocate from SPI RAM (rather than internal RAM).
config OVMS_HW_CONSOLE_QUEUE_SIZE
int "Console queue size"
default 100
depends on OVMS
help
The size of the console defer queue. If more than this number
of alert are raised in a very short period of time, excess
alerts may be dropped (with suitable warning).
config OVMS_HW_ASYNC_QUEUE_SIZE
int "Async async terminal queue size"
default 100
depends on OVMS
help
The size of the async terminal queue. If more than this number
of alert are raised in a very short period of time, excess
alerts may be dropped (with suitable warning).
config OVMS_HW_EVENT_QUEUE_SIZE
int "EVENT queue size"
default 20
depends on OVMS
help
The size of the EVENT queue.
config OVMS_HW_NETMANAGER_QUEUE_SIZE
int "NETMANAGER queue size"
default 10
depends on OVMS
help
The size of the NETMANAGER queue.
config OVMS_HW_CAN_RX_QUEUE_SIZE
int "CAN bus RX queue size"
default 30
depends on OVMS
help
The size of the CAN bus RX queue.
config OVMS_HW_CAN_TX_QUEUE_SIZE
int "CAN bus TX queue size"
default 20
depends on OVMS
help
The size of the CAN bus TX queue.
config OVMS_HW_CELLULAR_MODEM_BUFFER_SIZE
int "MODEM buffer size"
default 1024
depends on OVMS && OVMS_COMP_CELLULAR
help
The size of the buffer used for the cellular modem.
config OVMS_HW_CELLULAR_MODEM_UART_SIZE
int "MODEM UART driver buffer size"
default 2048
depends on OVMS && OVMS_COMP_CELLULAR
help
The size of the UART driver buffers used for the cellular modem.
config OVMS_HW_CELLULAR_MODEM_MUXCHANNEL_SIZE
int "MODEM MUX channels buffer size"
default 2048
depends on OVMS && OVMS_COMP_CELLULAR
help
The size of each MUX channel buffers used for the cellular modem.
config OVMS_HW_CELLULAR_MODEM_QUEUE_SIZE
int "MODEM UART driver queue size"
default 50
depends on OVMS && OVMS_COMP_CELLULAR
help
The size of the UART driver queue used for the cellular modem.
config OVMS_HW_CELLULAR_MODEM_STACK_SIZE
int "Stack size for MODEM task"
default 4096
depends on OVMS && OVMS_COMP_CELLULAR
help
The stack size of the OVMS Console and dynamic command tasks.
endmenu # Hardware Support
menu "System Options"
depends on OVMS
config OVMS_SYS_COMMAND_STACK_SIZE
int "Stack size for command execution"
default 6144
depends on OVMS
help
The stack size of the OVMS Console and dynamic command tasks.
config OVMS_SYS_COMMAND_PRIORITY
int "Task priority for command execution"
default 5
depends on OVMS
help
The RTOS priority for the OVMS Console and dynamic command tasks.
config OVMS_LOGFILE_QUEUE_SIZE
int "Queue size for file logging"
default 100
depends on OVMS
help
The number of log messages that can be queued to the file logging task.
An entry needs 8 bytes of RAM.
config OVMS_LOGFILE_TASK_PRIORITY
int "Task priority for file logging"
default 2
depends on OVMS
help
The RTOS priority for the file logging task ("OVMS FileLog").
endmenu # System Options
menu "Library Support"
depends on OVMS
choice OVMS_SC_JAVASCRIPT
prompt "Select the OVMS javascript library to use"
default OVMS_SC_JAVASCRIPT_DUKTAPE
depends on OVMS
help
OVMS_SC_JAVASCRIPT_NONE No javascript support
OVMS_SC_JAVASCRIPT_DUKTAPE DUKTAPE (MIT license)
config OVMS_SC_JAVASCRIPT_NONE
bool "No javascript support"
help
Select this: No javascript support
config OVMS_SC_JAVASCRIPT_DUKTAPE
bool "Use the MIT licensed DUKTAPE library"
depends on OVMS
help
Use the MIT licensed DUKTAPE library (for Javascript)
endchoice # OVMS_SC_JAVASCRIPT
menuconfig OVMS_SC_GPL_MONGOOSE
bool "Include the GPL licensed MONGOOSE networking library (web server, etc)"
default y
depends on OVMS
help
Enable to include the GPL licensed MONGOOSE networking library
config MG_ENABLE_FILESYSTEM
bool "Enable MONGOOSE filesystem support"
default y
depends on OVMS_SC_GPL_MONGOOSE
help
Enable MONGOOSE filesystem support
config MG_ENABLE_DIRECTORY_LISTING
bool "Enable MONGOOSE directory listing support"
default y
depends on OVMS_SC_GPL_MONGOOSE
help
Enable MONGOOSE directory listing support
config MG_ENABLE_SSL
bool "Enable MONGOOSE SSL/TLS support"
default n
depends on OVMS_SC_GPL_MONGOOSE
depends on MBEDTLS_PSK_MODES
help
Enable MONGOOSE SSL/TLS support
choice MG_SSL_IF
prompt "Select the MONGOOSE SSL/TLS library to use"
default MG_SSL_IF_WOLFSSL
depends on MG_ENABLE_SSL
help
MG_SSL_IF_MBEDTLS Use mbedTLS (esp-idf default)
MG_SSL_IF_WOLFSSL Use WolfSSL
config MG_SSL_IF_MBEDTLS
bool "mbedTLS"
help
Use mbedTLS (esp-idf default)
config MG_SSL_IF_WOLFSSL
bool "WolfSSL"
depends on OVMS_SC_GPL_WOLF
help
Use WolfSSL
endchoice # MG_SSL_IF
config MG_ENABLE_DEBUG
bool "Enable MONGOOSE debug logging"
default n
depends on OVMS_SC_GPL_MONGOOSE
help
Enable MONGOOSE verbose debug log output
(on ESP_LOG verbose channel, including timing details)
config OVMS_SC_GPL_WOLF
bool "Include the GPL licensed WOLFSSH and WOLFSSL libraries (ssh server)"
default y
depends on OVMS
help
Enable to include the GPL licensed WOLFSSH and WOLFSSL libraries
(required for SSH server functionality)
config OVMS_SC_ZIP
bool "Include ZIP archive support"
default y
depends on OVMS
help
Enable to include zip archive support for config backup & restore.
This is based on libzip by Dieter Baron and Thomas Klausner and
zlib by Jean-loup Gailly and Mark Adler.
config OVMS_SC_JAVASCRIPT_DUKTAPE_STACK
int "JavaScript (DukTape) task stack size"
default 12288
depends on OVMS_SC_JAVASCRIPT_DUKTAPE
help
Stack size for the DukTape task ("OVMS DukTape").
The DukTape task runs the javascript framework.
config OVMS_SC_JAVASCRIPT_DUKTAPE_QUEUE_SIZE
int "JavaScript (DukTape) task queue size"
default 40
depends on OVMS_SC_JAVASCRIPT_DUKTAPE
help
The size of the DukTape queue (for outstanding requests).
Should be >= OVMS_HW_EVENT_QUEUE_SIZE
config OVMS_SC_JAVASCRIPT_DUKTAPE_PRIORITY
int "JavaScript (DukTape) task priority"
default 5
depends on OVMS_SC_JAVASCRIPT_DUKTAPE
help
Priority for the DukTape task ("OVMS DukTape").
The DukTape task runs the javascript framework.
config OVMS_SC_JAVASCRIPT_DUKTAPE_HEAP_UMM
bool "Enable Javascript (Duktape) dedicated heap memory management"
default y
depends on OVMS_SC_JAVASCRIPT_DUKTAPE
help
Duktape does a lot of small SPIRAM memory allocations for the heap,
due to the Javascript memory management scheme leading to
fragmentation of main memory and overall performance degradation.
This option enables using a configurable dedicated chunk of SPIRAM
memory for Duktape (config module duktape.heapsize). The memory
management is implemented using the MIT licensed umm_malloc
library by Ralph Hempel (https://github.com/rhempel/umm_malloc).
NOTE: this is a workaround for the bad fragmentation handling of
the esp-idf 3 memory allocator. esp-idf 4.3 includes a new memory
allocator with better fragmentation handling, possibly eliminating
the need for this.
config OVMS_SC_JAVASCRIPT_DUKTAPE_HEAP_UMM_DEFAULTSIZE
int "Javascript/Duktape default size of dedicated memory chunk (KB)"
default 512
depends on OVMS_SC_JAVASCRIPT_DUKTAPE_HEAP_UMM
help
This is the compile time default for the Duktape heap size
if using the dedicated memory management. It can be overridden
at run time by the user configuration (module duktape.heapsize).
config OVMS_SC_JAVASCRIPT_DUKTAPE_HEAP_UMM_BLOCKSIZE
int "Javascript/Duktape size of a memory block (bytes)"
default 32
depends on OVMS_SC_JAVASCRIPT_DUKTAPE_HEAP_UMM
help
Needs to be a multiple of 4 and at least 8.
The umm_malloc library limits the total amount of blocks to
32767, so total heap size is limited to 32767 x block size.
The default of 32 allows for heaps up to 1 MB.
endmenu # Library support
menu "Vehicle Support"
depends on OVMS
config OVMS_VEHICLE_NONE
bool "Include support for base NONE vehicle stub"
default n
depends on OVMS
help
Enable to include support for base NONE vehicle stub.
config OVMS_VEHICLE_RXTASK_STACK
int "Stack size for vehicle RX task"
default 6144
depends on OVMS
help
Stack size for the vehicle CAN RX task ("Vrx Task").
The RX task triggers events and metrics updates so needs to be
able to process the attached event/metrics listeners.
Standard stack usage of this task is currently around 1400 bytes.
config OVMS_VEHICLE_CAN_RX_QUEUE_SIZE
int "Vehicle CAN queue size"
default 40
depends on OVMS
help
The size of the CAN bus RX queue (at the vehicle component).
config OVMS_VEHICLE_RENAULTZOE_PH2_OBD
bool "Include support for Renault Zoe PH2 vehicles via OBD port (read-only)"
default y
depends on OVMS
help
Enable to include support for Renault Zoe Ph2 vehicles via OBD port (read-only).
endmenu # Vehicle Support
menu "Component Options"
depends on OVMS
config OVMS_COMP_BLUETOOTH
bool "Include support for Bluetooth"
default y
depends on OVMS
depends on BT_ENABLED
help
Enable to include support for bluetooth communications.
config OVMS_COMP_WIFI
bool "Include support for WIFI"
default y
depends on OVMS
help
Enable to include support for wifi communications.
config OVMS_COMP_MAX7317
bool "Include support for MAX7317 GPIO expander"
default y
depends on OVMS
help
Enable to include support for MAX7317 GPIO expander.
config OVMS_COMP_MAX7317_MONITOR_INTERVAL
int "MAX7317 port monitor default polling interval [ms]"
range 10 10000
default 50
depends on OVMS_COMP_MAX7317
help
The MAX7317 has no IRQ so needs to be polled to monitor port changes.
If enabled, the monitoring polls the ports with this interval by default.
The interval can be configured via param egpio[monitor.interval].
config OVMS_COMP_ESP32CAN
bool "Include support for ESP32 on-board CAN controller (can1)"
default y
depends on OVMS
help
Enable to include support for ESP32 on-board CAN controller (can1).
config OVMS_COMP_MCP2515
bool "Include support for MCP2515 CAN controllers (can2, can3)"
default y
depends on OVMS
help
Enable to include support for MCP2515 CAN controllers (can2, can3).
config OVMS_COMP_EXTERNAL_SWCAN
bool "Include support for external SWCAN module (swcan bus)"
default n
depends on OVMS
help
Enable to include support for external SWCAN module. Replaces the second internal MCP2515 CAN controller
config OVMS_COMP_ADC
bool "Include support for ADC (reading 12V line voltage)"
default y
depends on OVMS
help
Enable to include support for ADC (reading 12V line voltage).
config OVMS_COMP_EXT12V
bool "Include support for External 12V power control"
default y
depends on OVMS
help
Enable to include support for External 12V power control.
config OVMS_COMP_SERVER
bool "Include support for OVMS server connections"
default y
depends on OVMS_SC_GPL_MONGOOSE
help
Enable to include support for OVMSserver connections.
config OVMS_COMP_SERVER_V2
bool "Include support for V2 server connections"
default y
depends on OVMS_COMP_SERVER
help
Enable to include support for V2 server connections.
config OVMS_COMP_SERVER_V3
bool "Include support for V3 server connections"
default y
depends on OVMS_COMP_SERVER
help
Enable to include support for V3 server connections.
config OVMS_COMP_OTA
bool "Include support for Over-The-Air firmware updates"
default y
depends on OVMS
help
Enable to include support for Over-The-Air firmware updates.
config OVMS_COMP_LOCATION
bool "Include support for LOCATION and geofencing"
default y
depends on OVMS
help
Enable to include support for LOCATION and geofencing.
config OVMS_COMP_WEBSERVER
bool "Include support for Network Web Server"
default y
depends on OVMS_SC_GPL_MONGOOSE
help
Enable to include support for Web Server.
config OVMS_COMP_MDNS
bool "Include support for Network MDNS"
default y
depends on OVMS
help
Enable to include support for MDNS.
config OVMS_COMP_TELNET
bool "Include support for Telnet server"
default y
depends on OVMS_SC_GPL_MONGOOSE
help
Enable to include support for Telnet server.
config OVMS_COMP_SSH
bool "Include support for SSH server"
default y
depends on OVMS_SC_GPL_MONGOOSE
help
Enable to include support for SSH server.
config OVMS_COMP_PUSHOVER
bool "Include support for Pushover notification system"
default y
depends on MG_ENABLE_SSL
help
Enable to include support for Pushover.
config OVMS_COMP_TPMS
bool "Include support for TPMS tyre sets"
default y
depends on OVMS
help
Enable to include support for TPMS tyre sets
config OVMS_COMP_CELLULAR
bool "Include support for cellular modems"
default y
depends on OVMS
help
Enable to include support for cellular modems
config OVMS_COMP_CELLULAR_SIMCOM
bool "Include support for SIMCOM cellular modems"
default y
depends on OVMS && OVMS_COMP_MAX7317 && OVMS_COMP_CELLULAR
help
Enable to include support for SIMCOM cellular modems
config OVMS_COMP_SDCARD
bool "Include support for SD CARDs"
default y
depends on OVMS
help
Enable to include support for SD CARDs
config OVMS_COMP_OBD2ECU
bool "Include support for OBDII ECU"
default y
depends on OVMS
help
Enable to include support for OBDII ECU
config OVMS_COMP_RE_TOOLS
bool "Include support for Reverse Engineering tools"
default y
depends on OVMS
help
Enable to include support for Reverse Engineering tools
config OVMS_COMP_RE_TOOLS_PID
bool "Include support for ECU PID scanning"
default y
depends on OVMS
help
Enable to include research module for scanning an ECU for PIDs.
config OVMS_COMP_RE_TOOLS_TESTERPRESENT
bool "Include support for ECU tester present signalling"
default y
depends on OVMS
help
Enable to include research module for sending tester present to an ECU.
config OVMS_COMP_EDITOR
bool "Include support for Simple file editor"
default y
depends on OVMS
help
Enable to include support for a simple file editor (vfs edit)
menuconfig OVMS_COMP_CANOPEN
bool "Include CANopen framework"
default y
depends on OVMS
help
The CANopen framework provides shell commands and a simple client API
for CANopen node management (NMT), state and emergency (EMCY) monitoring,
and accessing node service dictionary objects (SDO).
config OVMS_COMP_CANOPEN_RX_STACK
int "Stack size for CANopen RX task"
default 3072
depends on OVMS_COMP_CANOPEN
help
Stack size for the CANopen RX task ("COrx").
The shared RX task triggers EMCY and NMT events and metrics updates
so needs to be able to process the event/metrics listeners. If the
listeners are simple, stack size can be reduced.
Standard stack usage for the Twizy is currently around 2400 bytes.
config OVMS_COMP_CANOPEN_WRK_STACK
int "Stack size for CANopen worker (TX) tasks"
default 2048
depends on OVMS_COMP_CANOPEN
help
Stack size for CANopen worker tasks ("COwrk").
Worker tasks only process TX jobs and don't trigger any event/metrics
updates so can run with a smaller stack than the RX task.
Standard stack usage for the Twizy is currently around 1000 bytes.
config OVMS_COMP_PLUGINS
bool "Include support for PLUGINS"
default y
depends on OVMS_SC_GPL_MONGOOSE
help
Enable to include support for PLUGINS and server based
extension repositories.
endmenu # Component Options
menu "Developer Options"
depends on OVMS
config OVMS_DEV_SECUREASYNC
bool "Initialize async console in enabled mode"
default n
depends on OVMS
help
Enable for async console to be automatically logged in (danger: insecure)
config OVMS_DEV_CONFIGVFS
bool "Disable the usual protections for configuration visibility in VFS"
default n
depends on OVMS
help
Enable to permit VFS access to configuration files (danger: insecure)
config OVMS_DEV_SDCARDSCRIPTS
bool "Run event scripts from /sd, as well as /store (note: may be insecure)"
default n
depends on OVMS
help
Enable to run events script from /sd, as well as /store (danger: insecure)
config OVMS_DEV_DEBUGEVENTS
bool "Enable extended event tracing"
default n
depends on OVMS
help
Enable to show events signalled
config OVMS_DEV_DEBUGNOTIFICATIONS
bool "Enable extended notification tracing"
default n
depends on OVMS
help
Enable to show notifications raised
endmenu # Developer Options