#ifndef USB_DEVICE_H #define USB_DEVICE_H // #include typedef struct { volatile USB_OTG_GlobalTypeDef *core; volatile USB_OTG_DeviceTypeDef *device; } usb_device_t; struct usb_configuration_t; typedef struct { } usb_class_t; // has configuration etc #define USB_DEVICE_SIZE sizeof(usb_device_t) extern usb_device_t* usb1_device; void* usb_device_init(void* peripheral_address, usb_class_t* class, void* buffer); void usb_device_setup(void* device); void* usb_device_wait_for_handshake(void* device); #endif // USB_DEVICE_H