‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

Category:

Да здравствует унификация интерфейсов.

Покуда писал код для одной не очень сложной железяки, упёрся в смешную проблему.

В качестве транспортной среды внутри наших аппаратов мы почти безвариантно используем CAN - удобная штука, когда нужно связать несколько несложных блоков и добиться от них быстрой предсказуемой реакции на изменение обстановки.

Но размер пакета в 8 байт - это маловато для некоторых приложений. И когда количество передаваемых кодовых сообщений доросло до примерно 20 разновидностей (и все надо как-то парсить, но все немного по-разному), я решил: всё, баста. Надо как-то обойти это ограничение, не меняя низкоуровневую структуру.

За день-другой написал простенький код, смысл коего сводится к инкапсуляции длинных пакетов внутрь маленьких - причём с учётом того, что порядок прибытия кадров CAN к приёмнику не обязательно совпадает с порядком их отсылки передатчиком (из-за коллизий на шине часть сообщений может и задержаться). Испытал пересылкой полных пакетов с телеметрией, вроде как надо пашет. Полученные данные распихиваются по соответствующим структурам - получается парсинг без парсинга, почти что тот самый RPC (не церковь, а Remote Procedure Call, "удалённый вызов процедур").

Вот и посмотрим, как наша высокая программисткая наука справится с таким протоколом... хехе.
Subscribe

  • Пополнение: XHDATA D-808

    Купил себе вышеозначенный приёмничек. Мне достался экземпляр с белой подсветкой. Вообще-то, у меня уже есть Degen DE-1103, но захотелось вот…

  • Работают все радиостанции

    т.к. моё радио я, наверное, не доделаю вообще никогда, заказал себе нечто под названием HackRF. Интересно будет попробовать. Ну и вообще.

  • worklog: очарование аналоговой схемотехники

    Эти самые "токовые зеркала", оказывается, любопытнейшая вещь. С их помощью можно, например, организовать замер напряжения отдельных ячеек в…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 9 comments