Чтение и запись файла конфигурации на Adafruit Circuit Playground Express
Я хотел бы сохранить конфигурацию приложения в файле, хранящемся на флэш-памяти Circuit Playground Express (CPX). Само приложение должно иметь возможность обновлять файл конфигурации. Вещи, которые мне нужно хранить, являются базовыми, например:
- Яркость неопикселя (например, яркость = 0,9)
- Включение/выключение NeoPixels (напр. NP_enable = [0,0,1,0,1,0,1,1,1,1]
ArduinoJason кажется подходящим, но я даже не могу добраться до точки записи файлов в CPX. Предполагается, что библиотеки TinyUSB предоставляют возможность записи в CPX SPI Flash, но я не могу скомпилировать ни один из примеров, включенных в эту библиотеку. Я пытаюсь скомпилировать пример msc_external_flash, поставляемый с библиотекой TinyUSB. Я получаю следующие 2 ошибки:
In file included from /home/pi/Arduino/libraries/Adafruit_TinyUSB_Library/examples/MassStorage/msc_external_flash/msc_external_flash.ino:28:0:
/home/pi/Arduino/libraries/Adafruit_TinyUSB_Library/src/Adafruit_TinyUSB.h:31:2: error: #error TinyUSB is not selected, please select it in "Tools->Menu->USB Stack"
#error TinyUSB is not selected, please select it in "Tools->Menu->USB Stack"
^~~~~
msc_external_flash:65:6: error: #error No QSPI/SPI flash are defined on your board variant.h !
#error No QSPI/SPI flash are defined on your board variant.h !
^~~~~
Выбранная плата - SAMD-->Circuit Playground Express. В меню "Сервис" нет пункта для выбора стека USB.
Что касается второй ошибки, Из msc_external_flash.ino:
#if defined(EXTERNAL_FLASH_USE_QSPI)
Adafruit_FlashTransport_QSPI flashTransport;
#elif defined(EXTERNAL_FLASH_USE_SPI)
Adafruit_FlashTransport_SPI flashTransport(EXTERNAL_FLASH_USE_CS, EXTERNAL_FLASH_USE_SPI);
#else
#error No QSPI/SPI flash are defined on your board variant.h !
#endif
из файлов с именем variant.h этот выглядит лучшим кандидатом: /главная/pi/.arduino15/пакеты/arduino/оборудование/samd/1.8.12/варианты/схема воспроизведения/variant.h
но файл не содержит строки "EXTERNAL_FLASH" или чего-либо, что я вижу, специфичного для CPX.
Версия Arduino 1.8.19, которую я использую на Raspberry Pi 3 B +, работающем под управлением Buster.
Спасибо, Скотт
@user3308886, 👍1
Обсуждение1 ответ
Проблема заключалась в использовании ядра платы Arduino SAMD вместо ядра платы Adafruit SAMD. Ядро платы Adafruit SAMD не будет видно, если вы не добавите: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
в поле "URLS менеджера дополнительных плат:" панели настроек Arduino IDE.
Как только вы это сделаете... Затем установите "Платы Adafruit SAMD" из Arduino IDE Boards Manager. Затем выберите пункт меню: Инструменты -> Правление: --> Платы Adafruit SAMD (32-разрядные ARM Cortext-M0+ и Cortext-M4) -> Adafruit Circuit Игровая площадка Экспресс (SAMD21)
Я не видел эту процедуру ни в одной документации Adafruit.
https://learn.adafruit.com/adafruit-feather-m0-basic-proto/setup, @Juraj
- Не нашел датчик отпечатков пальцев :( Arduino Mega 2560 Adafruit Fingerprint Sensor
- Почему Adafruit motor shield не крутит моторы?
- NodeMCU (Arduino IDE) «DynamicJsonBuffer» не был объявлен в этой области
- Какие компоненты мне нужны маленького GPS-трекера
- Больше не могу прошить ESP8266 (NodeMCU)
- Чтение файла из SPIFFS в nodemcu с использованием ArduinoJson
- Статус выхода 1 ожидаемое первичное выражение перед ']' Arduino
- Получение всех данных моего объекта JSON из Serial.read() сразу
пожалуйста , опишите проблему и задайте вопрос ... этот сайт не является форумом, @jsotola
[Ардуиноджсон](https://arduinojson.org /) имеет пример, который считывает файл конфигурации с SD-карты. See [JsonConfigFile.ino](https://arduinojson.org/v6/example/config/). Вы можете легко адаптировать его для любой другой файловой системы, такой как SPIFFS и LittleFS., @Benoit Blanchon
установите ядро Adafruit SAMD core. похоже, вы используете ядро Arduino SAMD, которое имеет только базовую поддержку платы Adaruit, @Juraj
Выбранная плата - SAMD-->Circuit Playground Express. Я могу запустить другие примеры CPX, такие как IRNeoPixels, я предполагаю, что у меня есть ядро Adafruit SAMD., @user3308886
да, но вы не можете скомпилировать фирменные блюда Adafruit с ядром Arduino SAMD, @Juraj