Оверлеи/драйверы загружаются по HTTP или web-командой из web-диска в IRAM память ESP8266.

Для работы с оверлеями web имеет такие команды:
ovl=имя_файла_на_web_диске - загрузка оверлея с web-диска
ovl$=N, где N - число. 0 - close, 1 - инициализация. Другие значения - передача опций для оверлея и специфичны. Параметр передается функции int ovl_init(int flg), как flg.
ovl@=строка или список параметров - пока не задействована ни в одном примере.
Аналогично ~ovl:имя_файла_на_web_диске~, ~ovl$N~, ~ovl@строка~. В этих случаях в поток TCP передается номер кода возврата (ошибки).

Параметры инициализации и ответы для всех оверлеев обычно находятся в modbus таблице и имеют доступ к ним с любых интерфейсов web-сервера (см. описание переменных web-сервера).

Web-сервер поддерживает один активный оверлей. Оверлеи можно загружать по очереди, по мере необходимости. При загрузке нового оверлея вызывается команда закрытия текущего оверлея ovl_init(0). Инициализация оверлея ovl_init(1) производится по закрытию Web-HTTP соединения для возможности передачи настроек инициализации в любом порядке, а в случае запроса из websocket – сразу после загрузки.

Текущие ограничения по размеру кода оверлея около 8 килобайт, но если включить опцию IRAM=48к, то 16+8 килобайт. Для rodata/bss используется буфер в области памяти ROM-BIOS до 1 кило (остальные переменные, кратные 4 байт, размешаем в IRAM).

Описания готовых оверлеев даны в их папках проекта.
