ORFA
I2C-gate — это модульная прошивка для шлюз-контроллеров Open Robotics.
Находится в разработке. На данный момент поддерживает только микроконтроллеры семейства AVR Mega.
На данный момент состоит из монолитного шлюза UART<->I2C и модульного виртуального подчиненного устройства на шине I2C.
При таком подходе ПК обращается к блокам МК как и к любым другим устройствам на шине i2c, что дает унификацию. А при некоторой доработке виртуального слейва можно сделать прошивку для второго шлюз-контроллера, управляемого через i2c.
Те можно достаточно малой кровью получить хорошо расширяемую систему.
Взаимодействие модулей подчиненного устройсва основано на регистровой модели, т.е. каждый драйвер устройства связан с определенным набором адресов ячеек.
Приблизительно внутреннюю структуру можно понять из диаграммы: