USB Host. Распознаются НЕ все мышки.

Нет ответов
dim3740
dim3740 аватар
Offline
Зарегистрирован: 25.03.2015

UNO + USBHost. Успешно читаю нажатие кнопок мышки Logitech, воткнутой в ЮСБХост.  Но, надо прочитать другую, которую скетч не видит((  Дискрипторы сравнивал, могу выложить скрин. "Другую" видит скетч USBHID_demo, но он юзает 81% памяти. Прилагаю рабочий код для Logitech (30% памяти) USBHid_boot_Mouse, который я еще немного упростил. Как его запустить для другой мышки, или как "облегчить" USBHID_demo?

#include <hidboot.h>  // нужна только одна библиотека!!

class MouseRptParser : public MouseReportParser  {
protected:   // свойства, которые наследуются
	void OnMouseMove	(MOUSEINFO *mi);
	void OnLeftButtonUp	(MOUSEINFO *mi);
	void OnLeftButtonDown	(MOUSEINFO *mi);
	void OnRightButtonUp	(MOUSEINFO *mi);
	void OnRightButtonDown	(MOUSEINFO *mi);
	void OnMiddleButtonUp	(MOUSEINFO *mi);
	void OnMiddleButtonDown	(MOUSEINFO *mi);
};
USB     Usb;  
HIDBoot<USB_HID_PROTOCOL_MOUSE> HidMouse(&Usb);  
MouseRptParser  Prs; 

void setup()
{
    Serial.begin( 115200 );
    Serial.print("старт");
    Usb.Init();
    HidMouse.SetReportParser(0, &Prs); 
}

void loop()
{
  Usb.Task();
}

void MouseRptParser:: OnLeftButtonUp (MOUSEINFO *mi)  
{
    Serial.print("L=");
    Serial.println("L Butt Up");
};