#include "eem.h" #include #include "../usb.h" static USB_EemState eems = {0}; void usb_eem_init(uint8_t data_ep) { // clear the state memset(&eems, 0, sizeof(USB_EemState)); // store data endpoint number eems.data_ep = data_ep; // EEM is operational eems.initialized = true; } int usb_eem_process_and_return(USB_CallbackEvent *cbevt) { switch (cbevt->type) { case USB_CBEVT_UNKNOWN_REQ: break; case USB_CBEVT_OUT: break; case USB_CBEVT_IN: if (cbevt->ep == eems.data_ep) { // verify endpoint number usbcore_write(eems.data_ep, NULL, 0); // send ZLP } break; default: break; } return 0; }