diff --git a/src/main.c b/src/main.c index 37be853..b2263df 100644 --- a/src/main.c +++ b/src/main.c @@ -15,12 +15,12 @@ int anim_render(uint16_t *fb, int index, int frame); enum usb_control_resp bl_handler(enum usb_control_state state) { - if (usb_control_request.bmRequestType != 0x60) return USB_CONTROL_RESP_PASS; + if ((usb_control_request.bmRequestType & 0x7f) != 0x43) return USB_CONTROL_RESP_PASS; if (usb_control_request.bRequest != 0x69) return USB_CONTROL_RESP_STALL; - asm volatile("j 0x00"); + if (state == USB_CONTROL_FINISHED) asm volatile("j 0x00"); return USB_CONTROL_RESP_ACK; }