Підтримувані плати¶
JAAM Fusion — це прошивка під сімейство ESP32 (Arduino framework). Нижче наведено реально підтримувані варіанти збірки (PlatformIO environments) і те, як у прошивці організовано памʼять (partition table).
Note
Не плутайте:
- плату/чип (ESP32 / ESP32‑S3 / ESP32‑C3)
- "Режим прошивки" у веб‑інтерфейсі (це апаратний профіль для JAAM‑плат і мапінгів LED).
Підтримувані плати/чипи (PlatformIO environments)¶
Проєкт має кілька середовищ збірки в файлі platformio.ini.
| Environment | Плата (PlatformIO) | Чип | Примітка |
|---|---|---|---|
firmware |
esp32dev |
ESP32 | Основний таргет за замовчуванням |
firmware_esp32s3 |
esp32-s3-devkitc-1 |
ESP32‑S3 | Використовує власну partition‑таблицю custom_4MB.csv |
firmware_esp32c3 |
esp32-c3-devkitc-02 |
ESP32‑C3 | Увімкнено USB CDC на старті (ARDUINO_USB_CDC_ON_BOOT) |
Як зібрати потрібну прошивку¶
Приклади команд:
platformio run -e firmwareplatformio run -e firmware_esp32s3platformio run -e firmware_esp32c3
Important
OTA‑оновлення також розрізняються за чипом: у коді прошивки URL оновлень відрізняється для ESP32‑S3 та ESP32‑C3. Тому важливо прошивати/оновлювати прошивку саме для вашого чипа.
"Режим прошивки" (апаратні профілі)¶
У веб‑інтерфейсі є параметр Загальні → Режим прошивки. Він визначає апаратний профіль (плата/розкладка) і впливає на доступні опції.
Список профілів формується з коду (див. HARDWARE_OPTIONS) і може відрізнятися залежно від збірки:
- Плата JAAM 1.3 / 2.1 / 3.0 / 3.2 — з’являються не у всіх збірках (для деяких таргетів приховані)
- Плата JAAM 3.2 (по областям) — варіант профілю для JAAM 3.2, де відображення працює по областях
- Початок на Закарпатті (та варіант + Київ)
- Початок на Одещині (та варіант + Київ)
- Власна карта LED — відкриває редактор мапи
Структура flash памʼяті (partition table)¶
Partition‑таблиця визначає, як у flash розміщуються:
- системні дані (NVS)
- OTA слоти для прошивки
- файлове сховище (SPIFFS)
ESP32‑S3 збірка: custom_4MB.csv¶
Для firmware_esp32s3 використовується власна таблиця розділів:
| Назва | Тип | Призначення | Offset | Size |
|---|---|---|---|---|
nvs |
data/nvs | системні налаштування | 0x9000 |
0x5000 |
otadata |
data/ota | службові OTA‑дані | 0xE000 |
0x2000 |
app0 |
app/ota_0 | OTA слот 0 | 0x10000 |
0x1C0000 |
app1 |
app/ota_1 | OTA слот 1 | 0x1D0000 |
0x1C0000 |
coredump |
data/coredump | дамп при падінні (за наявності) | 0x390000 |
0x10000 |
spiffs |
data/spiffs | файлова система | 0x3A0000 |
0x60000 |
Практичні наслідки:
- OTA можливе завдяки двом слотам
app0/app1. - Максимальний розмір прошивки обмежений розміром слота:
0x1C0000(приблизно 1.75 MiB). SPIFFSмає0x60000(приблизно 384 KiB).
Для чого використовується SPIFFS¶
Прошивка монтує SPIFFS під час старту і зберігає там користувацькі дані, зокрема:
- файл власної LED‑мапи:
/custom_map.json - файл кольорів фонової стрічки:
/bg_led_colors.json
Note
Оновлення прошивки по OTA оновлює app0/app1. Файлова система SPIFFS зазвичай не перезаписується під час такого оновлення.
Інші збірки¶
Для firmware використовується стандартна таблиця розділів min_spiffs.csv (береться з платформи/фреймворку). Детальну структуру для неї варто дивитися у відповідному пакеті PlatformIO.
Дивіться також¶
- Загальні — "Режим прошивки" та "Режим мапи"
- Оновлення прошивки — OTA‑оновлення
- Troubleshooting