| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #pragma once
- #include "usb.h"
- typedef struct UsbInterface UsbInterface;
- struct UsbInterface {
- void (*init)(usbd_device *dev, UsbInterface* intf);
- void (*deinit)(usbd_device *dev);
- void (*wakeup)(usbd_device *dev);
- void (*suspend)(usbd_device *dev);
- struct usb_device_descriptor* dev_descr;
- void* str_manuf_descr;
- void* str_prod_descr;
- void* str_serial_descr;
- void* cfg_descr;
- };
- /** USB device interface modes */
- extern UsbInterface usb_cdc_single;
- extern UsbInterface usb_cdc_dual;
- extern UsbInterface usb_hid;
- /** USB device low-level initialization
- */
- void furi_hal_usb_init();
- /** Set USB device configuration
- *
- * @param mode new USB device mode
- */
- void furi_hal_usb_set_config(UsbInterface* new_if);
- /** Get USB device configuration
- *
- * @return current USB device mode
- */
- UsbInterface* furi_hal_usb_get_config();
- /** Disable USB device
- */
- void furi_hal_usb_disable();
- /** Enable USB device
- */
- void furi_hal_usb_enable();
|