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_OBDII bool "Include support for OBDII vehicles" default y depends on OVMS help Enable to include support for OBDII vehicles. config OVMS_VEHICLE_TRACK bool "Include support for TRACK vehicle" default y depends on OVMS help Enable to include support for tracker vehicles. config OVMS_VEHICLE_DEMO bool "Include support for DEMO vehicle" default y depends on OVMS help Enable to include support for demonstration vehicles. config OVMS_VEHICLE_TESLAROADSTER bool "Include support for Tesla Roadster vehicles" default y depends on OVMS help Enable to include support for Tesla Roadster vehicles. config OVMS_VEHICLE_TESLAMODELS bool "Include support for Tesla Model S vehicles" default y depends on OVMS help Enable to include support for Tesla Model S vehicles. config OVMS_VEHICLE_TESLAMODEL3 bool "Include support for Tesla Model 3 vehicles" default y depends on OVMS help Enable to include support for Tesla Model 3 vehicles. config OVMS_VEHICLE_NISSANLEAF bool "Include support for Nissan Leaf vehicles" default y depends on OVMS help Enable to include support for Nissan Leaf vehicles. config OVMS_VEHICLE_RENAULTTWIZY bool "Include support for Renault Twizy vehicles" default y depends on OVMS depends on OVMS_COMP_CANOPEN help Enable to include support for Renault Twizy vehicles. config OVMS_VEHICLE_RENAULTZOE bool "Include support for Renault Zoe vehicles" default y depends on OVMS depends on OVMS_COMP_CANOPEN help Enable to include support for Renault Zoe Ph1 vehicles. config OVMS_VEHICLE_MAXED3 bool "Include support for Maxus eDeliver3 vehicle" default y depends on OVMS help Enable to include support for Maxus eDeliver3 vehicle. config OVMS_VEHICLE_KIASOULEV bool "Include support for Kia Soul EV vehicles" default y depends on OVMS help Enable to include support for Kia Soul EV vehicles. config OVMS_VEHICLE_BOLTEV bool "Include support for Bolt EV/Ampera-e vehicles" default y depends on OVMS help Enable to include support for Bolt EV/Ampera-e vehicles" config OVMS_VEHICLE_VOLTAMPERA bool "Include support for Volt/Ampera vehicles" default y depends on OVMS help Enable to include support for Volt/Ampera vehicles. config OVMS_VEHICLE_THINKCITY bool "Include support for Think City vehicles" default y depends on OVMS help Enable to include support for Think City vehicles. config OVMS_VEHICLE_SMARTED bool "Include support for Smart ED vehicle" default y depends on OVMS help Enable to include support for Smart ED vehicle. config OVMS_VEHICLE_SMARTEQ bool "Include support for Smart ED/EQ Gen.4 vehicle" default y depends on OVMS help Enable to include support for Smart ED/EQ Gen.4 vehicle. config OVMS_VEHICLE_MITSUBISHI bool "Include support for Mitsubishi iMiev vehicle" default y depends on OVMS help Enable to include support for Mitsubishi iMiev vehicle. config OVMS_VEHICLE_ZEVA bool "Include support for vehicles using Zeva BMS" default y depends on OVMS help Enable to include support for vehicles using Zeva BMS. config OVMS_VEHICLE_KIANIROEV bool "Include support for Kia e-Niro" default y depends on OVMS depends on OVMS_VEHICLE_KIASOULEV help Enable to include support for Kia e-Niro. config OVMS_VEHICLE_FIAT500 bool "Include support for Fiat 500 vehicle" default y depends on OVMS help Enable to include support for FIAT 500 vehicle. config OVMS_VEHICLE_VWEUP bool "Include support for VW e-up! vehicle" default y depends on OVMS help Enable to include support for vehicles VW e-up! (all model years), Seat Mii electric, and Skoda Citigo-e iV. config OVMS_VEHICLE_MERCEDESB250E bool "Include support for Mercedes-Benz B250E (W242) vehicle" default n depends on OVMS help Enable to include support for Mercedes-Benz B250E (W242) vehicle. config OVMS_VEHICLE_CADILLAC_C2_CTS bool "Include support for Cadillac 2nd gen CTS vehicle" default n depends on OVMS help Enable to include support for Cadillac 2nd gen CTS vehicle. config OVMS_VEHICLE_CHEVROLET_C6_CORVETTE bool "Include support for Chevrolet C6 Corvette vehicle" default n depends on OVMS help Enable to include support for Chevrolet C6 Corvette vehicle. config OVMS_VEHICLE_MG_EV bool "Include support for MG ZS EV vehicles" default y depends on OVMS help Enable to include support for MG ZS EV vehicles. config OVMS_VEHICLE_BMWI3 bool "Include support for BMW i3/i3s" default y depends on OVMS help Enable to include support for BMW i3 or i3s vehicles config OVMS_VEHICLE_HYUNDAI_IONIQVFL bool "Include support for Hyundai Ioniq Electric 28kWh (vFL)" default y depends on OVMS help Enable to include support for Hyundai Ioniq Electric 28kWh (vFL). config OVMS_VEHICLE_JAGUARIPACE bool "Include support for Jaguar Ipace" default y depends on OVMS help Enable to include support for Jaguar Ipace. config OVMS_VEHICLE_TOYOTARAV4EV bool "Include support for Toyota RAV4 EV vehicles" default y depends on OVMS help Enable to include support for Toyota RAV4 EV vehicles. 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 bool "Include support for Renault Zoe PH2 vehicles" default y depends on OVMS depends on OVMS_COMP_CANOPEN help Enable to include support for Renault Zoe Ph2 vehicles. 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