ORFA Introspection driver — различия между версиями
=DeaD= (обсуждение | вклад) (→Драйвер интроспекции) |
=DeaD= (обсуждение | вклад) (→Драйвер интроспекции) |
||
Строка 38: | Строка 38: | ||
То есть все регистры драйвера это интервал <code>(Start Register)..(Start Register + Count of registers - 1)</code> | То есть все регистры драйвера это интервал <code>(Start Register)..(Start Register + Count of registers - 1)</code> | ||
|} | |} | ||
+ | |||
+ | ===Примеры=== |
Версия 16:07, 23 июня 2009
Драйвер интроспекции
Cпециальнsq драйвер в ядре, который закреплен на регистре 0x00.
Типы запросов (регистр, данные…):
00 00
— запросить количество драйверов, нужно прочитать 1 байт00 nn
— запросить информацию о драйвере nn, нужно прочитать 6 байт
Структура информации в ответе на запрос 00 nn
:
Байт | Название | Комментарий |
---|---|---|
0, 1 | UID | Уникальный идентификатор драйвера.
Может быть получен у команды проекта «Open Robotics». Таблица уже выданных идентификаторов. Для личного использования зарезервирован диапазон адресов с первым байтом 0xFF. |
2 | Major Version | Старший номер версии |
3 | Minor Version | Младший номер версии |
4 | Start Register | Номер начального регистра |
5 | Count of registers | Количество регистров
То есть все регистры драйвера это интервал |