adafruit / Adafruit_TinyUSB_Arduino

Arduino library for TinyUSB
MIT License
449 stars 119 forks source link

My mouse is not working properly in the example of hid_device_report.ino, as it is unable to output data for the scroll wheel #427

Open FBMNBAWA opened 1 month ago

FBMNBAWA commented 1 month ago

Operating System

Windows 10

Arduino IDE version

2.3.2

Board

rp2040

ArduinoCore version

new

TinyUSB Library version

new

Sketch as ATTACHED TXT

/***** Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!

MIT license, check LICENSE for more information Copyright (c) 2019 Ha Thach for Adafruit Industries All text above, and the splash screen below must be included in any redistribution *****/

/* This example demonstrates use of both device and host, where

// USBHost is defined in usbh_helper.h

include "usbh_helper.h"

if defined(CFG_TUH_MAX3421) && CFG_TUH_MAX3421

//--------------------------------------------------------------------+ // Using Host shield MAX3421E controller //--------------------------------------------------------------------+ void setup() { Serial.begin(115200);

// init host stack on controller (rhport) 1 USBHost.begin(1);

// while ( !Serial ) delay(10); // wait for native usb Serial.println("TinyUSB Dual: HID Device Report Example"); }

void loop() { USBHost.task(); Serial.flush(); }

elif defined(ARDUINO_ARCH_RP2040)

//--------------------------------------------------------------------+ // For RP2040 use both core0 for device stack, core1 for host stack //--------------------------------------------------------------------+

//------------- Core0 -------------// void setup() { Serial.begin(115200); //while ( !Serial ) delay(10); // wait for native usb Serial.println("TinyUSB Dual: HID Device Report Example"); }

void loop() { Serial.flush(); }

//------------- Core1 -------------// void setup1() { // configure pio-usb: defined in usbh_helper.h rp2040_configure_pio_usb();

// run host stack on controller (rhport) 1 // Note: For rp2040 pico-pio-usb, calling USBHost.begin() on core1 will have most of the // host bit-banging processing works done in core1 to free up core0 for other works USBHost.begin(1); }

void loop1() { USBHost.task(); }

endif

extern "C" {

// Invoked when device with hid interface is mounted // Report descriptor is also available for use. // tuh_hid_parse_report_descriptor() can be used to parse common/simple enough // descriptor. Note: if report descriptor length > CFG_TUH_ENUMERATION_BUFSIZE, // it will be skipped therefore report_desc = NULL, desc_len = 0 void tuh_hid_mount_cb(uint8_t dev_addr, uint8_t instance, uint8_t const *desc_report, uint16_t desc_len) { (void) desc_report; (void) desc_len; uint16_t vid, pid; tuh_vid_pid_get(dev_addr, &vid, &pid);

Serial.printf("HID device address = %d, instance = %d is mounted\r\n", dev_addr, instance); Serial.printf("VID = %04x, PID = %04x\r\n", vid, pid); if (!tuh_hid_receive_report(dev_addr, instance)) { Serial.printf("Error: cannot request to receive report\r\n"); } }

// Invoked when device with hid interface is un-mounted void tuh_hid_umount_cb(uint8_t dev_addr, uint8_t instance) { Serial.printf("HID device address = %d, instance = %d is unmounted\r\n", dev_addr, instance); }

// Invoked when received report from device via interrupt endpoint void tuh_hid_report_received_cb(uint8_t dev_addr, uint8_t instance, uint8_t const *report, uint16_t len) { Serial.printf("HIDreport : "); for (uint16_t i = 0; i < len; i++) { Serial.printf("0x%02X ", report[i]); } Serial.println(); // continue to request to receive report if (!tuh_hid_receive_report(dev_addr, instance)) { Serial.printf("Error: cannot request to receive report\r\n"); } }

} // extern C

Compiled Log as ATTACHED TXT

nope

What happened ?

My mouse is not working properly in the example of hid_device_report.ino, as it is unable to output data for the scroll wheel

How to reproduce ?

Perhaps you won't be able to reproduce this bug, my mouse is Zhuowei EC2

Debug Log

No response

Screenshots

8CEY X7R)5H($)(2U5_4DN5 8CEY X7R)5H($)(2U5_4DN5