Перейти до змісту

Підтримувані плати

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 firmware
  • platformio run -e firmware_esp32s3
  • platformio 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.

Дивіться також