Spi h esp32: arduino-esp32/esp32-hal-spi.h at master · espressif/arduino-esp32 · GitHub

Создание анализатора SPI для ESP32 | Подробности

Как вы могли прочитать в последнем сообщении журнала, если вы следите за этим проектом, я медленно кодирую новый компонент IDF, который будет действовать как драйвер электронной бумаги.
И в этом процессе я занимаюсь реинжинирингом GxEPD, библиотеки, которую мы фактически используем в прошивке CALE.
Фактическая ветка:

https://github.com/martinberlin/cale-idf/tree/refactor/oop

Поскольку я рефакторинг части ООП. При этом я обнаружил, что даже при отправке тех же команд и данных SPI, что и GxEPD, некоторые модели отказываются работать. Мой отец придумал отличную идею:

Если у вас есть смелость перепроектировать существующую библиотеку, сделайте это хорошо!
Добавьте сниффер ESP32 SPI Slave и проверьте, что именно получает дисплей Epaper.

Итак, я приложил свои руки к работе:

Это в основном настройка, один помечен как Ein — это подчиненный SPI, а другой ESP32 — ведущий. Теперь это будет не так просто, как найти существующий работающий код и изменить его под свои нужды. Впервые попробовал с собственным примером ведомого SPI Espressif в структуре IDF. По какой-то причине, в основном потому, что я все еще новичок в фреймворке, это не сработало. А затем нашел версию Arduino-framework, которая устарела и не скомпилировалась. Итак, я исправил это:
https://github.com/martinberlin/esp32-spi-slave

Теперь сделать подчиненный SPI с чипом на базе процессора — задача не для слабонервных. Не является собственным ведомым устройством SPI и, согласно документации Espressif

, периферийные устройства ESP32 SPI slave разработаны как устройства общего назначения.
управляется центральным процессором. В отличие от выделенных ведомых устройств, SPI на базе ЦП
Устройства имеют ограниченное количество предопределенных регистров. Все транзакции
должен обрабатываться ЦП, что означает, что передачи и
ответы не в режиме реального времени, и может быть заметная задержка.

Так и есть! Кроме того, если вы хотите сделать это в режиме реального времени и вывести результаты через последовательный порт, вы будете ограничены скоростью UART, поэтому идея заключалась в том, чтобы сделать UART высоким, например, 500000 вместо 115200 по умолчанию, а также понизить скорость SPI. мастер.

Он работает, но все еще теряет 1 или 2 байта каждые 44, что все равно нехорошо. В пути обнаружил некоторые странности, вроде 0x78 байт, который не отправляется мастером (иначе epapers работать не будет) а также непростая задача определения что такое CMD ( в GxEPD команда ставит дополнительно DC — data command GPIO низкий для отправки и высокий после отправки) DATA устанавливает низкий/высокий только вывод SS (CMD переключает оба SS и DC для отправки)
Сделать это в режиме реального времени непросто. Кроме того, я получил дешевый логический анализатор, который поможет мне выяснить, почему некоторые из моих электронных документов не будут обновляться с моим собственным классом.

Если вас это интересует, проверьте репозиторий CALE-IDF, который начинает формироваться, и вскоре будет компонент, драйвер электронной бумаги CalEPD, отсоединенный и помещенный в собственный репозиторий, чтобы другие люди могли его использовать.

Добро пожаловать в WLED — проект WLED

Быстрая и многофункциональная реализация веб-сервера ESP8266/ESP32 для управления светодиодами NeoPixel (WS2812B, WS2811, SK6812) или наборами микросхем на основе SPI, такими как WS2801 и APA102!

⚙️ Особенности

  • Встроенная библиотека WS2812FX для более чем 100 спецэффектов
  • Шумовые эффекты FastLED и 50 палитр
  • Современный пользовательский интерфейс с элементами управления цветом, эффектами и сегментами
  • Сегменты для установки различных эффектов и цветов для частей светодиодов
  • Страница настроек — конфигурация по сети
  • Режим точки доступа и станции — автоматическая отказоустойчивая точка доступа
  • До 3 светодиодных выходов на экземпляр ESP8266 и 10 светодиодных выходов на экземпляр ESP32
  • Поддержка полос RGBW
  • До 250 пользовательских пресетов для простого сохранения и загрузки цветов/эффектов, поддержка циклического переключения между ними.
  • Предустановки можно использовать для автоматического выполнения вызовов API
  • Функция ночного освещения (постепенное уменьшение яркости)
  • Полное обновление программного обеспечения OTA (HTTP + ArduinoOTA), защита паролем
  • Настраиваемые аналоговые часы + поддержка комплекта Cronixie от Diamex
  • Настраиваемый предел автоматической яркости для более безопасной работы
  • Конфигурация на основе файловой системы для упрощения резервного копирования пресетов и настроек
  • Интеграция с собственным домашним помощником:

💡 Поддерживаемые интерфейсы управления освещением

  • Приложение WLED для Android и iOS
  • API запросов JSON и HTTP
  • MQTT
  • Блинк Интернет вещей
  • E1.31, Art-Net, DDP и TPM2.net
  • Гиперион
  • UDP в реальном времени
  • Голосовое управление Alexa (включая затемнение и цвет)
  • Синхронизация с лампами Philips Hue
  • Adalight (подсветка ПК через последовательный порт) и TPM2
  • Цвет синхронизации нескольких устройств WLED (уведомитель UDP)
  • Инфракрасные пульты (24 клавиши RGB, требуется приемник)
  • Простые таймеры/расписания (поддерживается время по NTP, часовые пояса/летнее время)

📲 Краткое руководство и документация

См. начальную страницу!

На этой странице вы найдете отличные учебные пособия, созданные сообществом, и полезные инструменты, которые помогут вам настроить и запустить новую лампу!

🖼️ Пользовательский интерфейс

💾 Совместимое оборудование

Смотрите здесь!

✌️ Другое

Под лицензией MIT
Кредиты здесь!

Присоединяйтесь к серверу Discord, чтобы обсудить все о WLED!

Посетите форум WLED Discourse!
Вы также можете отправлять мне письма на адрес [email protected], но делайте это только в том случае, если хотите поговорить со мной наедине.
Если WLED действительно скрашивает каждый день, вы можете

Отказ от ответственности

Если вы чувствительны к светочувствительной эпилепсии, не рекомендуется использовать это программное обеспечение.
Если вы все еще хотите попробовать, не используйте режимы стробоскопа, освещения или шума или настройки высокой скорости эффекта.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *