* This supports two cascaded hubs and four keyboards
*/
USB usb_host;
-USBHub hub1(&usb_host);
-USBHub hub2(&usb_host);
HIDBoot<HID_PROTOCOL_KEYBOARD> kbd1(&usb_host);
HIDBoot<HID_PROTOCOL_KEYBOARD> kbd2(&usb_host);
HIDBoot<HID_PROTOCOL_KEYBOARD> kbd3(&usb_host);
KBDReportParser kbd_parser2;
KBDReportParser kbd_parser3;
KBDReportParser kbd_parser4;
+USBHub hub1(&usb_host);
+USBHub hub2(&usb_host);
extern "C"
void led_set(uint8_t usb_led)
{
- kbd1.SetReport(0, 0, 2, 0, 1, &usb_led);
- kbd2.SetReport(0, 0, 2, 0, 1, &usb_led);
- kbd3.SetReport(0, 0, 2, 0, 1, &usb_led);
- kbd4.SetReport(0, 0, 2, 0, 1, &usb_led);
+ if (kbd1.isReady()) kbd1.SetReport(0, 0, 2, 0, 1, &usb_led);
+ if (kbd2.isReady()) kbd2.SetReport(0, 0, 2, 0, 1, &usb_led);
+ if (kbd3.isReady()) kbd3.SetReport(0, 0, 2, 0, 1, &usb_led);
+ if (kbd4.isReady()) kbd4.SetReport(0, 0, 2, 0, 1, &usb_led);
led_set_kb(usb_led);
}