По ходу это у меня времени нет - я так и не протестировал
![Smile :)](http://roboforum.ru/images/smilies/smile.gif)
Ладно, вернемся к ключевой задаче - смена протокола и парсеров в ORFA. А то уже месяц прошел, а не сдвинулись нисколько.
На чем остановились:
Каждый парсер имеет следующие обязательные поля\методы:
1. Символ, на который должны начинаться команды для этого парсера;
2. Ссылка на таблицу поддерживаемых UID'ов;
3. Ссылка на строку короткой подсказки по синтаксису парсера;
4. Ссылка на строку полного описания синтаксиса парсера;
5. Ссылка на функцию парсинга очередного символа (изначально в неё передаётся символ 0х00, при начале команды, а в конце передается символ "\n" - окончание команды);
Обычному парсеру команд для работы предоставляются функции:
1. Получения UID'а драйвера который на текущем контроллере ему доступен, либо возвращается 0 если никакой не подошел;
2. Выполнения i2c запроса без указания i2c-адреса получателя (он известен на более высоком уровне и тут не нужен) и в относительной нумерации регистров (т.е. начальный регистр обычному парсеру не нужен);
Служебным парсерам дополнительно предоставляются функции:
1. Определения текущего i2c-адреса;
2. Назначения UID'ов драйверов другим парсерам по каждому контроллеру;
3. Определение начальных регистров другим парсерам по каждому контроллеру;
4. Управление настройками i2c - выбор скорости, выбор своего i2c-адреса;
Добавлено спустя 28 минут 1 секунду:Сейчас создам с помощью Vooon'а ветку в репозитарии, буду там новый парсер развивать.