/ src / pio_usb.h
pio_usb.h
 1  
 2  #pragma once
 3  
 4  #include "pio_usb_configuration.h"
 5  #include "usb_definitions.h"
 6  
 7  #ifdef __cplusplus
 8   extern "C" {
 9  #endif
10  
11  // Host functions
12  usb_device_t *pio_usb_host_init(const pio_usb_configuration_t *c);
13  int pio_usb_host_add_port(uint8_t pin_dp, PIO_USB_PINOUT pinout);
14  void pio_usb_host_task(void);
15  void pio_usb_host_stop(void);
16  void pio_usb_host_restart(void);
17  uint32_t pio_usb_host_get_frame_number(void);
18  
19  // Call this every 1ms when skip_alarm_pool is true.
20  void pio_usb_host_frame(void);
21  
22  // Device functions
23  usb_device_t *pio_usb_device_init(const pio_usb_configuration_t *c,
24                                    const usb_descriptor_buffers_t *buffers);
25  void pio_usb_device_task(void);
26  
27  // Common functions
28  endpoint_t *pio_usb_get_endpoint(usb_device_t *device, uint8_t idx);
29  int pio_usb_get_in_data(endpoint_t *ep, uint8_t *buffer, uint8_t len);
30  int pio_usb_set_out_data(endpoint_t *ep, const uint8_t *buffer, uint8_t len);
31  
32  #ifdef __cplusplus
33   }
34  #endif