nodemcu-firmware/components/platform/Kconfig

160 lines
6.5 KiB
Plaintext
Raw Normal View History

menu "NodeMCU platform config"
config NODEMCU_NODE_DEBUG
bool "Enable NODE_DBG() output"
default "n"
help
Enable debugging output via NODE_DBG(). This is VERY chatty.
For development/debugging use only.
config NODEMCU_NODE_ERR
bool "Enable NODE_ERR() output"
default "y"
help
Enable error reporting via NODE_ERR().
It is recommended to leave this enabled - if it ever produces
output, something has gone seriously wrong and you probably want
to know about it.
config NODEMCU_DEFAULT_SPIFFS_LABEL
string "Partition label of SPIFFS to mount as default file system"
default ""
help
If there are multiple SPIFFS partitions, this setting can
be used to control which partition gets mounted as the
default file system. Leaving it empty defaults to using
the first SPIFFS partition found.
config NODEMCU_MAX_OPEN_FILES
int "Maximum number of open files"
default 4
help
This sets the maximum number of open files at the same time.
Technically, it's per file system, but the most common use
case only has a single file system (internal SPIFFS) so in
that case it is the number of concurrent files that can be
opened. Raising this limit will incur some extra memory
overhead.
config NODEMCU_AUTO_FORMAT_ON_BOOT
bool "Auto-format SPIFFS on first boot"
default "y" if !ESP_CONSOLE_USB_CDC
default "n" if ESP_CONSOLE_USB_CDC
help
The traditional behavior of NodeMCU is to automatically format
the SPIFFS partition on first boot (or any other time the
filesystem is unmountable). When using USB CDC however, the
formatting can interfere with USB device enumeration, leading
to a failed boot. In that case, disable the auto-format and
use file.format() after startup instead.
config NODEMCU_EMBED_LFS
bool "Embed LFS as part of the NodeMCU firmware"
default "n"
help
The LFS (Lua Flash Store) normally has its own partition entry,
and can can be replaced at will. Optionally, the LFS can instead
be permanently embedded into the NodeMCU firmware image itself.
This can be useful for scenarios where over-the-air firmware
upgrades are needed to also bundle Lua code. The major downside
is that once embedded, the LFS can no longer be changed, as
doing so would break the firmware checksums and signatures and
leave the system unable to boot.
The default option is to not embed the LFS, in which case LFS is
looked for in a partition of type 0xC2 and subtype 0x01.
To embed LFS data into firmware, use:
./tools/embed_lfs.sh /path/to/file1.lua /path/to/file2.lua ...
config NODEMCU_EMBEDDED_LFS_SIZE
hex "Embedded LUA Flash Store size"
default 0x0
depends on NODEMCU_EMBED_LFS
help
Embedded LUA Flash Store size. Set to zero to use an LFS partition
instead of embedding the LFS within the NodeMCU firmware itself.
menu "UART buffer size configuration"
config NODEMCU_UART_AT_LEAST_2
bool
default y if IDF_TARGET_ESP32
default y if IDF_TARGET_ESP32S2
default y if IDF_TARGET_ESP32S3
default y if IDF_TARGET_ESP32C3
Initial support for ESP32-C6 and ESP32-H2, plus assorted fixes & improvements (#3646) * Proof-of-concept multi-type console support via stdio * Address crashes on linput's use of printf. On an empty line input, a C3 with UART console would panic while attempting to output the new Lua prompt. The backtrace shows a xQueueSemaphoreTake with uxItemSize==0 as the panic cause, deep inside the uart driver, invoked via vfs_uart and vfs_console layers, from printf. Similarly, the printf for outputting a backspace/erase sequence would also trigger a panic. This workaround (of not mixing fflush() with printf) is likely merely hiding a deeper issue, but it appears to be consistent. Plus, printf with no args and a user-supplied format string is a no-no and should be fixed anyway. * Work around IDF inconsistency with stdout buffering. * Increase console task stack size. Seems on Xtensa it ended up not being enough. * Switch to single-byte console reads. * Stop cheating and feed Lua from the right context. * Work around IDF buffering stdout even when told not to, on ACM consoles. * Initial build support for esp32c6. Plus fixup of module selection for a variety of targets. * Update github actions to node 20 versions. * Update github build to deal with Lua 5.3 being default. * Address fatal compiler warning. Newer IDF toolchain is stricter, and we'd apparently failed to build test the Lua-5.1 path for some time. * Initial build support for esp32h2. * Upgrade IDF to v5.1.3 * Fix left-over incorrect type in uzlib. * Avoid null pointer crashes when debugging startup. * Workaround for using wifi module on S2 with USB-CDC console. --------- Co-authored-by: Jade Mattsson <github@frozenlogic.org>
2024-04-26 23:35:22 +02:00
default y if IDF_TARGET_ESP32C6
default y if IDF_TARGET_ESP32H2
config NODEMCU_UART_AT_LEAST_3
bool
default y if IDF_TARGET_ESP32
default y if IDF_TARGET_ESP32S3
2024-10-14 02:57:23 +02:00
default y if IDF_TARGET_ESP32C6
config NODEMCU_UART_DRIVER_BUF_SIZE_RX0
int "RX buffer size for UART0"
default 512
help
The rx buffer size to use for UART0.
This is a buffer used to/from the UART ISR. For high-speed scenarios,
it can be very helpful to increase the rx size. The ISR trying
to write to a full rx buffer results in lost data and an error
event posted.
config NODEMCU_UART_DRIVER_BUF_SIZE_TX0
int "TX buffer size for UART0"
default 512
help
The tx buffer size to use for UART0.
This is a buffer used to/from the UART ISR. In some scenarios it
can be helpful to increase the tx size. Writing to a full tx buffer
blocks the calling RTOS task.
config NODEMCU_UART_DRIVER_BUF_SIZE_RX1
int "RX buffer size for UART1"
depends on NODEMCU_UART_AT_LEAST_2
default 512
help
The rx buffer size to use for UART1.
This is a buffer used to/from the UART ISR. For high-speed scenarios,
it can be very helpful to increase the rx size. The ISR trying
to write to a full rx buffer results in lost data and an error
event posted.
config NODEMCU_UART_DRIVER_BUF_SIZE_TX1
int "TX buffer size for UART1"
depends on NODEMCU_UART_AT_LEAST_2
default 512
help
The tx buffer size to use for UART1.
This is a buffer used to/from the UART ISR. In some scenarios it
can be helpful to increase the tx size. Writing to a full tx buffer
blocks the calling RTOS task.
config NODEMCU_UART_DRIVER_BUF_SIZE_RX2
int "RX buffer size for UART2"
depends on NODEMCU_UART_AT_LEAST_3
default 512
help
The rx buffer size to use for UART2.
This is a buffer used to/from the UART ISR. For high-speed scenarios,
it can be very helpful to increase the rx size. The ISR trying
to write to a full rx buffer results in lost data and an error
event posted.
config NODEMCU_UART_DRIVER_BUF_SIZE_TX2
int "TX buffer size for UART2"
depends on NODEMCU_UART_AT_LEAST_3
default 512
help
The tx buffer size to use for UART2.
This is a buffer used to/from the UART ISR. In some scenarios it
can be helpful to increase the tx size. Writing to a full tx buffer
blocks the calling RTOS task.
endmenu
endmenu