Отличная библиотека для работы с JSON-файлами

Мой баян хранит пресеты в EEPROM. Естественно, в двоичном виде; это очень удобно: читаешь прямо из EEPROM прямо в нужную структуру — и всё.

Но есть нюанс: в процессе разработки довольно часто меняется формат этой самой структуры (добавляются новые поля, меняется размер старых, и т.д.). В результате приходится заново инициализировать EEPROM, потому что прочитанные оттуда структуры старого формата не лягут в структуру нового формата.

Захотелось иметь возможность делать резервную копию всех 48 пресетов, которые хранятся в EEPROM. Резервную копию в виде файла на SD-карте (которая всё равно уже есть в системе). И раз уж это будет файл, то пусть он будет текстовым, чтобы его можно было редактировать при необходимости.

Раз так, то не надо изобретать свой велосипед, а надо использовать готовое. Мне нравится формат JSON; там ничего лишнего.

И, оказывается, как раз для меня сделали отличную библиотеку для работы с JSON-файлами: ArduinoJson. Очень рекомендую, если кто-то собирается решать задачу, похожую на мою.

Обожаю, когда не нужно парсить текстовые файлы самостоятельно.

Рис. 1

P.S. Забыл объяснить, что MIDI-система теперь умеет сохранять резервный JSON-файл, и, что более интересно, читать из него пресеты и записывать их обратно в EEPROM. Причем данные могут сохраняться из «старого» формата пресета и восстанавливаться в «новый»; при этом те поля, которых нет в JSON-файле, просто инициализируются значениями по-умолчанию. И теперь мне больше не придётся вручную, по бумажке, восстанавливать настроенные ранее пресеты.

Добавить комментарий