Подключение Vive Tracker к Arduino Nano/Mini через USB Host-shield 2.0
- Войдите на сайт для отправки комментариев
Доброе утро!)
Возникла необходимость подключиться к Vive трекеру с помощью Arduino Pro-mini + UsbHost module.
Тестовый код отлично отлично работает на Arduino Due (т.к. на борту платы имеется встроенный usb-host).
Однако тестовый пример подключения трекера к плате завязан на старой версии Usb_Host и компилироваться на
связке: Arduino Pro-mini(плата) + UsbHost module(железо)+ USB_Host_Shield_2.0(софт) не хочет.
Я прошелся по логу ошибок и выяснил, что для успешного запуска понадобится лишь переписать ViveTrackerController.h из старой библиотеки и изменить пару переменных в тестовом проекте.
Копаю ViveTrackerController.h, постепенно исчезает ошибка за ошибкой, и надеюсь получится за пару недель допилить.
И всеже прошу вашей поддержки и помощи с кодом. Для моего уровня это не так легко как хотелось бы (не имел опыта работы с usb интерфейсом), и если кому-либо это задача на 15 минут буду очень благодарен за помощь!)
Скопируйте сюда лог ошибок компилятора. А то у вас какой то пустой вопрос - просто просьба сделать, только "тапками закидают".
Вот часть ошибок. В основном это разность в количестве аргументов.
найдите поиском в вашем проекте где определяются константы
HID_PROTOCOL_NONE
HID_NONE_SUBCLASS
типа: #define HID_PROTOCOL_NONE bla-bla-bla
Вообще это определено в файле hid.h, по какой причине вы его не подключили к своему проекту я не знаю
Они есть в старой версии драйверов.
а нет) нашел и в новой, но класс имеет другое имя и переменные тоже немного отличаются:
hid.h (старая) = usbhid.h (новая версия)
HID_PROTOCOL_NONE = USB_HID_PROTOCOL_NONE
Нужные хэдеры подключил и имена переменных поправил. Теперь следующее:
Я так подозреваю, что вы какой то файл проекта заменили на похожий из другого проекта, переименовав его или еще как то. Но файлы эти совсем разные и функции описанные в них тоже совсем разные. Тут будет все не просто, я не смогу помочь - не обладаю таким количеством времени, может найдется кто то другой. В любом случае нужно вникать в логику прграммы править обращение к функциям, но не технически, а именно логически.
Все равно спасибо) Буду копать дальше
P.s: написал автору исходника на reddit. Надеюсь ответит.
Вроде избавился от всех ошибок. Все скомпилилось и загрузилось в плату, но подключение молчит.
Пока в тупике...
После пролистывания некоторой литературы таки смог запустить соединение и отправку.
Тема закрыта. Кому понадобится - пользуйтесь на здоровье.
P.s: для работы необходима библиотека USB_Host_Shield_2.0 и железяка
Последовательность запуска:
1. Подключить Vive-трекер к USB-хосту
2. Включть плату
Если трекер будет подключен не сразу, то отправка может не работать, но кому понадобится - допишет систему реконнекта.