Данная статья черновая. Здесь будут публиковаться полезные ссылки и промежуточные результаты.
Проектируя своего робота, я выбирал интерфейс между отдельными модулями робота (платы управления и переферийными устройствами). Самым лучшим на тот момент мне показался итерфейс i2c. При минимальном количестве проводов шина поддерживает подключение сразу нескольких устройств и работу на довольно приличной скорости (400 кБит/с). К тому же многие уже готовые модули (акселерометры, гироскопы, сонары) имеют выход i2c.
Но не всё оказалось так просто, как казалось...
В результате определённых усилий были написаны собственный драйверы шины i2c (да... люблю я изобретать велосипед).
На данный момент всё работает, но немного не так как хотелось бы, и уже достаточно трудно что-то улучшать/переделывать.
Хотелось бы создать некую систему универсальных драйверов для простого использования.
Планируется:
В результате должен получится набор драйверов, позволяющий без существенный усилий общаться между AVR-микроконтроллером и Linux-хостом по более высокоуровневому протоколу с возможностью контроля ошибок.
Если у вас есть какая-нибудь информация по данной теме. Или мысли, или собственные решения. То, пожалуйста, оставляйте комментарии к статье, или пишите.
Надеюсь, что общими усилиями можно разработать что-то удобное и унивесальное.