64 std::vector<USBDeviceInfo> getDeviceList();
66 sddc_err_t open(
USBDeviceInfo dev_select,
const char* image, uint32_t size);
68 int control(uint8_t request, uint16_t value, uint16_t index, uint8_t *data, uint16_t length,
bool read);
71 int streaming_open_sync();
72 int streaming_open_async(uint32_t frame_size,
73 uint32_t num_frames, streaming_read_async_cb_t callback,
74 void *callback_context);
75 int streaming_framesize();
76 void streaming_close();
77 int streaming_start();
79 int streaming_reset_status();
80 int streaming_read_sync(uint8_t *data,
int length,
85 libusb_context *usb_ctx =
nullptr;
86 libusb_device_handle *dev_handle =
nullptr;
88 libusb_device* findUSBDevice(
USBDeviceInfo device_def,
bool strict =
true);
89 libusb_device_handle* initializeUSBDevice(libusb_device *device);
93 uint8_t bulk_in_endpoint_address = 0;
94 uint16_t bulk_in_max_packet_size = 0;
95 uint8_t bulk_in_max_burst = 0;
97 int list_endpoints(
struct libusb_endpoint_descriptor endpoints[],
98 struct libusb_ss_endpoint_companion_descriptor ss_endpoints[],
99 libusb_device *device);
102 uint32_t concurrent_transfers;
103 std::vector<struct libusb_transfer*> transfers;
104 std::vector<uint8_t*> transfer_buffers;
107 StreamingStatus streaming_status;
109 streaming_read_async_cb_t stream_callback;
110 void *stream_callback_context;
112 static void LIBUSB_CALL streaming_read_async_callback(
struct libusb_transfer *transfer);
int control(uint8_t request, uint16_t value, uint16_t index, uint8_t *data, uint16_t length, bool read)
Send a request to the USB device.
Definition usb_device.cpp:331