Skip to content

GyverLibs/GyverBus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

latest PIO Foo Foo Foo

Foo

GyverBus

Библиотека для общения по протоколу GBUS

  • Очень простой, надёжный, устойчивый к помехам и задержкам, но медленный интерфейс связи на базе UART
  • Двухсторонняя связь по одному проводу
  • Асинхронная отправка и чтение (на базе millis())
  • Двухсторонняя совместимость с аппаратным UART
  • Возможность принимать и отправлять данные внутри сети Ардуинок
  • Адресация до 254 устройств в сети (от 1 до 255)
  • Всеядная функция отправки и приёма (ест переменные, структуры, массивы)
  • Встроенная проверка CRC (контроль целостности) пакета данных
  • Возможность отправки и чтения короткого "запроса"
  • Поддерживаются все Arduino-совместимые платы
  • Сама библиотека предоставляет возможности по отладке (коды ошибок)
  • В примерах есть компактные варианты чтения и отправки данных, влезет даже в ATtiny

Совместимость

Совместима со всеми Arduino платформами (используются Arduino-функции)

Документация

К библиотеке есть расширенная документация

Содержание

Установка

  • Библиотеку можно найти по названию GyverBus и установить через менеджер библиотек в:
    • Arduino IDE
    • Arduino IDE v2
    • PlatformIO
  • Скачать библиотеку .zip архивом для ручной установки:
    • Распаковать и положить в C:\Program Files (x86)\Arduino\libraries (Windows x64)
    • Распаковать и положить в C:\Program Files\Arduino\libraries (Windows x32)
    • Распаковать и положить в Документы/Arduino/libraries/
    • (Arduino IDE) автоматическая установка из .zip: Скетч/Подключить библиотеку/Добавить .ZIP библиотеку… и указать скачанный архив
  • Читай более подробную инструкцию по установке библиотек здесь

Обновление

  • Рекомендую всегда обновлять библиотеку: в новых версиях исправляются ошибки и баги, а также проводится оптимизация и добавляются новые фичи
  • Через менеджер библиотек IDE: найти библиотеку как при установке и нажать "Обновить"
  • Вручную: удалить папку со старой версией, а затем положить на её место новую. "Замену" делать нельзя: иногда в новых версиях удаляются файлы, которые останутся при замене и могут привести к ошибкам!

Инициализация

См. документацию

Использование

См. документацию

Пример

См. документацию

Версии

  • v1.1: добавлена waitAck() и исправлена ошибочка
  • v1.2: улучшена стабильность, функции оптимизированы, уменьшен вес
  • v1.3: добавлен CRC в запрос и ответ
  • v2.0:
    • Куча оптимизации
    • Логика работы переделана. Теперь GBUS работает для всех uart-библиотек
    • Однопроводной uart вынесен отдельным классом
    • Добавлена совместимость с esp8266
    • Переделана вся инициализация, смотри примеры!
    • Добавлены утилиты и примеры
  • v2.1: вернул getStatus
  • v2.2: небольшие багфиксы и оптимизация
  • v2.3: добавлена возможность отправки широковещательного сообщения (всем), отправлять на адрес 255
  • v2.4: исправлены ошибки, добавлена bool statusChanged() для GBUS
  • v2.5: добавил пример с GyverTransfer, добавил смену адреса
  • v2.6: мелкие фиксы

Баги и обратная связь

При нахождении багов создавайте Issue, а лучше сразу пишите на почту alex@alexgyver.ru
Библиотека открыта для доработки и ваших Pull Request'ов!

При сообщении о багах или некорректной работе библиотеки нужно обязательно указывать:

  • Версия библиотеки
  • Какой используется МК
  • Версия SDK (для ESP)
  • Версия Arduino IDE
  • Корректно ли работают ли встроенные примеры, в которых используются функции и конструкции, приводящие к багу в вашем коде
  • Какой код загружался, какая работа от него ожидалась и как он работает в реальности
  • В идеале приложить минимальный код, в котором наблюдается баг. Не полотно из тысячи строк, а минимальный код

About

Библиотека для общения по протоколу GBUS

Resources

License

Stars

Watchers

Forks

Packages