libDaisy
Hardware Library for Daisy
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
usb_host.h
Go to the documentation of this file.
1#ifndef USB_HOST_H
2#define USB_HOST_H
3
4#include <cstdint>
5#include "usbh_def.h"
6
7namespace daisy
8{
19
27{
28 public:
36 enum class Result
37 {
38 OK,
39 BUSY,
40 FAIL,
44 };
45
47 typedef void (*ConnectCallback)(void* data);
48
50 typedef void (*DisconnectCallback)(void* data);
51
62 typedef void (*ClassActiveCallback)(void* userdata);
63
68 typedef void (*ErrorCallback)(void* data);
69
87
91 Result RegisterClass(USBH_ClassTypeDef* pClass);
92
98
103
107 bool IsActiveClass(USBH_ClassTypeDef* usbClass);
108
113
116
121 bool GetReady();
122
128
131 const char* GetProductName();
132
135
138
139 USBHostHandle() : pimpl_(nullptr) {}
140 USBHostHandle(const USBHostHandle& other) = default;
141 USBHostHandle& operator=(const USBHostHandle& other) = default;
142
143 class Impl;
145 private:
146 Impl* pimpl_;
147};
148
149} // namespace daisy
150
151#endif // DSY_MSD
Presents a USB Mass Storage Device host interface.
Definition usb_host.h:27
USBHostHandle & operator=(const USBHostHandle &other)=default
USBHostHandle()
Definition usb_host.h:139
USBHostHandle(const USBHostHandle &other)=default
Result RegisterClass(USBH_ClassTypeDef *pClass)
bool IsActiveClass(USBH_ClassTypeDef *usbClass)
void(*) ConnectCallback(void *data)
User defineable callback for USB Connection.
Definition usb_host.h:47
const char * GetProductName()
void(*) DisconnectCallback(void *data)
User defineable callback for USB Disconnection.
Definition usb_host.h:50
Result
return codes from the USB Processing can be used to check the state of USB while running outside of w...
Definition usb_host.h:37
void(*) ErrorCallback(void *data)
User defineable callback for USB Unrecoverable Error.
Definition usb_host.h:68
Result Init(USBHostHandle::Config &config)
void(*) ClassActiveCallback(void *userdata)
User defineable callback upon completion of class initialization For example, when a USB drive is con...
Definition usb_host.h:62
bool IsDeviceConnected()
Returns if the ST Middleware detects a connected device.
bool IsPortEnabled()
Returns if the HAL detects that the port is enabled.
Hardware defines and helpers for daisy field platform.
Definition index.h:2
ApplicationTypeDef
Definition usb_host.h:13
@ APPLICATION_IDLE
Definition usb_host.h:14
@ APPLICATION_START
Definition usb_host.h:15
@ APPLICATION_DISCONNECT
Definition usb_host.h:17
@ APPLICATION_READY
Definition usb_host.h:16
Configuration structure for interfacing with USB host Driver.
Definition usb_host.h:72
DisconnectCallback disconnect_callback
Definition usb_host.h:82
ClassActiveCallback class_active_callback
Definition usb_host.h:83
ConnectCallback connect_callback
Definition usb_host.h:81
void * userdata
Definition usb_host.h:85
ErrorCallback error_callback
Definition usb_host.h:84
Config()
Definition usb_host.h:73