### [ На русском ] ↔ [ English ]

## НАСТРОЙКИ КОМПИЛЯЦИИ ESPSHELL

ESPShell можно настроить (до компиляции), изменив настройки оболочки — макросы, расположенные в начале файла espshell.h. Эти макросы имеют значения по умолчанию, которые также являются рекомендуемыми для большинства пользователей.

    #ifndef espshell_h
    #define espshell_h

    #define ESPSHELL_VERSION "0.99.8"            // Версия библиотеки. Можно менять на что угодно.

    // -- Настройки ESPShell  --
    //
    #define WITH_TIME 1
    #define WITH_NVS 1
    #define WITH_ALIAS 1             // Set to 0 to disable alias support (commands "alias", "if", "every" and "exec")
    #define WITH_WIFI 1              // Enable WiFi/IP functions
    #define AUTOSTART 1              // Set to 0 for manual shell start via espshell_start().
    #define WITH_HELP 1              // Set to 0 to save some program space by excluding help strings/functions
    #define WITH_HISTORY 1           // Enable command history
    #define WITH_ESPCAM 0            // Include camera commands. Set to 0 if your board does not have camera
    #define WITH_VAR 1               // enable support for sketch variables (command "var")
    #define WITH_COLOR 1             // Enable terminal colors support. Set to 0 if your terminal doesn't support ANSI colors
    #define WITH_FS 1                // Filesystems (fat/spiffs/littlefs) support. Unlikely that you'll need all of them
    #define WITH_SPIFFS 1            // support SPIF filesystem
    #define WITH_LITTLEFS 1          //   --    LittleFS
    #define WITH_FAT 1               //   --    FAT
    #define WITH_SD 1                // Support FAT filesystem on SD/TF card over SPI

    #define MOUNTPOINTS_NUM 5        // Max number of simultaneously mounted filesystems (must be >0)
    #define STARTUP_ECHO 1           // echo mode at espshell startup (-1=blackhole, 0=no echo or 1=echo)
    #define STACKSIZE (5 * 1024)     // Shell task stack size
    #define HIST_SIZE 20             // History buffer size (number of commands to remember)
    #define AUTO_COLOR 1             // Let ESPShell decide wheither to enable coloring or not. Command "color on|off|auto" is about that
    #define DIR_RECURSION_DEPTH 127  // Max directory depth TODO: make a test with long "/a/a/a/.../a" path
    #define SEQUENCES_NUM 10         // Max number of sequences available for the command "sequence"
    //#define STARTUP_PORT 0         // Console port number, where shell will be deployed at startup.
    ...
    ...

В таблице ниже приведены описания всех настроек компиляции ESPShell, а также две колонки: "H" (от "Human" — человек) и "M" — "Machine" (машина).

Колонка "H" содержит рекомендуемые значения в случае, если вы используете ESPShell вручную (например, как обычный пользователь), а колонка "M" — значения, рекомендованные для случаев автоматического доступа к оболочке. Под автоматическим доступом понимается, что команды ESPShell отправляются другим программным обеспечением и/или оборудованием, которое также читает и анализирует ответы.

Параметр | Human | Machine | Описание
--- | --- | --- | ---
AUTOSTART | 1 | 1 | Установите 0 для ручного запуска оболочки (вызовом espshell_start()).
STACKSIZE | 5000 | 4000 | Размер стека задачи оболочки в байтах
WITH_HELP | 1 | 0 | Установите 0, чтобы сэкономить место в программе за счёт исключения подсистемы справки. Это отключает не только страницы, доступные через "?", но и фрагменты кода, выводящие советы в процессе работы
WITH_HISTORY | 1 | 0 | Установите 0 для отключения истории команд. История может быть отключена, если вы используете ESPShell исключительно через Arduino Serial Monitor — у него есть собственная память истории, доступная по клавишам ↑ и ↓
HIST_SIZE | 20 | 1 | Размер буфера истории (количество запоминаемых команд)
WITH_ESPCAM | 1 | 1 | Установите 0, если не планируете использовать камеру на вашей плате
WITH_NVS | 1 | 1 | Установите 0 для отключения редактора NVS).
WITH_ALIAS | 1 | 1 | Установите 0 для отключения поддержки алиасов).
WITH_WIFI | 1 | 1 | Установите 0 для отключения WiFi).
WITH_TIME | 1 | 1 | Установите 0 для отключения поддержки точного времени).
WITH_VAR | 1 | 1 | Установите 0 для отключения поддержки переменных скетча
STARTUP_ECHO | 1 | 0 | Режим эхо при запуске оболочки (-1=тихий режим, 0=без эхо, 1=включено). Подробнее о режимах эхо — здесь
WITH_COLOR | 1 | 0 | Включение поддержки цветного вывода. Установите 0, чтобы сэкономить память ИЛИ если ваш терминал не поддерживает цвета (например, Arduino Serial Monitor)
AUTO_COLOR | 1 | 0 | Позволяет ESPShell самостоятельно решать, включать ли цвет. Команда "color on|off|auto" управляет этим
WITH_FS | 1 | 1 | Поддержка файловых систем (fat/spiffs/littlefs). Установите 0, если файловая система не требуется, чтобы сэкономить место
MOUNTPOINTS_NUM | 5 | 5 | Максимальное количество одновременно смонтированных файловых систем. Уменьшите до 1, чтобы сэкономить DRAM
WITH_SPIFFS | 1 | 1 | Включить поддержку файловой системы SPIFFS?
WITH_LITTLEFS | 1 | 1 | Включить поддержку файловой системы LittleFS
WITH_FAT | 1 | 1 | Включить поддержку FAT (должно быть включено, если вы хотите использовать WITH_SD ниже)
WITH_SD | 1 | 1 | Поддержка файловой системы FAT на SD/TF-картах через SPI
DIR_RECURSION_DEPTH | 127 | 127 | Максимальная глубина вложенности директорий. Уменьшите значение, если возникают сбои при работе с файловыми системами
SEQUENCES_NUM | 10 | 10 | Максимальное число последовательностей, доступных для команды "sequence". Уменьшите (до минимума 1), чтобы сэкономить DRAM
STARTUP_PORT | 0 (или 99) | 0 (или 99) | Номер UART (0..2 или 99 для USB-CDC), на котором запускается оболочка. По умолчанию ESPShell запускается на UART0 или USB-CDC