Skip to content

R2AKT/R2AKT_Packet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT

R2AKT_Packet

R2AKT_Packet - библиотека обмена данными в пакетном режиме. Используются библиотеки R2AKT_CRC, R2AKT_Esc_DeEsc, R2AKT_COBS.

Позволяет передавать данные по общей шине (RS-485, любая симплексная среда) между 254 устройствами. Адресация*: - 0x00 - ведущий (Master); - 0x01 - 0xFE - ведомые (Slave); - 0xFF - Широковещательный (Broadcast). *Роль ведущего может исполнять устройство с любым адресом, но ведущим в единый момент времени должно быть ТОЛЬКО одно устройство.

Адрес устройства, максимальный размер данных, порт (аппаратный или программный) и скорость обмена, вывод отвечающий за переключение приёмо-передатчика и/или индикатор активности указывается при создании объекта.

Адрес в процессе работы не меняется, при использовании низкоуровневых функций задаётся в отправляемых данных (RAW), как и CRC16.

Отправка данных осуществляется с блокированием (на всё время от момента поднятия сигнала передачи до момента снятия сигнала передачи), чтение возможно как в режиме опроса (по умолчанию), так и в режиме блокирования (опционально задаётся при создании объекта или при вызове соответствующих функций чтения).

Отправка данных до 250 байт возможна в режиме COBS или KISS (SLIP) на выбор, при указании максимального размера отправляемых данных более 250 байт автоматически выбирается режим KISS (SLIP), т.к. в режиме COBS передача более 255 байт с учётом накладных расходов не возможна. Режим задаётся при создании объекта, не меняется при работе.

Пользовательские данные проверяются на искажение с помощью CRC16.

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

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

Совместима со всеми платформами Arduino, для совместимости с остальными платформами требуется изменение функций работы с аппаратными/программными портами UART.

Пример

Примеры смотри в examples!

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

При нахождении багов создавайте Issue.
Библиотека открыта для доработки и ваших Pull Request'ов!

About

Packet exchange implementation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages