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

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

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

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

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

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

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

  • Спасли!

    Предполагается, что перегруженная мигрантами лодка прибыла к берегам Италии из Ливии, на ней было немало женщин и детей. И в самом деле, глядя на…

  • Разбился самолёт с парашютистами.

    Звучит как начало чернушного анекдота, типа "сгорела пожарная часть" или "чиновник сел за растрату".. эхм... Но - нет, это совсем не анекдот, люди…

  • Выражайтесь свободнее

    В октябре прошлого года учитель средней школы в пригороде Парижа Самюэль Пати, также показавший своим ученикам карикатуру на Мохаммеда в рамках…

  • 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