mirror of
https://github.com/gdsports/USBHost_t36
synced 2024-11-21 08:35:03 -05:00
Fix hub debounce timer port status requests
This commit is contained in:
parent
86c1bbe6ee
commit
920f71e768
6
hub.cpp
6
hub.cpp
@ -115,11 +115,12 @@ void USBHub::send_getstatus(uint32_t port)
|
||||
{
|
||||
if (port > numports) return;
|
||||
if (can_send_control_now()) {
|
||||
println("getstatus, port = ", port);
|
||||
println("getstatus, port = ", port);
|
||||
mk_setup(setup, ((port > 0) ? 0xA3 : 0xA0), 0, 0, port, 4);
|
||||
queue_Control_Transfer(device, &setup, &statusbits, this);
|
||||
send_pending_getstatus &= ~(1 << port);
|
||||
} else {
|
||||
println("deferred getstatus, port = ", port);
|
||||
send_pending_getstatus |= (1 << port);
|
||||
}
|
||||
}
|
||||
@ -396,8 +397,9 @@ void USBHub::timer_event(USBDriverTimer *timer)
|
||||
println(", timer = ", (uint32_t)timer, HEX);
|
||||
if (timer == &debouncetimer) {
|
||||
uint32_t in_use = debounce_in_use;
|
||||
println("ports in use bitmask = ", in_use, HEX);
|
||||
if (in_use) {
|
||||
for (uint32_t i=1; i < numports; i++) {
|
||||
for (uint32_t i=1; i <= numports; i++) {
|
||||
if (in_use & (1 << i)) send_getstatus(i);
|
||||
}
|
||||
debouncetimer.start(20000);
|
||||
|
@ -27,7 +27,8 @@ USBHost myusb;
|
||||
USBHub hub1;
|
||||
USBHub hub2;
|
||||
USBHub hub3;
|
||||
KeyboardController keyboard;
|
||||
KeyboardController keyboard1;
|
||||
KeyboardController keyboard2;
|
||||
MIDIDevice midi1;
|
||||
|
||||
void setup()
|
||||
|
Loading…
Reference in New Issue
Block a user