Size: a a a

2020 April 22

r

r44083 in Deus Volt!
Thorn
что хотите улучшить? расход памяти? исключить попытки использовать пакет неправильного типа?
Хочу получить удобное API
источник

GB

Grzegorz Brzęczyszcz... in Deus Volt!
Или тут нужна идентификация пакетов?
источник

r

r44083 in Deus Volt!
Grzegorz Brzęczyszczykiewicz
А нету желания сделать как NMEA?
Так там же нет одновременного приёма по нескольким каналам
источник

r

r44083 in Deus Volt!
Grzegorz Brzęczyszczykiewicz
Или тут нужна идентификация пакетов?
Что такое идентификация пакетов?
источник

GB

Grzegorz Brzęczyszcz... in Deus Volt!
r44083
Что такое идентификация пакетов?
Понять что от какого передатчика приходит
источник

T

Thorn in Deus Volt!
можно отдавать юзеру tagged union
источник

r

r44083 in Deus Volt!
Grzegorz Brzęczyszczykiewicz
Понять что от какого передатчика приходит
Ну по сути да, пользователь должен знать, на какой канал был принят пакет
источник

T

Thorn in Deus Volt!
можно сделать отдельный callback для каждого типа пакета
источник

r

r44083 in Deus Volt!
Thorn
можно сделать отдельный callback для каждого типа пакета
С коллбеками не удобно, так как я использую RTOS
источник

GB

Grzegorz Brzęczyszcz... in Deus Volt!
r44083
Ну по сути да, пользователь должен знать, на какой канал был принят пакет
Количество датчиков расширяемое?
источник

r

r44083 in Deus Volt!
В идеале что-то типа POSIX read()
источник

r

r44083 in Deus Volt!
Grzegorz Brzęczyszczykiewicz
Количество датчиков расширяемое?
Ну у меня есть объект для работы с этим модулем. Если вы про количество каналов на одном модуле - то да: может быть в работе один канал или больше или вообще 0
источник

T

Thorn in Deus Volt!
r44083
В идеале что-то типа POSIX read()
он же работает над потоком байтов без структуры
источник

r

r44083 in Deus Volt!
Thorn
он же работает над потоком байтов без структуры
Да, просто написал про это, что бы дать понять, что коллбеки тут не нужны
источник

T

Thorn in Deus Volt!
какой api вы хотите получить? ждать_семафора(); var данные = получить_данные(); дальше_обработка(данные); ?
источник

r

r44083 in Deus Volt!
Thorn
какой api вы хотите получить? ждать_семафора(); var данные = получить_данные(); дальше_обработка(данные); ?
Я хочу получить блокирующее чтение (ожидание события от модуля с помощью RTOS) - это уже есть.
В цикле вызывать read() и получать данные последовательно от всех каналов приёма по факту
источник

r

r44083 in Deus Volt!
источник

r

r44083 in Deus Volt!
Что-то типа такого, только что бы было удобно и безопасно. Хочу сделать поддержку разных payload_size (не только 32 байта)
источник

T

Thorn in Deus Volt!
r44083
ничего не понял. зачем принятый пакет сразу затирается нулями?
источник

r

r44083 in Deus Volt!
Но как я уже понимаю, передавать нужно всегда буфер 32 байта - потому что мы не знаем на какой канал может прийти пакет
источник