Может ли устройство иметь два драйвера UMDF?
Это может показаться странным вопросом, но мне было интересно, можно ли связать два драйвера с периферийным устройством?
Причина, по которой я спрашиваю, состоит в том, что я создаю устройство ввода для Maya, используя микроконтроллер Arduino. У Arduino уже есть собственный драйвер устройства, но я думал о разработке драйвера UMDF, который бы передавал данные, поступающие из Arduino через последовательный порт, и предварительно обрабатывал их, готовые к отправке в Maya.
Прямо сейчас у меня запущены две программы на Python - 32-битная Python-программа, работающая за пределами Maya, которая прослушивает последовательный порт и преобразует данные в форму, понятную для второй 64-битной программы внутри 64-битной версии Maya. и использовать в сцене майя. Это работает нормально, но немного раздражает необходимость запуска этой программы внешнего сервера каждый раз, когда я хочу использовать это устройство в Maya. Если бы я мог иметь драйвер UMDF, готовый перейти в действие, когда с Arduino поступит соответствующий тип данных, это очень помогло бы. Будет ли этот подход работать?
2 ответа
Это скорее комментарий / предложение, чем ответ, но, возможно, стоило бы потратить некоторое время и проверить, будет ли драйвер фильтра выполнять эту работу за вас. В WDM вы можете поместить его выше драйвера устройства ядра в стеке драйверов для этого устройства и использовать его для предварительной обработки данных вашего устройства. Я думаю, что это также возможно в UMDF.
Вы всегда можете использовать Teensy/Teensyduino вместо Arduino для реализации виртуальной клавиатуры, мыши, джойстика или другого устройства HID. Для этого не требуются драйверы Windows, и доступ к клавиатуре или джойстику из Maya может быть проще, чем через последовательный порт.