Давайте по порядку.
wiki/ORFA_Introspection_driverРассмотрим ваш пример:
"Определяем сколько драйверов в устройстве.
Запрос: L40
Ответ: L40
Первый запрос - L40 - установить адрес локального устройства в 0x40. Ответ - L40 - адрес установлен. (Можно не делать, если вы уже установили адрес локального устройства ранее)."
1. Что такое "адрес локального устройства" и почему его можно установить в значение 0x40.
2. Кстати, это в Hex?
3. Какой допустимый диапазон адресов устройств?
4. Какому устройству посылаются все команды ORFA? Только мастеру и он пересылает после парсинга командной строки нужные Slave-устройствам если такие есть или в них тоже как-то можно напрямую посылать команды?
"Запрос: S40 00 00 S41 01 P
Ответ: SWAASR06P
Второй запрос - S40 00 00 - отправим в устройство 0x40 номер регистра 00 и тип запроса 00 - получить количество драйверов, S41 01 - получить ответ 1 байт, P - конец запроса. Ответ: SW - начали запись в устройство, AA - подтверждения записи 2 байт в устройство, SR - начали получать ответ от устройства, 06 - получили 1 байт ответа (количество драйверов), P - конец ответа."
5. Какую роль выполняет в устройстве 0x40 регистр с номером 00?
6. Где полный список типов запросов?
7. S41 - а этот адрес устройства откуда вылез? Или за устройством 40 сразу закрепляется какая-то зона адресов - 40, 41.... ? Каков тогда стандартный список такой зоны?
8. P - конец ответа. Тогда какова максимальная длина ответа в байтах или в количестве отдельных ответов?
9. Компьютер должен обязательно дождаться получения подтверждения конца ответа прежде чем давать новый запрос?