A bit of a surprise, but I have a Teensy 3.6-based mouse (i.e. USB HID device) which works fine on windows machines. I also have an Arduino Due-based USB host, which is running the Arduino-official USBhost library (the inner code is labelled with the CircuitsAtHome signature). When I connect any generic mouse to the Due USBhost, it works fine. Amazon mouse--fine. Any gaming mouse--fine. But the only USB mouse that I've found that *doesn't* work with USBhost is my Teensy mouse.
I thought it might have something to do with all the extra interfaces and endpoints (i.e. mouse is bundled with keyboard and joystick and serial) that Teensy presents, but after much pain of eliminating the the keyboard and joystick, it still does not connect. USBhost internally runs into a problem where bNumEP=1, and if bNumEP is not 2, it declares ERROR, device not supported.
I tried with both a Teensy LC and Teensy 3.6, same problem same error in both cases. I've tried all the other USB type menu selections for Teensy that include mouse, same error.
The Due is running the built-in examples/USBhost/MouseController.ino with an OTG cable on the native USB port (works fine with other mice). The Teensy LC or 3.6 is running a simple demo code that sends a mouse movement of 5 pixels every 2 seconds. (The problem occurs when you first plug in the Teeny mouse into the USBhost.) Should be very easy for anyone to reproduce.
I'm aware that there are other USBhosts I could use (like the USBhost_t36 library), but I'm looking for something super-cheapo. Plus, it's curious to me that such a widely-used host library would fail with such a widely-used USB device platform.
Can anyone else duplicate/explain this? I would also be interested if anyone knows of a different low-cost $12-ish USBhost library/platform that *does* work with Teensy HID devices.
Many thanks,
Phil
I thought it might have something to do with all the extra interfaces and endpoints (i.e. mouse is bundled with keyboard and joystick and serial) that Teensy presents, but after much pain of eliminating the the keyboard and joystick, it still does not connect. USBhost internally runs into a problem where bNumEP=1, and if bNumEP is not 2, it declares ERROR, device not supported.
I tried with both a Teensy LC and Teensy 3.6, same problem same error in both cases. I've tried all the other USB type menu selections for Teensy that include mouse, same error.
The Due is running the built-in examples/USBhost/MouseController.ino with an OTG cable on the native USB port (works fine with other mice). The Teensy LC or 3.6 is running a simple demo code that sends a mouse movement of 5 pixels every 2 seconds. (The problem occurs when you first plug in the Teeny mouse into the USBhost.) Should be very easy for anyone to reproduce.
I'm aware that there are other USBhosts I could use (like the USBhost_t36 library), but I'm looking for something super-cheapo. Plus, it's curious to me that such a widely-used host library would fail with such a widely-used USB device platform.
Can anyone else duplicate/explain this? I would also be interested if anyone knows of a different low-cost $12-ish USBhost library/platform that *does* work with Teensy HID devices.
Many thanks,
Phil