USB Component  Version 6.12.0
MDK Middleware for USB Device and Host Communication
 All Data Structures Functions Variables Enumerations Enumerator Groups Pages
rl_usb.h
1 /*------------------------------------------------------------------------------
2  * MDK Middleware - Component ::USB
3  * Copyright (c) 2004-2017 ARM Germany GmbH. All rights reserved.
4  *------------------------------------------------------------------------------
5  * Name: rl_usb.h
6  * Purpose: USB User API
7  *----------------------------------------------------------------------------*/
8 
9 #ifndef __RL_USB_H__
10 #define __RL_USB_H__
11 
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 #include <stdint.h>
18 #include <stdbool.h>
19 
20 #include "usb_os.h"
21 #include "usb_compiler.h"
22 #include "usb_def.h"
23 #include "usb_cdc.h"
24 #include "usb_hid.h"
25 #include "usb_msc.h"
26 #include "usb_ms.h"
27 
28 
30 
32 typedef enum {
33  usbOK = 0U,
34 
37 
38  usbThreadError = 0x10U,
42 
55 
56  usbTransferStall = 0x40U,
58 
59  usbUnknownError = 0xFFU
60 } usbStatus;
61 
63 #ifdef __BIG_ENDIAN
64  #define U32_LE(v) (uint32_t)(__REV(v))
65  #define U16_LE(v) (uint16_t)(__REV(v) >> 16)
66  #define U32_BE(v) (uint32_t)(v)
67  #define U16_BE(v) (uint16_t)(v)
68 #else
69  #define U32_BE(v) (uint32_t)(__REV(v))
70  #define U16_BE(v) (uint16_t)(__REV(v) >> 16)
71  #define U32_LE(v) (uint32_t)(v)
72  #define U16_LE(v) (uint16_t)(v)
73 #endif
74 
75 // ==== USB Device Constants and Defines ====
76 
78 typedef enum {
84 
86 #define USBD_MSC_MEDIA_READY (1UL)
87 #define USBD_MSC_MEDIA_PROTECTED (1UL<<1)
88 
89 typedef enum {
95 
97 typedef enum {
98  usbdThreadCore = 0U,
99  usbdThreadCC,
100  usbdThreadADC,
101  usbdThreadCDC_Int,
102  usbdThreadCDC_Bulk,
103  usbdThreadHID,
104  usbdThreadMSC
105 } usbdThread_t;
106 
108 typedef enum {
109  usbdSemaphoreCore = 0U,
110  usbdSemaphoreEndpoint,
111  usbdSemaphoreHID
112 } usbdSemaphore_t;
113 
114 /* USB Device State structure */
116 typedef struct {
117  uint32_t vbus : 1;
118  uint32_t speed : 2;
119  uint32_t active : 1;
120  uint32_t reserved : 28;
121 } USBD_STATE;
123 
124 /* USB Host Constants and Defines */
125 
127 typedef enum {
128  USBH_NOTIFY_CONNECT = 0U,
129  USBH_NOTIFY_DISCONNECT,
130  USBH_NOTIFY_OVERCURRENT,
131  USBH_NOTIFY_REMOTE_WAKEUP,
132  USBH_NOTIFY_READY,
133  USBH_NOTIFY_UNKNOWN_DEVICE,
134  USBH_NOTIFY_INSUFFICIENT_POWER,
135  USBH_NOTIFY_CONFIGURATION_FAILED,
136  USBH_NOTIFY_INITIALIZATION_FAILED
137 } USBH_NOTIFY;
138 
139 /* USB Host Pipe handle type */
140 typedef uint32_t USBH_PIPE_HANDLE;
141 
143 typedef enum {
144  usbhThreadCore = 0U,
145  usbhThreadCDC,
146  usbhThreadHID
147 } usbhThread_t;
148 
150 typedef enum {
151  usbhMutexCore = 0U
152 } usbhMutex_t;
153 
155 typedef enum {
156  usbhSemaphoreCore = 0U
157 } usbhSemaphore_t;
158 
160 typedef struct {
161  uint8_t reserved;
162  uint8_t button;
163  int16_t x;
164  int16_t y;
166 
167 
168 // ==== USB Device Functions ====
169 
172 extern uint32_t USBD_GetVersion (void);
173 
177 extern usbStatus USBD_Initialize (uint8_t device);
178 
182 extern usbStatus USBD_Uninitialize (uint8_t device);
183 
187 extern usbStatus USBD_Connect (uint8_t device);
188 
192 extern usbStatus USBD_Disconnect (uint8_t device);
193 
199 extern bool USBD_Configured (uint8_t device);
200 
204 extern USBD_STATE USBD_GetState (uint8_t device);
205 
210 extern usbStatus USBD_SetSerialNumber (uint8_t device, const char *string);
211 
212 #ifdef __DOXYGEN__
213 
214 // following functions are available for each instance of a Device.
215 // generic prefix USBD_Devicen is USBD_Device0 for Device instance 0.
216 
219 void USBD_Devicen_Initialize (void);
220 
223 void USBD_Devicen_Uninitialize (void);
224 
230 void USBD_Devicen_VbusChanged (bool level);
231 
234 void USBD_Devicen_Reset (void);
235 
239 
242 void USBD_Devicen_Suspended (void);
243 
246 void USBD_Devicen_Resumed (void);
247 
253 void USBD_Devicen_ConfigurationChanged (uint8_t val);
254 
258 
262 
271 usbdRequestStatus USBD_Devicen_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len);
272 
277 
285 usbdRequestStatus USBD_Devicen_Endpoint0_OutDataReceived (uint32_t len);
286 
294 usbdRequestStatus USBD_Devicen_Endpoint0_InDataSent (uint32_t len);
295 
296 #endif // __DOXYGEN
297 
298 // ==== USB Device Audio Device Functions ====
299 
300 #ifdef __DOXYGEN__
301 
302 // following functions are available for each instance of a ADC class.
303 // generic prefix USBD_ADCn is USBD_ADC0 for ADC class instance 0.
304 
307 void USBD_ADCn_Initialize (void);
308 
311 void USBD_ADCn_Uninitialize (void);
312 
315 void USBD_ADCn_PlayStart (void);
316 
319 void USBD_ADCn_PlayStop (void);
320 
330 void USBD_ADCn_SetSpeakerMute (uint8_t ch, bool on);
331 
339 void USBD_ADCn_SetSpeakerVolume (uint8_t ch, uint16_t vol);
340 
343 void USBD_ADCn_RecordStart (void);
344 
347 void USBD_ADCn_RecordStop (void);
348 
358 void USBD_ADCn_SetMicrophoneMute (uint8_t ch, bool on);
359 
367 void USBD_ADCn_SetMicrophoneVolume (uint8_t ch, uint16_t vol);
368 
371 void USBD_ADCn_ReceivedSamples (void);
372 
373 #endif // __DOXYGEN
374 
375 // Rename deprecated functions
376 #define USBD_ADC_SpeakerSetVolumeRange USBD_ADC_SetSpeakerVolumeRange
377 #define USBD_ADC_MicrophoneSetVolumeRange USBD_ADC_SetMicrophoneVolumeRange
378 
390 extern usbStatus USBD_ADC_SetSpeakerVolumeRange (uint8_t instance, uint8_t ch, uint16_t min, uint16_t max, uint16_t res, uint16_t cur);
391 
403 extern usbStatus USBD_ADC_SetMicrophoneVolumeRange (uint8_t instance, uint8_t ch, uint16_t min, uint16_t max, uint16_t res, uint16_t cur);
404 
408 extern uint32_t USBD_ADC_ReceivedSamplesAvailable (uint8_t instance);
409 
413 extern uint32_t USBD_ADC_WrittenSamplesPending (uint8_t instance);
414 
422 extern int32_t USBD_ADC_ReadSamples (uint8_t instance, void *buf, int32_t num);
423 
431 extern int32_t USBD_ADC_WriteSamples (uint8_t instance, const void *buf, int32_t num);
432 
433 
434 // ==== USB Device Communication Device (Abstract Control Model) Functions ====
435 
436 #ifdef __DOXYGEN__
437 
438 // following functions are available for each instance of a CDC class.
439 // generic prefix USBD_CDCn is USBD_CDC0 for CDC class instance 0.
440 
443 void USBD_CDCn_ACM_Initialize (void);
444 
447 void USBD_CDCn_ACM_Uninitialize (void);
448 
451 void USBD_CDCn_ACM_Reset (void);
452 
458 bool USBD_CDCn_ACM_SetLineCoding (const CDC_LINE_CODING *line_coding);
459 
465 bool USBD_CDCn_ACM_GetLineCoding (CDC_LINE_CODING *line_coding);
466 
474 bool USBD_CDCn_ACM_SetControlLineState (uint16_t state);
475 
479 void USBD_CDCn_ACM_DataReceived (uint32_t len);
480 
483 void USBD_CDCn_ACM_DataSent (void);
484 
487 void USBD_CDCn_NCM_Initialize (void);
488 
491 void USBD_CDCn_NCM_Uninitialize (void);
492 
495 void USBD_CDCn_NCM_Reset (void);
496 
499 void USBD_CDCn_NCM_Start (void);
500 
503 void USBD_CDCn_NCM_Stop (void);
504 
511 bool USBD_CDCn_NCM_SetEthernetMulticastFilters (const uint8_t *addr_list, uint16_t num_of_filters);
512 
520 bool USBD_CDCn_NCM_SetEthernetPowerManagementPatternFilter (uint16_t filter_number, const uint8_t *pattern_filter, uint16_t pattern_filter_size);
521 
528 bool USBD_CDCn_NCM_GetEthernetPowerManagementPatternFilter (uint16_t filter_number, uint16_t *pattern_active);
529 
535 bool USBD_CDCn_NCM_SetEthernetPacketFilter (uint16_t packet_filter_bitmap);
536 
543 bool USBD_CDCn_NCM_GetEthernetStatistic (uint16_t feature_selector, uint32_t *data);
544 
550 bool USBD_CDCn_NCM_GetNtbParameters (CDC_NCM_NTB_PARAM *ntb_params);
551 
557 bool USBD_CDCn_NCM_GetNetAddress (uint8_t *net_addr);
558 
564 bool USBD_CDCn_NCM_SetNetAddress (const uint8_t *net_addr);
565 
571 bool USBD_CDCn_NCM_GetNtbFormat (uint16_t *ntb_format);
572 
580 bool USBD_CDCn_NCM_SetNtbFormat (uint16_t ntb_format);
581 
587 bool USBD_CDCn_NCM_GetNtbInputSize (uint32_t *ntb_input_size);
588 
594 bool USBD_CDCn_NCM_SetNtbInputSize (uint32_t ntb_input_size);
595 
601 bool USBD_CDCn_NCM_GetMaxDatagramSize (uint16_t *max_datagram_size);
602 
608 bool USBD_CDCn_NCM_SetMaxDatagramSize (uint16_t max_datagram_size);
609 
615 bool USBD_CDCn_NCM_GetCrcMode (uint16_t *crc_mode);
616 
624 bool USBD_CDCn_NCM_SetCrcMode (uint16_t crc_mode);
625 
628 void USBD_CDCn_NCM_NTB_IN_Sent (void);
629 
633 
634 #endif // __DOXYGEN
635 
641 extern int USBD_CDC_ACM_GetChar (uint8_t instance);
642 
649 extern int USBD_CDC_ACM_PutChar (uint8_t instance, int ch);
650 
658 extern int32_t USBD_CDC_ACM_ReadData (uint8_t instance, uint8_t *buf, int32_t len);
659 
667 extern int32_t USBD_CDC_ACM_WriteData (uint8_t instance, const uint8_t *buf, int32_t len);
668 
673 extern int32_t USBD_CDC_ACM_DataAvailable (uint8_t instance);
674 
686 extern usbStatus USBD_CDC_ACM_Notify (uint8_t instance, uint16_t state);
687 
693 extern int32_t USBD_CDC_NCM_NTB_IN_Initialize (uint8_t instance);
694 
695 
702 extern int32_t USBD_CDC_NCM_NTB_IN_CreateNDP (uint8_t instance, uint8_t num_datagrams);
703 
711 extern int32_t USBD_CDC_NCM_NTB_IN_WriteDatagram (uint8_t instance, const uint8_t *buf, uint32_t len);
712 
718 extern int32_t USBD_CDC_NCM_NTB_IN_Send (uint8_t instance);
719 
726 extern int32_t USBD_CDC_NCM_NTB_IN_IsSent (uint8_t instance);
727 
734 extern int32_t USBD_CDC_NCM_NTB_OUT_IsReceived (uint8_t instance);
735 
741 extern int32_t USBD_CDC_NCM_NTB_OUT_Release (uint8_t instance);
742 
748 extern int32_t USBD_CDC_NCM_NTB_OUT_ProcessNDP (uint8_t instance);
749 
753 extern uint32_t USBD_CDC_NCM_NTB_OUT_GetDatagramSize (uint8_t instance);
754 
762 extern int32_t USBD_CDC_NCM_NTB_OUT_ReadDatagram (uint8_t instance, uint8_t *buf, uint32_t max_len);
763 
771 extern int32_t USBD_CDC_NCM_NTB_IN_RawSend (uint8_t instance, const uint8_t *buf, uint32_t len);
772 
776 extern uint32_t USBD_CDC_NCM_NTB_OUT_RawGetSize (uint8_t instance);
777 
785 extern int32_t USBD_CDC_NCM_NTB_OUT_RawReceive (uint8_t instance, uint8_t *buf, uint32_t max_len);
786 
795 extern int32_t USBD_CDC_NCM_Notify_NetworkConnection (uint8_t instance, uint16_t status);
796 
804 extern int32_t USBD_CDC_NCM_Notify_ConnectionSpeedChange (uint8_t instance, uint32_t us_bitrate, uint32_t ds_bitrate);
805 
806 // ==== USB Device Human Interface Device Functions ====
807 
808 #ifdef __DOXYGEN__
809 
810 // following functions are available for each instance of a HID class.
811 // generic prefix USBD_HIDn is USBD_HID0 for HID class instance 0.
812 
815 void USBD_HIDn_Initialize (void);
816 
819 void USBD_HIDn_Uninitialize (void);
820 
834 int32_t USBD_HIDn_GetReport (uint8_t rtype, uint8_t req, uint8_t rid, uint8_t *buf);
835 
849 bool USBD_HIDn_SetReport (uint8_t rtype, uint8_t req, uint8_t rid, const uint8_t *buf, int32_t len);
850 
851 #endif // __DOXYGEN
852 
859 extern usbStatus USBD_HID_GetReportTrigger (uint8_t instance, uint8_t rid, const uint8_t *buf, uint32_t len);
860 
861 
862 #ifdef __DOXYGEN__
863 
864 // ==== USB Device Mass Storage Device Functions ====
865 
866 // following functions are available for each instance of a MSC class.
867 // generic prefix USBD_MSCn is USBD_MSC0 for MSC class instance 0.
868 
871 void USBD_MSCn_Initialize (void);
872 
875 void USBD_MSCn_Uninitialize (void);
876 
883 bool USBD_MSCn_GetCacheInfo (uint32_t *buffer, uint32_t *size);
884 
891 bool USBD_MSCn_GetMediaCapacity (uint32_t *block_count, uint32_t *block_size);
892 
900 bool USBD_MSCn_Read (uint32_t lba, uint32_t cnt, uint8_t *buf);
901 
909 bool USBD_MSCn_Write (uint32_t lba, uint32_t cnt, const uint8_t *buf);
910 
919 uint32_t USBD_MSCn_CheckMedia (void);
920 
925 uint8_t USBD_MSCn_GetMaxLUN (void);
926 
934 bool USBD_MSCn_LUN_GetMediaCapacity (uint8_t lun, uint32_t *block_count, uint32_t *block_size);
935 
944 bool USBD_MSCn_LUN_Read (uint8_t lun, uint32_t lba, uint32_t cnt, uint8_t *buf);
945 
954 bool USBD_MSCn_LUN_Write (uint8_t lun, uint32_t lba, uint32_t cnt, const uint8_t *buf);
955 
965 uint32_t USBD_MSCn_LUN_CheckMedia (uint8_t lun);
966 
967 #endif // __DOXYGEN
968 
969 
970 // ==== USB Device Custom Class Functions ====
971 
972 #ifdef __DOXYGEN__
973 
974 // following functions are available for each instance of a Custom class.
975 // generic prefix USBD_CustomClassn is USBD_CustomClass0 for Custom class instance 0.
976 
979 void USBD_CustomClassn_Initialize (void);
980 
984 
987 void USBD_CustomClassn_Reset (void);
988 
994 void USBD_CustomClassn_EndpointStart (uint8_t ep_addr);
995 
1001 void USBD_CustomClassn_EndpointStop (uint8_t ep_addr);
1002 
1011 usbdRequestStatus USBD_CustomClassn_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len);
1012 
1017 
1025 usbdRequestStatus USBD_CustomClassn_Endpoint0_OutDataReceived (uint32_t len);
1026 
1034 usbdRequestStatus USBD_CustomClassn_Endpoint0_InDataSent (uint32_t len);
1035 
1041 void USBD_CustomClassn_Endpoint1_Event (uint32_t event);
1042 void USBD_CustomClassn_Endpoint2_Event (uint32_t event);
1043 void USBD_CustomClassn_Endpoint3_Event (uint32_t event);
1044 void USBD_CustomClassn_Endpoint4_Event (uint32_t event);
1045 void USBD_CustomClassn_Endpoint5_Event (uint32_t event);
1046 void USBD_CustomClassn_Endpoint6_Event (uint32_t event);
1047 void USBD_CustomClassn_Endpoint7_Event (uint32_t event);
1048 void USBD_CustomClassn_Endpoint8_Event (uint32_t event);
1049 void USBD_CustomClassn_Endpoint9_Event (uint32_t event);
1050 void USBD_CustomClassn_Endpoint10_Event (uint32_t event);
1051 void USBD_CustomClassn_Endpoint11_Event (uint32_t event);
1052 void USBD_CustomClassn_Endpoint12_Event (uint32_t event);
1053 void USBD_CustomClassn_Endpoint13_Event (uint32_t event);
1054 void USBD_CustomClassn_Endpoint14_Event (uint32_t event);
1055 void USBD_CustomClassn_Endpoint15_Event (uint32_t event);
1056 
1057 #endif // __DOXYGEN
1058 
1067 extern usbStatus USBD_EndpointRead (uint8_t device, uint8_t ep_addr, uint8_t *buf, uint32_t len);
1068 
1075 extern uint32_t USBD_EndpointReadGetResult (uint8_t device, uint8_t ep_addr);
1076 
1085 extern usbStatus USBD_EndpointWrite (uint8_t device, uint8_t ep_addr, const uint8_t *buf, uint32_t len);
1086 
1093 extern uint32_t USBD_EndpointWriteGetResult (uint8_t device, uint8_t ep_addr);
1094 
1104 extern usbStatus USBD_EndpointStall (uint8_t device, uint8_t ep_addr, bool stall);
1105 
1112 extern usbStatus USBD_EndpointAbort (uint8_t device, uint8_t ep_addr);
1113 
1114 
1115 // ==== USB Host Functions ====
1116 
1117 // Rename deprecated functions
1118 #define USBH_GetDeviceStatus USBH_Device_GetStatus
1119 
1122 extern uint32_t USBH_GetVersion (void);
1123 
1127 extern usbStatus USBH_Initialize (uint8_t ctrl);
1128 
1132 extern usbStatus USBH_Uninitialize (uint8_t ctrl);
1133 
1138 extern usbStatus USBH_Port_Suspend (uint8_t ctrl, uint8_t port);
1139 
1144 extern usbStatus USBH_Port_Resume (uint8_t ctrl, uint8_t port);
1145 
1151 extern uint8_t USBH_Device_GetController (uint8_t device);
1152 
1158 extern uint8_t USBH_Device_GetPort (uint8_t device);
1159 
1163 extern usbStatus USBH_Device_GetStatus (uint8_t device);
1164 
1171 extern int32_t USBH_Device_GetSpeed (uint8_t device);
1172 
1178 extern uint8_t USBH_Device_GetAddress (uint8_t device);
1179 
1183 extern uint16_t USBH_Device_GetVID (uint8_t device);
1184 
1188 extern uint16_t USBH_Device_GetPID (uint8_t device);
1189 
1197 extern usbStatus USBH_Device_GetStringDescriptor (uint8_t device, uint8_t index, uint16_t language_id, uint8_t *descriptor_data, uint16_t descriptor_length);
1198 
1215 extern void USBH_Notify (uint8_t ctrl, uint8_t port, uint8_t device, USBH_NOTIFY notify);
1216 
1217 
1218 // ==== USB Host Mass Storage Functions ====
1219 
1220 // Rename deprecated functions
1221 #define USBH_MSC_GetDeviceStatus USBH_MSC_GetStatus
1222 
1226 extern void USBH_MSC_Initialize (uint8_t instance);
1227 
1231 extern void USBH_MSC_Uninitialize (uint8_t instance);
1232 
1238 extern uint8_t USBH_MSC_GetDevice (uint8_t instance);
1239 
1243 extern usbStatus USBH_MSC_GetStatus (uint8_t instance);
1244 
1251 extern usbStatus USBH_MSC_Read (uint8_t instance, uint32_t lba, uint32_t cnt, uint8_t *buf);
1252 
1259 extern usbStatus USBH_MSC_Write (uint8_t instance, uint32_t lba, uint32_t cnt, const uint8_t *buf);
1260 
1266 extern usbStatus USBH_MSC_ReadCapacity (uint8_t instance, uint32_t *block_count, uint32_t *block_size);
1267 
1268 
1269 // ==== USB Host Human Interface Device Functions ====
1270 
1271 // Rename deprecated functions
1272 #define USBH_HID_GetDeviceStatus USBH_HID_GetStatus
1273 
1277 extern void USBH_HID_Initialize (uint8_t instance);
1278 
1282 extern void USBH_HID_Uninitialize (uint8_t instance);
1283 
1289 extern uint8_t USBH_HID_GetDevice (uint8_t instance);
1290 
1294 extern usbStatus USBH_HID_GetStatus (uint8_t instance);
1295 
1303 extern int32_t USBH_HID_Read (uint8_t instance, uint8_t *buf, int32_t len);
1304 
1312 extern int32_t USBH_HID_Write (uint8_t instance, const uint8_t *buf, int32_t len);
1313 
1319 extern int USBH_HID_GetKeyboardKey (uint8_t instance);
1320 
1325 extern usbStatus USBH_HID_GetMouseState (uint8_t instance, usbHID_MouseState *state);
1326 
1332 extern void USBH_HID_ParseReportDescriptor (uint8_t instance, const uint8_t *ptr_hid_report_desc, uint32_t len);
1333 
1338 extern void USBH_HID_DataReceived (uint8_t instance, uint32_t len);
1339 
1340 
1341 // ==== USB Host Communication Device Class (Abstract Control Model) Functions ====
1342 
1343 // Rename deprecated functions
1344 #define USBH_CDC_ACM_GetDeviceStatus USBH_CDC_ACM_GetStatus
1345 
1349 extern void USBH_CDC_ACM_Initialize (uint8_t instance);
1350 
1354 extern void USBH_CDC_ACM_Uninitialize (uint8_t instance);
1355 
1361 extern uint8_t USBH_CDC_ACM_GetDevice (uint8_t instance);
1362 
1366 extern usbStatus USBH_CDC_ACM_GetStatus (uint8_t instance);
1367 
1373 extern usbStatus USBH_CDC_ACM_Send (uint8_t instance, const uint8_t *data, uint32_t num);
1374 
1378 extern uint32_t USBH_CDC_ACM_GetTxCount (uint8_t instance);
1379 
1385 extern usbStatus USBH_CDC_ACM_Receive (uint8_t instance, uint8_t *data, uint32_t num);
1386 
1390 extern uint32_t USBH_CDC_ACM_GetRxCount (uint8_t instance);
1391 
1396 extern usbStatus USBH_CDC_ACM_SetLineCoding (uint8_t instance, const CDC_LINE_CODING *line_coding);
1397 
1402 extern usbStatus USBH_CDC_ACM_GetLineCoding (uint8_t instance, CDC_LINE_CODING *line_coding);
1403 
1410 extern usbStatus USBH_CDC_ACM_SetControlLineState (uint8_t instance, uint16_t state);
1411 
1424 extern void USBH_CDC_ACM_Notify (uint8_t instance, uint16_t status);
1425 
1432 extern usbStatus USBH_CDC_ACM_SendBreak (uint8_t instance, uint16_t duration);
1433 
1434 
1435 // ==== USB Host Custom Class Functions ====
1436 
1437 // Rename deprecated functions
1438 #define USBH_CustomClass_GetDeviceStatus USBH_CustomClass_GetStatus
1439 
1445 extern uint8_t USBH_CustomClass_GetDevice (uint8_t instance);
1446 
1450 extern usbStatus USBH_CustomClass_GetStatus (uint8_t instance);
1451 
1460 extern uint8_t USBH_CustomClass_Configure (uint8_t device, const USB_DEVICE_DESCRIPTOR *ptr_dev_desc, const USB_CONFIGURATION_DESCRIPTOR *ptr_cfg_desc);
1461 
1466 extern usbStatus USBH_CustomClass_Unconfigure (uint8_t instance);
1467 
1472 extern usbStatus USBH_CustomClass_Initialize (uint8_t instance);
1473 
1478 extern usbStatus USBH_CustomClass_Uninitialize (uint8_t instance);
1479 
1491 extern USBH_PIPE_HANDLE USBH_PipeCreate (uint8_t device, uint8_t ep_addr, uint8_t ep_type, uint16_t ep_max_packet_size, uint8_t ep_interval);
1492 
1496 extern usbStatus USBH_PipeUpdate (USBH_PIPE_HANDLE pipe_hndl);
1497 
1501 extern usbStatus USBH_PipeDelete (USBH_PIPE_HANDLE pipe_hndl);
1502 
1506 extern usbStatus USBH_PipeReset (USBH_PIPE_HANDLE pipe_hndl);
1507 
1513 extern usbStatus USBH_PipeReceive (USBH_PIPE_HANDLE pipe_hndl, uint8_t *buf, uint32_t len);
1514 
1518 extern uint32_t USBH_PipeReceiveGetResult (USBH_PIPE_HANDLE pipe_hndl);
1519 
1525 extern usbStatus USBH_PipeSend (USBH_PIPE_HANDLE pipe_hndl, const uint8_t *buf, uint32_t len);
1526 
1530 extern uint32_t USBH_PipeSendGetResult (USBH_PIPE_HANDLE pipe_hndl);
1531 
1535 extern usbStatus USBH_PipeAbort (USBH_PIPE_HANDLE pipe_hndl);
1536 
1543 extern usbStatus USBH_ControlTransfer (uint8_t device, const USB_SETUP_PACKET *setup_packet, uint8_t *data, uint32_t len);
1544 
1551 extern usbStatus USBH_DeviceRequest_GetStatus (uint8_t device, uint8_t recipient, uint8_t index, uint8_t *ptr_stat_dat);
1552 
1559 extern usbStatus USBH_DeviceRequest_ClearFeature (uint8_t device, uint8_t recipient, uint8_t index, uint8_t feature_selector);
1560 
1567 extern usbStatus USBH_DeviceRequest_SetFeature (uint8_t device, uint8_t recipient, uint8_t index, uint8_t feature_selector);
1568 
1573 extern usbStatus USBH_DeviceRequest_SetAddress (uint8_t device, uint8_t device_address);
1574 
1584 extern usbStatus USBH_DeviceRequest_GetDescriptor (uint8_t device, uint8_t recipient, uint8_t descriptor_type, uint8_t descriptor_index, uint16_t language_id, uint8_t *descriptor_data, uint16_t descriptor_length);
1585 
1595 extern usbStatus USBH_DeviceRequest_SetDescriptor (uint8_t device, uint8_t recipient, uint8_t descriptor_type, uint8_t descriptor_index, uint16_t language_id, const uint8_t *descriptor_data, uint16_t descriptor_length);
1596 
1601 extern usbStatus USBH_DeviceRequest_GetConfiguration (uint8_t device, uint8_t *ptr_configuration);
1602 
1607 extern usbStatus USBH_DeviceRequest_SetConfiguration (uint8_t device, uint8_t configuration);
1608 
1614 extern usbStatus USBH_DeviceRequest_GetInterface (uint8_t device, uint8_t index, uint8_t *ptr_alternate);
1615 
1621 extern usbStatus USBH_DeviceRequest_SetInterface (uint8_t device, uint8_t index, uint8_t alternate);
1622 
1628 extern usbStatus USBH_DeviceRequest_SynchFrame (uint8_t device, uint8_t index, uint8_t *ptr_frame_number);
1629 
1630 
1631 // USB Device OS abstraction functions
1632 extern void *USBD_ThreadCreate (usbdThread_t thread, uint8_t index);
1633 extern int32_t USBD_ThreadTerminate (void *thread_hndl);
1634 
1635 extern int32_t USBD_Delay (uint32_t millisec);
1636 
1637 extern void *USBD_TimerCreate (uint8_t instance);
1638 extern int32_t USBD_TimerStart (void *timer_hndl, uint32_t millisec);
1639 extern int32_t USBD_TimerStop (void *timer_hndl);
1640 extern int32_t USBD_TimerDelete (void *timer_hndl);
1641 
1642 extern uint32_t USBD_ThreadFlagsSet (void *thread_hndl, uint32_t flags);
1643 extern uint32_t USBD_ThreadFlagsWait (uint32_t millisec);
1644 
1645 extern void *USBD_SemaphoreCreate (usbdSemaphore_t semaphore, uint8_t index1, uint8_t index2);
1646 extern int32_t USBD_SemaphoreAcquire (void *semaphore_hndl, uint32_t millisec);
1647 extern int32_t USBD_SemaphoreRelease (void *semaphore_hndl);
1648 extern int32_t USBD_SemaphoreDelete (void *semaphore_hndl);
1649 
1650 
1651 // USB Device user callback function prototypes
1652 extern void USBD_Device0_Initialize (void);
1653 extern void USBD_Device0_Uninitialize (void);
1654 extern void USBD_Device0_VbusChanged (bool level);
1655 extern void USBD_Device0_Reset (void);
1656 extern void USBD_Device0_HighSpeedActivated (void);
1657 extern void USBD_Device0_Suspended (void);
1658 extern void USBD_Device0_Resumed (void);
1659 extern void USBD_Device0_ConfigurationChanged (uint8_t val);
1660 extern void USBD_Device0_EnableRemoteWakeup (void);
1661 extern void USBD_Device0_DisableRemoteWakeup (void);
1662 extern usbdRequestStatus USBD_Device0_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len);
1663 extern void USBD_Device0_Endpoint0_SetupPacketProcessed (const USB_SETUP_PACKET *setup_packet);
1664 extern usbdRequestStatus USBD_Device0_Endpoint0_OutDataReceived (uint32_t len);
1665 extern usbdRequestStatus USBD_Device0_Endpoint0_InDataSent (uint32_t len);
1666 
1667 extern void USBD_Device1_Initialize (void);
1668 extern void USBD_Device1_Uninitialize (void);
1669 extern void USBD_Device1_VbusChanged (bool level);
1670 extern void USBD_Device1_Reset (void);
1671 extern void USBD_Device1_HighSpeedActivated (void);
1672 extern void USBD_Device1_Suspended (void);
1673 extern void USBD_Device1_Resumed (void);
1674 extern void USBD_Device1_ConfigurationChanged (uint8_t val);
1675 extern void USBD_Device1_EnableRemoteWakeup (void);
1676 extern void USBD_Device1_DisableRemoteWakeup (void);
1677 extern usbdRequestStatus USBD_Device1_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len);
1678 extern void USBD_Device1_Endpoint0_SetupPacketProcessed (const USB_SETUP_PACKET *setup_packet);
1679 extern usbdRequestStatus USBD_Device1_Endpoint0_OutDataReceived (uint32_t len);
1680 extern usbdRequestStatus USBD_Device1_Endpoint0_InDataSent (uint32_t len);
1681 
1682 extern void USBD_Device2_Initialize (void);
1683 extern void USBD_Device2_Uninitialize (void);
1684 extern void USBD_Device2_VbusChanged (bool level);
1685 extern void USBD_Device2_Reset (void);
1686 extern void USBD_Device2_HighSpeedActivated (void);
1687 extern void USBD_Device2_Suspended (void);
1688 extern void USBD_Device2_Resumed (void);
1689 extern void USBD_Device2_ConfigurationChanged (uint8_t val);
1690 extern void USBD_Device2_EnableRemoteWakeup (void);
1691 extern void USBD_Device2_DisableRemoteWakeup (void);
1692 extern usbdRequestStatus USBD_Device2_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len);
1693 extern void USBD_Device2_Endpoint0_SetupPacketProcessed (const USB_SETUP_PACKET *setup_packet);
1694 extern usbdRequestStatus USBD_Device2_Endpoint0_OutDataReceived (uint32_t len);
1695 extern usbdRequestStatus USBD_Device2_Endpoint0_InDataSent (uint32_t len);
1696 
1697 extern void USBD_Device3_Initialize (void);
1698 extern void USBD_Device3_Uninitialize (void);
1699 extern void USBD_Device3_VbusChanged (bool level);
1700 extern void USBD_Device3_Reset (void);
1701 extern void USBD_Device3_HighSpeedActivated (void);
1702 extern void USBD_Device3_Suspended (void);
1703 extern void USBD_Device3_Resumed (void);
1704 extern void USBD_Device3_ConfigurationChanged (uint8_t val);
1705 extern void USBD_Device3_EnableRemoteWakeup (void);
1706 extern void USBD_Device3_DisableRemoteWakeup (void);
1707 extern usbdRequestStatus USBD_Device3_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len);
1708 extern void USBD_Device3_Endpoint0_SetupPacketProcessed (const USB_SETUP_PACKET *setup_packet);
1709 extern usbdRequestStatus USBD_Device3_Endpoint0_OutDataReceived (uint32_t len);
1710 extern usbdRequestStatus USBD_Device3_Endpoint0_InDataSent (uint32_t len);
1711 
1712 extern void USBD_ADC0_Initialize (void);
1713 extern void USBD_ADC0_Uninitialize (void);
1714 extern void USBD_ADC0_PlayStart (void);
1715 extern void USBD_ADC0_PlayStop (void);
1716 extern void USBD_ADC0_SetSpeakerMute (uint8_t ch, bool on);
1717 extern void USBD_ADC0_SetSpeakerVolume (uint8_t ch, uint16_t vol);
1718 extern void USBD_ADC0_RecordStart (void);
1719 extern void USBD_ADC0_RecordStop (void);
1720 extern void USBD_ADC0_SetMicrophoneMute (uint8_t ch, bool on);
1721 extern void USBD_ADC0_SetMicrophoneVolume (uint8_t ch, uint16_t vol);
1722 extern void USBD_ADC0_ReceivedSamples (void);
1723 
1724 extern void USBD_ADC1_Initialize (void);
1725 extern void USBD_ADC1_Uninitialize (void);
1726 extern void USBD_ADC1_PlayStart (void);
1727 extern void USBD_ADC1_PlayStop (void);
1728 extern void USBD_ADC1_SetSpeakerMute (uint8_t ch, bool on);
1729 extern void USBD_ADC1_SetSpeakerVolume (uint8_t ch, uint16_t vol);
1730 extern void USBD_ADC1_RecordStart (void);
1731 extern void USBD_ADC1_RecordStop (void);
1732 extern void USBD_ADC1_SetMicrophoneMute (uint8_t ch, bool on);
1733 extern void USBD_ADC1_SetMicrophoneVolume (uint8_t ch, uint16_t vol);
1734 extern void USBD_ADC1_ReceivedSamples (void);
1735 
1736 extern void USBD_ADC2_Initialize (void);
1737 extern void USBD_ADC2_Uninitialize (void);
1738 extern void USBD_ADC2_PlayStart (void);
1739 extern void USBD_ADC2_PlayStop (void);
1740 extern void USBD_ADC2_SetSpeakerMute (uint8_t ch, bool on);
1741 extern void USBD_ADC2_SetSpeakerVolume (uint8_t ch, uint16_t vol);
1742 extern void USBD_ADC2_RecordStart (void);
1743 extern void USBD_ADC2_RecordStop (void);
1744 extern void USBD_ADC2_SetMicrophoneMute (uint8_t ch, bool on);
1745 extern void USBD_ADC2_SetMicrophoneVolume (uint8_t ch, uint16_t vol);
1746 extern void USBD_ADC2_ReceivedSamples (void);
1747 
1748 extern void USBD_ADC3_Initialize (void);
1749 extern void USBD_ADC3_Uninitialize (void);
1750 extern void USBD_ADC3_PlayStart (void);
1751 extern void USBD_ADC3_PlayStop (void);
1752 extern void USBD_ADC3_SetSpeakerMute (uint8_t ch, bool on);
1753 extern void USBD_ADC3_SetSpeakerVolume (uint8_t ch, uint16_t vol);
1754 extern void USBD_ADC3_RecordStart (void);
1755 extern void USBD_ADC3_RecordStop (void);
1756 extern void USBD_ADC3_SetMicrophoneMute (uint8_t ch, bool on);
1757 extern void USBD_ADC3_SetMicrophoneVolume (uint8_t ch, uint16_t vol);
1758 extern void USBD_ADC3_ReceivedSamples (void);
1759 
1760 extern void USBD_CDC0_ACM_Initialize (void);
1761 extern void USBD_CDC0_ACM_Uninitialize (void);
1762 extern void USBD_CDC0_ACM_Reset (void);
1763 extern bool USBD_CDC0_ACM_GetLineCoding ( CDC_LINE_CODING *line_coding);
1764 extern bool USBD_CDC0_ACM_SetControlLineState (uint16_t state);
1765 extern void USBD_CDC0_ACM_DataReceived (uint32_t len);
1766 extern void USBD_CDC0_ACM_DataSent (void);
1767 extern void USBD_CDC0_NCM_Initialize (void);
1768 extern void USBD_CDC0_NCM_Uninitialize (void);
1769 extern void USBD_CDC0_NCM_Reset (void);
1770 extern void USBD_CDC0_NCM_Start (void);
1771 extern void USBD_CDC0_NCM_Stop (void);
1772 extern bool USBD_CDC0_NCM_SetEthernetMulticastFilters (const uint8_t *addr_list, uint16_t num_of_filters);
1773 extern bool USBD_CDC0_NCM_SetEthernetPowerManagementPatternFilter (uint16_t filter_number, const uint8_t *pattern_filter, uint16_t pattern_filter_size);
1774 extern bool USBD_CDC0_NCM_GetEthernetPowerManagementPatternFilter (uint16_t filter_number, uint16_t *pattern_active);
1775 extern bool USBD_CDC0_NCM_SetEthernetPacketFilter (uint16_t packet_filter_bitmap);
1776 extern bool USBD_CDC0_NCM_GetEthernetStatistic (uint16_t feature_selector, uint32_t *data);
1777 extern bool USBD_CDC0_NCM_GetNtbParameters (CDC_NCM_NTB_PARAM *ntb_params);
1778 extern bool USBD_CDC0_NCM_GetNetAddress (uint8_t *net_addr);
1779 extern bool USBD_CDC0_NCM_SetNetAddress (const uint8_t *net_addr);
1780 extern bool USBD_CDC0_NCM_GetNtbFormat (uint16_t *ntb_format);
1781 extern bool USBD_CDC0_NCM_SetNtbFormat (uint16_t ntb_format);
1782 extern bool USBD_CDC0_NCM_GetNtbInputSize (uint32_t *ntb_input_size);
1783 extern bool USBD_CDC0_NCM_SetNtbInputSize (uint32_t ntb_input_size);
1784 extern bool USBD_CDC0_NCM_GetMaxDatagramSize (uint16_t *max_datagram_size);
1785 extern bool USBD_CDC0_NCM_SetMaxDatagramSize (uint16_t max_datagram_size);
1786 extern bool USBD_CDC0_NCM_GetCrcMode (uint16_t *crc_mode);
1787 extern bool USBD_CDC0_NCM_SetCrcMode (uint16_t crc_mode);
1788 extern void USBD_CDC0_NCM_NTB_IN_Sent (void);
1789 extern void USBD_CDC0_NCM_NTB_OUT_Received (void);
1790 
1791 extern void USBD_CDC1_ACM_Initialize (void);
1792 extern void USBD_CDC1_ACM_Uninitialize (void);
1793 extern void USBD_CDC1_ACM_Reset (void);
1794 extern bool USBD_CDC1_ACM_GetLineCoding ( CDC_LINE_CODING *line_coding);
1795 extern bool USBD_CDC1_ACM_SetControlLineState (uint16_t state);
1796 extern void USBD_CDC1_ACM_DataReceived (uint32_t len);
1797 extern void USBD_CDC1_ACM_DataSent (void);
1798 extern void USBD_CDC1_NCM_Initialize (void);
1799 extern void USBD_CDC1_NCM_Uninitialize (void);
1800 extern void USBD_CDC1_NCM_Reset (void);
1801 extern void USBD_CDC1_NCM_Start (void);
1802 extern void USBD_CDC1_NCM_Stop (void);
1803 extern bool USBD_CDC1_NCM_SetEthernetMulticastFilters (const uint8_t *addr_list, uint16_t num_of_filters);
1804 extern bool USBD_CDC1_NCM_SetEthernetPowerManagementPatternFilter (uint16_t filter_number, const uint8_t *pattern_filter, uint16_t pattern_filter_size);
1805 extern bool USBD_CDC1_NCM_GetEthernetPowerManagementPatternFilter (uint16_t filter_number, uint16_t *pattern_active);
1806 extern bool USBD_CDC1_NCM_SetEthernetPacketFilter (uint16_t packet_filter_bitmap);
1807 extern bool USBD_CDC1_NCM_GetEthernetStatistic (uint16_t feature_selector, uint32_t *data);
1808 extern bool USBD_CDC1_NCM_GetNtbParameters (CDC_NCM_NTB_PARAM *ntb_params);
1809 extern bool USBD_CDC1_NCM_GetNetAddress (uint8_t *net_addr);
1810 extern bool USBD_CDC1_NCM_SetNetAddress (const uint8_t *net_addr);
1811 extern bool USBD_CDC1_NCM_GetNtbFormat (uint16_t *ntb_format);
1812 extern bool USBD_CDC1_NCM_SetNtbFormat (uint16_t ntb_format);
1813 extern bool USBD_CDC1_NCM_GetNtbInputSize (uint32_t *ntb_input_size);
1814 extern bool USBD_CDC1_NCM_SetNtbInputSize (uint32_t ntb_input_size);
1815 extern bool USBD_CDC1_NCM_GetMaxDatagramSize (uint16_t *max_datagram_size);
1816 extern bool USBD_CDC1_NCM_SetMaxDatagramSize (uint16_t max_datagram_size);
1817 extern bool USBD_CDC1_NCM_GetCrcMode (uint16_t *crc_mode);
1818 extern bool USBD_CDC1_NCM_SetCrcMode (uint16_t crc_mode);
1819 extern void USBD_CDC1_NCM_NTB_IN_Sent (void);
1820 extern void USBD_CDC1_NCM_NTB_OUT_Received (void);
1821 
1822 extern void USBD_CDC2_ACM_Initialize (void);
1823 extern void USBD_CDC2_ACM_Uninitialize (void);
1824 extern void USBD_CDC2_ACM_Reset (void);
1825 extern bool USBD_CDC2_ACM_GetLineCoding ( CDC_LINE_CODING *line_coding);
1826 extern bool USBD_CDC2_ACM_SetControlLineState (uint16_t state);
1827 extern void USBD_CDC2_ACM_DataReceived (uint32_t len);
1828 extern void USBD_CDC2_ACM_DataSent (void);
1829 extern void USBD_CDC2_NCM_Initialize (void);
1830 extern void USBD_CDC2_NCM_Uninitialize (void);
1831 extern void USBD_CDC2_NCM_Reset (void);
1832 extern void USBD_CDC2_NCM_Start (void);
1833 extern void USBD_CDC2_NCM_Stop (void);
1834 extern bool USBD_CDC2_NCM_SetEthernetMulticastFilters (const uint8_t *addr_list, uint16_t num_of_filters);
1835 extern bool USBD_CDC2_NCM_SetEthernetPowerManagementPatternFilter (uint16_t filter_number, const uint8_t *pattern_filter, uint16_t pattern_filter_size);
1836 extern bool USBD_CDC2_NCM_GetEthernetPowerManagementPatternFilter (uint16_t filter_number, uint16_t *pattern_active);
1837 extern bool USBD_CDC2_NCM_SetEthernetPacketFilter (uint16_t packet_filter_bitmap);
1838 extern bool USBD_CDC2_NCM_GetEthernetStatistic (uint16_t feature_selector, uint32_t *data);
1839 extern bool USBD_CDC2_NCM_GetNtbParameters (CDC_NCM_NTB_PARAM *ntb_params);
1840 extern bool USBD_CDC2_NCM_GetNetAddress (uint8_t *net_addr);
1841 extern bool USBD_CDC2_NCM_SetNetAddress (const uint8_t *net_addr);
1842 extern bool USBD_CDC2_NCM_GetNtbFormat (uint16_t *ntb_format);
1843 extern bool USBD_CDC2_NCM_SetNtbFormat (uint16_t ntb_format);
1844 extern bool USBD_CDC2_NCM_GetNtbInputSize (uint32_t *ntb_input_size);
1845 extern bool USBD_CDC2_NCM_SetNtbInputSize (uint32_t ntb_input_size);
1846 extern bool USBD_CDC2_NCM_GetMaxDatagramSize (uint16_t *max_datagram_size);
1847 extern bool USBD_CDC2_NCM_SetMaxDatagramSize (uint16_t max_datagram_size);
1848 extern bool USBD_CDC2_NCM_GetCrcMode (uint16_t *crc_mode);
1849 extern bool USBD_CDC2_NCM_SetCrcMode (uint16_t crc_mode);
1850 extern void USBD_CDC2_NCM_NTB_IN_Sent (void);
1851 extern void USBD_CDC2_NCM_NTB_OUT_Received (void);
1852 
1853 extern void USBD_CDC3_ACM_Initialize (void);
1854 extern void USBD_CDC3_ACM_Uninitialize (void);
1855 extern void USBD_CDC3_ACM_Reset (void);
1856 extern bool USBD_CDC3_ACM_GetLineCoding ( CDC_LINE_CODING *line_coding);
1857 extern bool USBD_CDC3_ACM_SetControlLineState (uint16_t state);
1858 extern void USBD_CDC3_ACM_DataReceived (uint32_t len);
1859 extern void USBD_CDC3_ACM_DataSent (void);
1860 extern void USBD_CDC3_NCM_Initialize (void);
1861 extern void USBD_CDC3_NCM_Uninitialize (void);
1862 extern void USBD_CDC3_NCM_Reset (void);
1863 extern void USBD_CDC3_NCM_Start (void);
1864 extern void USBD_CDC3_NCM_Stop (void);
1865 extern bool USBD_CDC3_NCM_SetEthernetMulticastFilters (const uint8_t *addr_list, uint16_t num_of_filters);
1866 extern bool USBD_CDC3_NCM_SetEthernetPowerManagementPatternFilter (uint16_t filter_number, const uint8_t *pattern_filter, uint16_t pattern_filter_size);
1867 extern bool USBD_CDC3_NCM_GetEthernetPowerManagementPatternFilter (uint16_t filter_number, uint16_t *pattern_active);
1868 extern bool USBD_CDC3_NCM_SetEthernetPacketFilter (uint16_t packet_filter_bitmap);
1869 extern bool USBD_CDC3_NCM_GetEthernetStatistic (uint16_t feature_selector, uint32_t *data);
1870 extern bool USBD_CDC3_NCM_GetNtbParameters (CDC_NCM_NTB_PARAM *ntb_params);
1871 extern bool USBD_CDC3_NCM_GetNetAddress (uint8_t *net_addr);
1872 extern bool USBD_CDC3_NCM_SetNetAddress (const uint8_t *net_addr);
1873 extern bool USBD_CDC3_NCM_GetNtbFormat (uint16_t *ntb_format);
1874 extern bool USBD_CDC3_NCM_SetNtbFormat (uint16_t ntb_format);
1875 extern bool USBD_CDC3_NCM_GetNtbInputSize (uint32_t *ntb_input_size);
1876 extern bool USBD_CDC3_NCM_SetNtbInputSize (uint32_t ntb_input_size);
1877 extern bool USBD_CDC3_NCM_GetMaxDatagramSize (uint16_t *max_datagram_size);
1878 extern bool USBD_CDC3_NCM_SetMaxDatagramSize (uint16_t max_datagram_size);
1879 extern bool USBD_CDC3_NCM_GetCrcMode (uint16_t *crc_mode);
1880 extern bool USBD_CDC3_NCM_SetCrcMode (uint16_t crc_mode);
1881 extern void USBD_CDC3_NCM_NTB_IN_Sent (void);
1882 extern void USBD_CDC3_NCM_NTB_OUT_Received (void);
1883 
1884 extern void USBD_HID0_Initialize (void);
1885 extern void USBD_HID0_Uninitialize (void);
1886 extern int32_t USBD_HID0_GetReport (uint8_t rtype, uint8_t req, uint8_t rid, uint8_t *buf);
1887 extern bool USBD_HID0_SetReport (uint8_t rtype, uint8_t req, uint8_t rid, const uint8_t *buf, int32_t len);
1888 
1889 extern void USBD_HID1_Initialize (void);
1890 extern void USBD_HID1_Uninitialize (void);
1891 extern int32_t USBD_HID1_GetReport (uint8_t rtype, uint8_t req, uint8_t rid, uint8_t *buf);
1892 extern bool USBD_HID1_SetReport (uint8_t rtype, uint8_t req, uint8_t rid, const uint8_t *buf, int32_t len);
1893 
1894 extern void USBD_HID2_Initialize (void);
1895 extern void USBD_HID2_Uninitialize (void);
1896 extern int32_t USBD_HID2_GetReport (uint8_t rtype, uint8_t req, uint8_t rid, uint8_t *buf);
1897 extern bool USBD_HID2_SetReport (uint8_t rtype, uint8_t req, uint8_t rid, const uint8_t *buf, int32_t len);
1898 
1899 extern void USBD_HID3_Initialize (void);
1900 extern void USBD_HID3_Uninitialize (void);
1901 extern int32_t USBD_HID3_GetReport (uint8_t rtype, uint8_t req, uint8_t rid, uint8_t *buf);
1902 extern bool USBD_HID3_SetReport (uint8_t rtype, uint8_t req, uint8_t rid, const uint8_t *buf, int32_t len);
1903 
1904 extern void USBD_MSC0_Initialize (void);
1905 extern void USBD_MSC0_Uninitialize (void);
1906 extern bool USBD_MSC0_GetCacheInfo (uint32_t *buffer, uint32_t *size);
1907 extern bool USBD_MSC0_GetMediaCapacity (uint32_t *block_count, uint32_t *block_size);
1908 extern bool USBD_MSC0_StartStop (bool start);
1909 extern uint32_t USBD_MSC0_CheckMedia (void);
1910 extern bool USBD_MSC0_GetMaxLUN (void);
1911 extern bool USBD_MSC0_LUN_GetMediaCapacity (uint8_t lun, uint32_t *block_count, uint32_t *block_size);
1912 extern bool USBD_MSC0_LUN_Read (uint8_t lun, uint32_t lba, uint32_t cnt, uint8_t *buf);
1913 extern bool USBD_MSC0_LUN_Write (uint8_t lun, uint32_t lba, uint32_t cnt, const uint8_t *buf);
1914 extern bool USBD_MSC0_LUN_StartStop (uint8_t lun, bool start);
1915 extern uint32_t USBD_MSC0_LUN_CheckMedia (uint8_t lun);
1916 
1917 extern void USBD_MSC1_Initialize (void);
1918 extern void USBD_MSC1_Uninitialize (void);
1919 extern bool USBD_MSC1_GetCacheInfo (uint32_t *buffer, uint32_t *size);
1920 extern bool USBD_MSC1_GetMediaCapacity (uint32_t *block_count, uint32_t *block_size);
1921 extern bool USBD_MSC1_StartStop (bool start);
1922 extern uint32_t USBD_MSC1_CheckMedia (void);
1923 extern bool USBD_MSC1_GetMaxLUN (void);
1924 extern bool USBD_MSC1_LUN_GetMediaCapacity (uint8_t lun, uint32_t *block_count, uint32_t *block_size);
1925 extern bool USBD_MSC1_LUN_Read (uint8_t lun, uint32_t lba, uint32_t cnt, uint8_t *buf);
1926 extern bool USBD_MSC1_LUN_Write (uint8_t lun, uint32_t lba, uint32_t cnt, const uint8_t *buf);
1927 extern bool USBD_MSC1_LUN_StartStop (uint8_t lun, bool start);
1928 extern uint32_t USBD_MSC1_LUN_CheckMedia (uint8_t lun);
1929 
1930 extern void USBD_MSC2_Initialize (void);
1931 extern void USBD_MSC2_Uninitialize (void);
1932 extern bool USBD_MSC2_GetCacheInfo (uint32_t *buffer, uint32_t *size);
1933 extern bool USBD_MSC2_GetMediaCapacity (uint32_t *block_count, uint32_t *block_size);
1934 extern bool USBD_MSC2_StartStop (bool start);
1935 extern uint32_t USBD_MSC2_CheckMedia (void);
1936 extern bool USBD_MSC2_GetMaxLUN (void);
1937 extern bool USBD_MSC2_LUN_GetMediaCapacity (uint8_t lun, uint32_t *block_count, uint32_t *block_size);
1938 extern bool USBD_MSC2_LUN_Read (uint8_t lun, uint32_t lba, uint32_t cnt, uint8_t *buf);
1939 extern bool USBD_MSC2_LUN_Write (uint8_t lun, uint32_t lba, uint32_t cnt, const uint8_t *buf);
1940 extern bool USBD_MSC2_LUN_StartStop (uint8_t lun, bool start);
1941 extern uint32_t USBD_MSC2_LUN_CheckMedia (uint8_t lun);
1942 
1943 extern void USBD_MSC3_Initialize (void);
1944 extern void USBD_MSC3_Uninitialize (void);
1945 extern bool USBD_MSC3_GetCacheInfo (uint32_t *buffer, uint32_t *size);
1946 extern bool USBD_MSC3_GetMediaCapacity (uint32_t *block_count, uint32_t *block_size);
1947 extern bool USBD_MSC3_StartStop (bool start);
1948 extern uint32_t USBD_MSC3_CheckMedia (void);
1949 extern bool USBD_MSC3_GetMaxLUN (void);
1950 extern bool USBD_MSC3_LUN_GetMediaCapacity (uint8_t lun, uint32_t *block_count, uint32_t *block_size);
1951 extern bool USBD_MSC3_LUN_Read (uint8_t lun, uint32_t lba, uint32_t cnt, uint8_t *buf);
1952 extern bool USBD_MSC3_LUN_Write (uint8_t lun, uint32_t lba, uint32_t cnt, const uint8_t *buf);
1953 extern bool USBD_MSC3_LUN_StartStop (uint8_t lun, bool start);
1954 extern uint32_t USBD_MSC3_LUN_CheckMedia (uint8_t lun);
1955 
1956 extern void USBD_CustomClass0_Initialize (void);
1957 extern void USBD_CustomClass0_Uninitialize (void);
1958 extern void USBD_CustomClass0_Reset (void);
1959 extern void USBD_CustomClass0_EndpointStart (uint8_t ep_addr);
1960 extern void USBD_CustomClass0_EndpointStop (uint8_t ep_addr);
1961 extern usbdRequestStatus USBD_CustomClass0_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len);
1962 extern void USBD_CustomClass0_Endpoint0_SetupPacketProcessed (const USB_SETUP_PACKET *setup_packet);
1963 extern usbdRequestStatus USBD_CustomClass0_Endpoint0_OutDataReceived (uint32_t len);
1964 extern usbdRequestStatus USBD_CustomClass0_Endpoint0_InDataSent (uint32_t len);
1965 extern void USBD_CustomClass0_Endpoint1_Event (uint32_t event);
1966 extern void USBD_CustomClass0_Endpoint2_Event (uint32_t event);
1967 extern void USBD_CustomClass0_Endpoint3_Event (uint32_t event);
1968 extern void USBD_CustomClass0_Endpoint4_Event (uint32_t event);
1969 extern void USBD_CustomClass0_Endpoint5_Event (uint32_t event);
1970 extern void USBD_CustomClass0_Endpoint6_Event (uint32_t event);
1971 extern void USBD_CustomClass0_Endpoint7_Event (uint32_t event);
1972 extern void USBD_CustomClass0_Endpoint8_Event (uint32_t event);
1973 extern void USBD_CustomClass0_Endpoint9_Event (uint32_t event);
1974 extern void USBD_CustomClass0_Endpoint10_Event (uint32_t event);
1975 extern void USBD_CustomClass0_Endpoint11_Event (uint32_t event);
1976 extern void USBD_CustomClass0_Endpoint12_Event (uint32_t event);
1977 extern void USBD_CustomClass0_Endpoint13_Event (uint32_t event);
1978 extern void USBD_CustomClass0_Endpoint14_Event (uint32_t event);
1979 extern void USBD_CustomClass0_Endpoint15_Event (uint32_t event);
1980 
1981 extern void USBD_CustomClass1_Initialize (void);
1982 extern void USBD_CustomClass1_Uninitialize (void);
1983 extern void USBD_CustomClass1_Reset (void);
1984 extern void USBD_CustomClass1_EndpointStart (uint8_t ep_addr);
1985 extern void USBD_CustomClass1_EndpointStop (uint8_t ep_addr);
1986 extern usbdRequestStatus USBD_CustomClass1_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len);
1987 extern void USBD_CustomClass1_Endpoint0_SetupPacketProcessed (const USB_SETUP_PACKET *setup_packet);
1988 extern usbdRequestStatus USBD_CustomClass1_Endpoint0_OutDataReceived (uint32_t len);
1989 extern usbdRequestStatus USBD_CustomClass1_Endpoint0_InDataSent (uint32_t len);
1990 extern void USBD_CustomClass1_Endpoint1_Event (uint32_t event);
1991 extern void USBD_CustomClass1_Endpoint2_Event (uint32_t event);
1992 extern void USBD_CustomClass1_Endpoint3_Event (uint32_t event);
1993 extern void USBD_CustomClass1_Endpoint4_Event (uint32_t event);
1994 extern void USBD_CustomClass1_Endpoint5_Event (uint32_t event);
1995 extern void USBD_CustomClass1_Endpoint6_Event (uint32_t event);
1996 extern void USBD_CustomClass1_Endpoint7_Event (uint32_t event);
1997 extern void USBD_CustomClass1_Endpoint8_Event (uint32_t event);
1998 extern void USBD_CustomClass1_Endpoint9_Event (uint32_t event);
1999 extern void USBD_CustomClass1_Endpoint10_Event (uint32_t event);
2000 extern void USBD_CustomClass1_Endpoint11_Event (uint32_t event);
2001 extern void USBD_CustomClass1_Endpoint12_Event (uint32_t event);
2002 extern void USBD_CustomClass1_Endpoint13_Event (uint32_t event);
2003 extern void USBD_CustomClass1_Endpoint14_Event (uint32_t event);
2004 extern void USBD_CustomClass1_Endpoint15_Event (uint32_t event);
2005 
2006 extern void USBD_CustomClass2_Initialize (void);
2007 extern void USBD_CustomClass2_Uninitialize (void);
2008 extern void USBD_CustomClass2_Reset (void);
2009 extern void USBD_CustomClass2_EndpointStart (uint8_t ep_addr);
2010 extern void USBD_CustomClass2_EndpointStop (uint8_t ep_addr);
2011 extern usbdRequestStatus USBD_CustomClass2_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len);
2012 extern void USBD_CustomClass2_Endpoint0_SetupPacketProcessed (const USB_SETUP_PACKET *setup_packet);
2013 extern usbdRequestStatus USBD_CustomClass2_Endpoint0_OutDataReceived (uint32_t len);
2014 extern usbdRequestStatus USBD_CustomClass2_Endpoint0_InDataSent (uint32_t len);
2015 extern void USBD_CustomClass2_Endpoint1_Event (uint32_t event);
2016 extern void USBD_CustomClass2_Endpoint2_Event (uint32_t event);
2017 extern void USBD_CustomClass2_Endpoint3_Event (uint32_t event);
2018 extern void USBD_CustomClass2_Endpoint4_Event (uint32_t event);
2019 extern void USBD_CustomClass2_Endpoint5_Event (uint32_t event);
2020 extern void USBD_CustomClass2_Endpoint6_Event (uint32_t event);
2021 extern void USBD_CustomClass2_Endpoint7_Event (uint32_t event);
2022 extern void USBD_CustomClass2_Endpoint8_Event (uint32_t event);
2023 extern void USBD_CustomClass2_Endpoint9_Event (uint32_t event);
2024 extern void USBD_CustomClass2_Endpoint10_Event (uint32_t event);
2025 extern void USBD_CustomClass2_Endpoint11_Event (uint32_t event);
2026 extern void USBD_CustomClass2_Endpoint12_Event (uint32_t event);
2027 extern void USBD_CustomClass2_Endpoint13_Event (uint32_t event);
2028 extern void USBD_CustomClass2_Endpoint14_Event (uint32_t event);
2029 extern void USBD_CustomClass2_Endpoint15_Event (uint32_t event);
2030 
2031 extern void USBD_CustomClass3_Initialize (void);
2032 extern void USBD_CustomClass3_Uninitialize (void);
2033 extern void USBD_CustomClass3_Reset (void);
2034 extern void USBD_CustomClass3_EndpointStart (uint8_t ep_addr);
2035 extern void USBD_CustomClass3_EndpointStop (uint8_t ep_addr);
2036 extern usbdRequestStatus USBD_CustomClass3_Endpoint0_SetupPacketReceived (const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len);
2037 extern void USBD_CustomClass3_Endpoint0_SetupPacketProcessed (const USB_SETUP_PACKET *setup_packet);
2038 extern usbdRequestStatus USBD_CustomClass3_Endpoint0_OutDataReceived (uint32_t len);
2039 extern usbdRequestStatus USBD_CustomClass3_Endpoint0_InDataSent (uint32_t len);
2040 extern void USBD_CustomClass3_Endpoint1_Event (uint32_t event);
2041 extern void USBD_CustomClass3_Endpoint2_Event (uint32_t event);
2042 extern void USBD_CustomClass3_Endpoint3_Event (uint32_t event);
2043 extern void USBD_CustomClass3_Endpoint4_Event (uint32_t event);
2044 extern void USBD_CustomClass3_Endpoint5_Event (uint32_t event);
2045 extern void USBD_CustomClass3_Endpoint6_Event (uint32_t event);
2046 extern void USBD_CustomClass3_Endpoint7_Event (uint32_t event);
2047 extern void USBD_CustomClass3_Endpoint8_Event (uint32_t event);
2048 extern void USBD_CustomClass3_Endpoint9_Event (uint32_t event);
2049 extern void USBD_CustomClass3_Endpoint10_Event (uint32_t event);
2050 extern void USBD_CustomClass3_Endpoint11_Event (uint32_t event);
2051 extern void USBD_CustomClass3_Endpoint12_Event (uint32_t event);
2052 extern void USBD_CustomClass3_Endpoint13_Event (uint32_t event);
2053 extern void USBD_CustomClass3_Endpoint14_Event (uint32_t event);
2054 extern void USBD_CustomClass3_Endpoint15_Event (uint32_t event);
2055 
2056 
2057 // USB Device library function prototypes for configuration generation
2058 extern usbStatus USBD_CustomClass_Initialize (uint8_t instance);
2059 extern usbStatus USBD_CustomClass_Uninitialize (uint8_t instance);
2060 extern void USBD_CustomClass_Reset (uint8_t instance);
2061 extern void USBD_CustomClass_EndpointStart (uint8_t instance, uint8_t ep_addr);
2062 extern void USBD_CustomClass_EndpointStop (uint8_t instance, uint8_t ep_addr);
2063 
2064 extern usbStatus USBD_ADC_Initialize (uint8_t instance);
2065 extern usbStatus USBD_ADC_Uninitialize (uint8_t instance);
2066 extern void USBD_ADC_Reset (uint8_t instance);
2067 extern void USBD_ADC_EndpointStart (uint8_t instance, uint8_t ep_addr);
2068 extern void USBD_ADC_EndpointStop (uint8_t instance, uint8_t ep_addr);
2069 
2070 extern usbStatus USBD_CDC_Initialize (uint8_t instance);
2071 extern usbStatus USBD_CDC_Uninitialize (uint8_t instance);
2072 extern void USBD_CDC_Reset (uint8_t instance);
2073 extern void USBD_CDC_EndpointStart (uint8_t instance, uint8_t ep_addr);
2074 extern void USBD_CDC_EndpointStop (uint8_t instance, uint8_t ep_addr);
2075 
2076 extern usbStatus USBD_HID_Initialize (uint8_t instance);
2077 extern usbStatus USBD_HID_Uninitialize (uint8_t instance);
2078 extern void USBD_HID_Reset (uint8_t instance);
2079 extern void USBD_HID_SetConfiguration (uint8_t instance);
2080 extern void USBD_HID_EndpointStart (uint8_t instance, uint8_t ep_addr);
2081 extern void USBD_HID_Timer (void const *argument);
2082 
2083 
2084 extern usbStatus USBD_MSC_Initialize (uint8_t instance);
2085 extern usbStatus USBD_MSC_Uninitialize (uint8_t instance);
2086 extern void USBD_MSC_Reset (uint8_t instance);
2087 extern void USBD_MSC_EndpointStart (uint8_t instance, uint8_t ep_addr);
2088 
2089 
2090 // USB Device library configuration generated function prototypes
2091 extern usbStatus USBD_ClassInitialize (uint8_t device);
2092 extern usbStatus USBD_ClassUninitialize (uint8_t device);
2093 extern void USBD_Reset (uint8_t device);
2094 extern void USBD_SetConfiguration (uint8_t device, uint8_t configuration);
2095 extern void USBD_EndpointStart (uint8_t device, uint8_t ep_addr);
2096 extern void USBD_EndpointStop (uint8_t device, uint8_t ep_addr);
2097 
2098 
2099 // USB Device thread function prototypes
2100 extern void USBD_Core_Thread (void *arg);
2101 extern void USBD0_Core_Thread (void const *arg);
2102 extern void USBD1_Core_Thread (void const *arg);
2103 extern void USBD2_Core_Thread (void const *arg);
2104 extern void USBD3_Core_Thread (void const *arg);
2105 
2106 extern void USBD_ADC_Thread (void *arg);
2107 extern void USBD_ADC0_Thread (void const *arg);
2108 extern void USBD_ADC1_Thread (void const *arg);
2109 extern void USBD_ADC2_Thread (void const *arg);
2110 extern void USBD_ADC3_Thread (void const *arg);
2111 
2112 extern void USBD_CDC_Int_Thread (void *arg);
2113 extern void USBD_CDC0_Int_Thread (void const *arg);
2114 extern void USBD_CDC1_Int_Thread (void const *arg);
2115 extern void USBD_CDC2_Int_Thread (void const *arg);
2116 extern void USBD_CDC3_Int_Thread (void const *arg);
2117 
2118 extern void USBD_CDC_Bulk_Thread (void *arg);
2119 extern void USBD_CDC0_Bulk_Thread (void const *arg);
2120 extern void USBD_CDC1_Bulk_Thread (void const *arg);
2121 extern void USBD_CDC2_Bulk_Thread (void const *arg);
2122 extern void USBD_CDC3_Bulk_Thread (void const *arg);
2123 
2124 extern void USBD_HID_Thread (void *arg);
2125 extern void USBD_HID0_Thread (void const *arg);
2126 extern void USBD_HID1_Thread (void const *arg);
2127 extern void USBD_HID2_Thread (void const *arg);
2128 extern void USBD_HID3_Thread (void const *arg);
2129 
2130 extern void USBD_MSC_Thread (void *arg);
2131 extern void USBD_MSC0_Thread (void const *arg);
2132 extern void USBD_MSC1_Thread (void const *arg);
2133 extern void USBD_MSC2_Thread (void const *arg);
2134 extern void USBD_MSC3_Thread (void const *arg);
2135 
2136 extern void USBD_CustomClass_EP_Thread (void *arg);
2137 
2138 // USB Host OS abstraction functions
2139 extern void *USBH_ThreadCreate (usbhThread_t thread, uint8_t index);
2140 extern void *USBH_ThreadGetHandle (void);
2141 extern int32_t USBH_ThreadTerminate (void *thread_hndl);
2142 
2143 extern int32_t USBH_Delay (uint32_t millisec);
2144 
2145 extern void *USBH_TimerCreate (uint8_t ctrl);
2146 extern int32_t USBH_TimerStart (void *timer_hndl, uint32_t millisec);
2147 extern int32_t USBH_TimerStop (void *timer_hndl);
2148 extern int32_t USBH_TimerDelete (void *timer_hndl);
2149 
2150 extern uint32_t USBH_ThreadFlagsSet (void *thread_hndl, uint32_t flags);
2151 extern uint32_t USBH_ThreadFlagsWait (uint32_t millisec);
2152 
2153 extern void *USBH_MutexCreate (usbhMutex_t mutex, uint8_t ctrl);
2154 extern int32_t USBH_MutexAcquire (void *mutex_hndl, uint32_t millisec);
2155 extern int32_t USBH_MutexRelease (void *mutex_hndl);
2156 extern int32_t USBH_MutexDelete (void *mutex_hndl);
2157 
2158 extern void *USBH_SemaphoreCreate (usbhSemaphore_t semaphore, uint8_t ctrl);
2159 extern int32_t USBH_SemaphoreAcquire (void *semaphore_hndl, uint32_t millisec);
2160 extern int32_t USBH_SemaphoreRelease (void *semaphore_hndl);
2161 extern int32_t USBH_SemaphoreDelete (void *semaphore_hndl);
2162 
2163 // USB Host library function prototypes
2164 extern uint8_t USBH_CDC_Configure (uint8_t device, const USB_DEVICE_DESCRIPTOR *ptr_dev_desc, const USB_CONFIGURATION_DESCRIPTOR *ptr_cfg_desc);
2165 extern usbStatus USBH_CDC_Unconfigure (uint8_t instance);
2166 extern usbStatus USBH_CDC_Initialize_Lib (uint8_t instance);
2167 extern usbStatus USBH_CDC_Uninitialize_Lib (uint8_t instance);
2168 
2169 extern uint8_t USBH_HID_Configure (uint8_t device, const USB_DEVICE_DESCRIPTOR *ptr_dev_desc, const USB_CONFIGURATION_DESCRIPTOR *ptr_cfg_desc);
2170 extern usbStatus USBH_HID_Unconfigure (uint8_t instance);
2171 extern usbStatus USBH_HID_Initialize_Lib (uint8_t instance);
2172 extern usbStatus USBH_HID_Uninitialize_Lib (uint8_t instance);
2173 
2174 extern uint8_t USBH_MSC_Configure (uint8_t device, const USB_DEVICE_DESCRIPTOR *ptr_dev_desc, const USB_CONFIGURATION_DESCRIPTOR *ptr_cfg_desc);
2175 extern usbStatus USBH_MSC_Unconfigure (uint8_t instance);
2176 extern usbStatus USBH_MSC_Initialize_Lib (uint8_t instance);
2177 extern usbStatus USBH_MSC_Uninitialize_Lib (uint8_t instance);
2178 
2179 extern uint8_t USBH_CustomClass_Configure (uint8_t device, const USB_DEVICE_DESCRIPTOR *ptr_dev_desc, const USB_CONFIGURATION_DESCRIPTOR *ptr_cfg_desc);
2180 extern usbStatus USBH_CustomClass_Unconfigure (uint8_t instance);
2181 extern usbStatus USBH_CustomClass_Initialize (uint8_t instance);
2182 extern usbStatus USBH_CustomClass_Uninitialize (uint8_t instance);
2183 
2184 // USB Host thread function prototypes
2185 extern void USBH_Core_Thread (void *arg);
2186 extern void USBH0_Core_Thread (void const *arg);
2187 extern void USBH1_Core_Thread (void const *arg);
2188 extern void USBH2_Core_Thread (void const *arg);
2189 extern void USBH3_Core_Thread (void const *arg);
2190 
2191 extern void USBH_CDC_IntIn_Thread (void *arg);
2192 
2193 extern void USBH_HID_IntIn_Thread (void *arg);
2194 
2195 // USB Host timer function prototypes
2196 extern void USBH_ConnectDebounce (void const *arg);
2197 
2198 #ifdef __cplusplus
2199 }
2200 #endif
2201 
2202 #endif
void USBD_CustomClassn_Endpoint9_Event(uint32_t event)
Request processed but busy.
Definition: rl_usb.h:82
void USBH_Notify(uint8_t ctrl, uint8_t port, uint8_t device, USBH_NOTIFY notify)
Callback function called when some event has happened on corresponding controller and port...
Mass Storage Device (MSC) error (no device or device produced error)
Definition: rl_usb.h:52
bool USBD_CDCn_NCM_SetNtbInputSize(uint32_t ntb_input_size)
Callback function called upon USB Host request to select the maximum size of NTB that is permitted to...
usbStatus USBH_PipeReset(USBH_PIPE_HANDLE pipe_hndl)
Reset Pipe (reset data toggle)
void USBD_ADCn_PlayStop(void)
Callback function called when play stopped.
bool USBD_CDCn_NCM_GetEthernetPowerManagementPatternFilter(uint16_t filter_number, uint16_t *pattern_active)
Callback function called upon USB Host request to retrieve the status of the specified Ethernet power...
Function completed; time-out occurred.
Definition: rl_usb.h:35
usbStatus USBD_CDC_ACM_Notify(uint8_t instance, uint16_t state)
Send notification of Communication Device status and line states to USB Host.
USB Setup Packet.
Definition: usb_structs.txt:7
uint32_t USBH_CDC_ACM_GetTxCount(uint8_t instance)
Get result of send data to Communication Device Class device.
uint8_t USBH_Device_GetPort(uint8_t device)
Get index of USB Host Root HUB port to which USB Device is connected.
void USBD_CDCn_ACM_Initialize(void)
Callback function called during USBD_Initialize to initialize the USB CDC class instance (ACM) ...
CDC Line Coding structure.
Definition: usb_structs.txt:15
void USBH_MSC_Uninitialize(uint8_t instance)
Callback function called when Mass Storage Device was disconnected.
void USBD_MSCn_Initialize(void)
Callback function called during USBD_Initialize to initialize all Logical Units of the USB MSC class ...
uint32_t USBD_ADC_WrittenSamplesPending(uint8_t instance)
Number of audio samples written and pending to be sent to USB Host.
uint32_t USBH_CDC_ACM_GetRxCount(uint8_t instance)
Get result of receive data from Communication Device Class device.
void USBD_CustomClassn_Endpoint12_Event(uint32_t event)
void USBD_Devicen_Reset(void)
Callback function called upon USB Bus Reset signaling.
void USBD_CustomClassn_Endpoint15_Event(uint32_t event)
void USBD_ADCn_SetSpeakerVolume(uint8_t ch, uint16_t vol)
Callback function called when speaker volume setting changed.
void USBD_Devicen_Suspended(void)
Callback function called when USB Bus goes into suspend mode (no bus activity for 3 ms) ...
Invalid Parameter error: a mandatory parameter was missing or specified an incorrect object...
Definition: rl_usb.h:36
usbStatus USBH_Initialize(uint8_t ctrl)
Initialize USB Host stack and controller.
void USBD_CDCn_NCM_Initialize(void)
Callback function called during USBD_Initialize to initialize the USB CDC class instance (NCM) ...
void USBD_HIDn_Uninitialize(void)
Callback function called during USBD_Uninitialize to de-initialize the USB HID class instance...
int32_t USBD_CDC_NCM_NTB_IN_IsSent(uint8_t instance)
Check if NTB was sent and new NTB can be prepared.
Function completed with no error.
Definition: rl_usb.h:33
usbStatus USBH_CDC_ACM_SetLineCoding(uint8_t instance, const CDC_LINE_CODING *line_coding)
Change communication settings of Communication Device Class device.
uint32_t USBD_CDC_NCM_NTB_OUT_RawGetSize(uint8_t instance)
Get size of the received NTB.
int32_t USBD_CDC_NCM_NTB_OUT_IsReceived(uint8_t instance)
Check if NTB was received and is available for processing.
void USBD_CustomClassn_Endpoint0_SetupPacketProcessed(const USB_SETUP_PACKET *setup_packet)
Callback function called when a SETUP PACKET was processed by USB library.
uint8_t USBH_Device_GetAddress(uint8_t device)
Get communication address of USB Device.
void USBD_MSCn_Uninitialize(void)
Callback function called during USBD_Uninitialize to de-initialize all Logical Units of the USB MSC c...
usbStatus USBH_Device_GetStringDescriptor(uint8_t device, uint8_t index, uint16_t language_id, uint8_t *descriptor_data, uint16_t descriptor_length)
Get String Descriptor of USB Device.
bool USBD_CDCn_NCM_SetEthernetPacketFilter(uint16_t packet_filter_bitmap)
Callback function called upon USB Host request to configure device Ethernet packet filter settings...
bool USBD_CDCn_NCM_GetCrcMode(uint16_t *crc_mode)
Callback function called upon USB Host request to return the currently selected CRC mode...
int USBD_CDC_ACM_GetChar(uint8_t instance)
Read one character received by Communication Device from USB Host.
void USBD_Devicen_HighSpeedActivated(void)
Callback function called when USB Bus speed has changed to high-speed.
uint32_t USBD_EndpointReadGetResult(uint8_t device, uint8_t ep_addr)
Get result of read operation on Endpoint.
int32_t USBD_CDC_NCM_NTB_OUT_ProcessNDP(uint8_t instance)
Process the next NDP in the received NTB.
usbStatus USBH_PipeUpdate(USBH_PIPE_HANDLE pipe_hndl)
Update Pipe.
bool USBD_MSCn_LUN_Read(uint8_t lun, uint32_t lba, uint32_t cnt, uint8_t *buf)
Callback function called to read data from media of a logical unit.
void USBD_CustomClassn_Uninitialize(void)
Callback function called during USBD_Uninitialize to de-initialize the USB Custom class instance...
usbStatus USBD_Connect(uint8_t device)
Activate pull-up on D+ or D- line to signal USB Device connection on USB Bus.
Controller does not exist.
Definition: rl_usb.h:43
Unspecified USB error.
Definition: rl_usb.h:59
usbStatus USBH_DeviceRequest_GetDescriptor(uint8_t device, uint8_t recipient, uint8_t descriptor_type, uint8_t descriptor_index, uint16_t language_id, uint8_t *descriptor_data, uint16_t descriptor_length)
Standard Device Request on Default Pipe - GET_DESCRIPTOR.
CMSIS-RTOS Semaphore creation failed.
Definition: rl_usb.h:40
void USBD_Devicen_DisableRemoteWakeup(void)
Callback function called when Clear Feature for Remote Wakeup was requested over Control Endpoint 0...
uint32_t USBD_EndpointWriteGetResult(uint8_t device, uint8_t ep_addr)
Get result of write operation on Endpoint.
usbStatus USBH_DeviceRequest_SetInterface(uint8_t device, uint8_t index, uint8_t alternate)
Standard Device Request on Default Pipe - SET_INTERFACE.
usbStatus USBH_MSC_GetStatus(uint8_t instance)
Get status of Mass Storage Device.
void USBD_CustomClassn_Endpoint3_Event(uint32_t event)
void USBH_CDC_ACM_Notify(uint8_t instance, uint16_t status)
Callback function called when Communication Device Class device modem line or error status changes...
void USBD_ADCn_SetMicrophoneVolume(uint8_t ch, uint16_t vol)
Callback function called when microphone volume setting changed.
uint8_t USBD_MSCn_GetMaxLUN(void)
Callback function called to get maximum number of logical units.
usbStatus USBH_DeviceRequest_SetConfiguration(uint8_t device, uint8_t configuration)
Standard Device Request on Default Pipe - SET_CONFIGURATION.
int32_t USBD_CDC_NCM_NTB_IN_CreateNDP(uint8_t instance, uint8_t num_datagrams)
Create a new NDP in the NTB (datagrams can be added to it)
void USBD_CDCn_ACM_Uninitialize(void)
Callback function called during USBD_Uninitialize to de-initialize the USB CDC class instance (ACM) ...
void USBD_Devicen_EnableRemoteWakeup(void)
Callback function called when Set Feature for Remote Wakeup was requested over Control Endpoint 0...
uint8_t USBH_CustomClass_GetDevice(uint8_t instance)
Get Device instance of Custom Class Device.
usbdRequestStatus USBD_Devicen_Endpoint0_SetupPacketReceived(const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len)
Callback function called when Device received SETUP PACKET on Control Endpoint 0. ...
uint32_t USBH_PipeSendGetResult(USBH_PIPE_HANDLE pipe_hndl)
Get result of send data operation on Pipe.
Request from periodic update.
Definition: rl_usb.h:93
void USBH_HID_Uninitialize(uint8_t instance)
Callback function called when Human Interface Device was disconnected.
USBH_PIPE_HANDLE USBH_PipeCreate(uint8_t device, uint8_t ep_addr, uint8_t ep_type, uint16_t ep_max_packet_size, uint8_t ep_interval)
Create Pipe.
CMSIS-RTOS Thread creation/termination failed.
Definition: rl_usb.h:38
void USBD_CustomClassn_Endpoint13_Event(uint32_t event)
void USBH_HID_ParseReportDescriptor(uint8_t instance, const uint8_t *ptr_hid_report_desc, uint32_t len)
Callback function called for parsing of the Human Interface Device report descriptor.
int16_t y
Absolute Y position change.
Definition: rl_usb.h:164
void USBD_Devicen_ConfigurationChanged(uint8_t val)
Callback function called when Device configuration has changed.
void USBD_CustomClassn_Endpoint1_Event(uint32_t event)
Callback function called when DATA was sent or received on Endpoint n.
usbStatus USBH_DeviceRequest_SynchFrame(uint8_t device, uint8_t index, uint8_t *ptr_frame_number)
Standard Device Request on Default Pipe - SYNCH_FRAME.
usbStatus USBD_EndpointStall(uint8_t device, uint8_t ep_addr, bool stall)
Set/Clear stall on Endpoint.
void USBD_CustomClassn_Endpoint14_Event(uint32_t event)
usbStatus USBD_EndpointRead(uint8_t device, uint8_t ep_addr, uint8_t *buf, uint32_t len)
Start reception on Endpoint.
void USBD_CustomClassn_Endpoint10_Event(uint32_t event)
bool USBD_MSCn_Read(uint32_t lba, uint32_t cnt, uint8_t *buf)
Callback function called to read data from media.
void USBD_ADCn_Initialize(void)
Callback function called during USBD_Initialize to initialize the USB ADC class instance.
USBD_STATE USBD_GetState(uint8_t device)
Retrieve USB Device state.
usbStatus USBD_Initialize(uint8_t device)
Initialize USB Device stack and controller.
usbStatus USBH_MSC_Write(uint8_t instance, uint32_t lba, uint32_t cnt, const uint8_t *buf)
Write requested number of blocks to Mass Storage Device.
bool USBD_CDCn_NCM_GetNetAddress(uint8_t *net_addr)
Callback function called upon USB Host request to return the USB Device's current EUI-48 station addr...
usbStatus USBH_MSC_Read(uint8_t instance, uint32_t lba, uint32_t cnt, uint8_t *buf)
Read requested number of blocks from Mass Storage Device.
void USBD_ADCn_Uninitialize(void)
Callback function called during USBD_Uninitialize to de-initialize the USB ADC class instance...
uint8_t USBH_HID_GetDevice(uint8_t instance)
Get Device instance of Human Interface Device.
usbStatus USBH_CDC_ACM_SetControlLineState(uint8_t instance, uint16_t state)
Set control line states of Communication Device Class device.
void USBD_ADCn_SetMicrophoneMute(uint8_t ch, bool on)
Callback function called when microphone mute setting changed.
usbdRequestStatus USBD_CustomClassn_Endpoint0_InDataSent(uint32_t len)
Callback function called when IN DATA was sent on Control Endpoint 0.
Request not processed.
Definition: rl_usb.h:79
int32_t USBD_CDC_NCM_NTB_IN_Send(uint8_t instance)
Send the active NTB.
int32_t USBH_Device_GetSpeed(uint8_t device)
Get communication speed of USB Device.
bool USBD_HIDn_SetReport(uint8_t rtype, uint8_t req, uint8_t rid, const uint8_t *buf, int32_t len)
Callback function called to process received HID Report data.
usbStatus USBH_PipeReceive(USBH_PIPE_HANDLE pipe_hndl, uint8_t *buf, uint32_t len)
Receive data on Pipe.
Audio Device Class (ADC) error (no device or device produced error)
Definition: rl_usb.h:49
void USBD_CDCn_NCM_Start(void)
Callback function called when USB Host changes data interface from alternate 0 to alternate 1 (activa...
bool USBD_MSCn_GetCacheInfo(uint32_t *buffer, uint32_t *size)
Callback function called to get cache information.
void USBD_ADCn_PlayStart(void)
Callback function called when play started.
bool USBD_CDCn_ACM_SetControlLineState(uint16_t state)
Callback function called upon USB Host request to set control line states.
bool USBD_Configured(uint8_t device)
Retrieve USB Device configuration status.
uint8_t USBH_MSC_GetDevice(uint8_t instance)
Get Device instance of Mass Storage Device.
int32_t USBD_CDC_NCM_Notify_ConnectionSpeedChange(uint8_t instance, uint32_t us_bitrate, uint32_t ds_bitrate)
Report a change in upstream or downstream speed of the networking connection to the USB Host...
usbdRequestStatus USBD_CustomClassn_Endpoint0_SetupPacketReceived(const USB_SETUP_PACKET *setup_packet, uint8_t **buf, uint32_t *len)
Callback function called when a SETUP PACKET was received on Control Endpoint 0.
Definition: usb_structs.txt:1
usbStatus USBH_Port_Resume(uint8_t ctrl, uint8_t port)
Resume a root HUB port on specified controller.
usbStatus USBH_HID_GetStatus(uint8_t instance)
Get status of Human Interface Device.
uint8_t USBH_CustomClass_Configure(uint8_t device, const USB_DEVICE_DESCRIPTOR *ptr_dev_desc, const USB_CONFIGURATION_DESCRIPTOR *ptr_cfg_desc)
Callback function called when custom class device is connected and needs to configure resources used ...
usbStatus USBH_Uninitialize(uint8_t ctrl)
De-initialize USB Host stack and controller.
usbStatus USBH_CustomClass_GetStatus(uint8_t instance)
Get status of Custom Class Device.
void USBH_MSC_Initialize(uint8_t instance)
Callback function called when Mass Storage Device was enumerated and is ready.
usbStatus USBH_DeviceRequest_ClearFeature(uint8_t device, uint8_t recipient, uint8_t index, uint8_t feature_selector)
Standard Device Request on Default Pipe - CLEAR_FEATURE.
uint32_t USBD_CDC_NCM_NTB_OUT_GetDatagramSize(uint8_t instance)
Get size of a datagram from the active NDP of the received NTB.
void USBD_CustomClassn_EndpointStop(uint8_t ep_addr)
Callback function called when Endpoint Stop was requested (by de-activating interface or activating c...
void USBD_CDCn_NCM_Uninitialize(void)
Callback function called during USBD_Uninitialize to de-initialize the USB CDC class instance (NCM) ...
usbStatus USBH_CDC_ACM_Send(uint8_t instance, const uint8_t *data, uint32_t num)
Send data to Communication Device Class device.
usbStatus USBH_CDC_ACM_GetLineCoding(uint8_t instance, CDC_LINE_CODING *line_coding)
Retrieve communication settings of Communication Device Class device.
usbStatus USBD_Disconnect(uint8_t device)
Disconnect USB Device from USB Bus.
int32_t USBD_ADC_ReadSamples(uint8_t instance, void *buf, int32_t num)
Read audio samples received from USB Host.
bool USBD_CDCn_ACM_SetLineCoding(const CDC_LINE_CODING *line_coding)
Callback function called upon USB Host request to change communication settings.
int USBH_HID_GetKeyboardKey(uint8_t instance)
Retrieve first pending pressed keyboard key on HID Keyboard.
void USBD_CDCn_NCM_NTB_OUT_Received(void)
Callback function called when NTB was successfully received.
usbStatus USBD_EndpointAbort(uint8_t device, uint8_t ep_addr)
Abort read/write operation on Endpoint.
usbStatus USBH_Device_GetStatus(uint8_t device)
Get status of USB Device.
CMSIS-RTOS Mutex creation failed.
Definition: rl_usb.h:41
usbStatus USBH_DeviceRequest_SetAddress(uint8_t device, uint8_t device_address)
Standard Device Request on Default Pipe - SET_ADDRESS.
uint16_t USBH_Device_GetPID(uint8_t device)
Get Product ID (PID) of USB Device.
void USBD_ADCn_SetSpeakerMute(uint8_t ch, bool on)
Callback function called when speaker mute setting changed.
usbStatus USBD_SetSerialNumber(uint8_t device, const char *string)
Set USB Device serial number string.
void USBH_HID_DataReceived(uint8_t instance, uint32_t len)
Callback function called when data is received from the Human Interface Device.
uint8_t button
Current button states.
Definition: rl_usb.h:162
void USBD_CustomClassn_Endpoint7_Event(uint32_t event)
bool USBD_CDCn_NCM_SetEthernetPowerManagementPatternFilter(uint16_t filter_number, const uint8_t *pattern_filter, uint16_t pattern_filter_size)
Callback function called upon USB Host request to set up the specified Ethernet power management patt...
void USBD_CustomClassn_Endpoint11_Event(uint32_t event)
bool USBD_MSCn_Write(uint32_t lba, uint32_t cnt, const uint8_t *buf)
Callback function called to write data to media.
Communication Device Class (CDC) error (no device or device produced error)
Definition: rl_usb.h:50
usbStatus USBH_DeviceRequest_SetDescriptor(uint8_t device, uint8_t recipient, uint8_t descriptor_type, uint8_t descriptor_index, uint16_t language_id, const uint8_t *descriptor_data, uint16_t descriptor_length)
Standard Device Request on Default Pipe - SET_DESCRIPTOR.
Request from control endpoint.
Definition: rl_usb.h:91
void USBH_HID_Initialize(uint8_t instance)
Callback function called when Human Interface Device was enumerated and is ready. ...
bool USBD_MSCn_LUN_GetMediaCapacity(uint8_t lun, uint32_t *block_count, uint32_t *block_size)
Callback function called to get media capacity of a logical unit.
void USBD_Devicen_Resumed(void)
Callback function called when USB Bus activity has resumed.
void USBD_CDCn_NCM_Reset(void)
Callback function called upon USB Bus Reset signaling.
void USBD_Devicen_VbusChanged(bool level)
Callback function called when VBUS level changes.
usbdRequestStatus
Definition: rl_usb.txt:6628
usbdRequestStatus USBD_Devicen_Endpoint0_InDataSent(uint32_t len)
Callback function called when Device sent IN DATA on Control Endpoint 0.
usbStatus USBH_PipeAbort(USBH_PIPE_HANDLE pipe_hndl)
Abort send/receive operation on Pipe.
int32_t USBD_CDC_ACM_ReadData(uint8_t instance, uint8_t *buf, int32_t len)
Read multiple data bytes received by Communication Device from USB Host.
int32_t USBD_CDC_ACM_DataAvailable(uint8_t instance)
Retrieve number of data bytes received by Communication Device from USB Host that are available to re...
bool USBD_CDCn_NCM_SetMaxDatagramSize(uint16_t max_datagram_size)
Callback function called upon USB Host request to select the maximum datagram size that can be sent i...
int32_t USBD_CDC_NCM_Notify_NetworkConnection(uint8_t instance, uint16_t status)
Report whether or not the physical layer (modem, Ethernet PHY, etc.) link is up to the USB Host...
void USBD_CustomClassn_Endpoint6_Event(uint32_t event)
CMSIS-RTOS Timer creation/deletion failed.
Definition: rl_usb.h:39
bool USBD_MSCn_GetMediaCapacity(uint32_t *block_count, uint32_t *block_size)
Callback function called to get media capacity.
bool USBD_CDCn_NCM_SetNtbFormat(uint16_t ntb_format)
Callback function called upon USB Host request to select the format of NTB to be used for NTBs transm...
usbStatus USBH_CDC_ACM_SendBreak(uint8_t instance, uint16_t duration)
Send break on Communication Device Class device.
usbStatus USBH_CDC_ACM_GetStatus(uint8_t instance)
Get status of Communication Device Class device.
bool USBD_CDCn_NCM_GetMaxDatagramSize(uint16_t *max_datagram_size)
Callback function called upon USB Host request to return the currently effective maximum datagram siz...
void USBD_CustomClassn_Endpoint5_Event(uint32_t event)
void USBD_ADCn_RecordStart(void)
Callback function called when recording started.
int32_t USBH_HID_Write(uint8_t instance, const uint8_t *buf, int32_t len)
Write data to Human Interface Device.
bool USBD_CDCn_NCM_GetNtbInputSize(uint32_t *ntb_input_size)
Callback function called upon USB Host request to return NTB input size currently being used...
bool USBD_CDCn_NCM_SetCrcMode(uint16_t crc_mode)
Callback function called upon USB Host request to control CRC mode.
bool USBD_MSCn_LUN_Write(uint8_t lun, uint32_t lba, uint32_t cnt, const uint8_t *buf)
Callback function called to write data to media of a logical unit.
uint32_t USBH_PipeReceiveGetResult(USBH_PIPE_HANDLE pipe_hndl)
Get result of receive data operation on Pipe.
Request processed and OK.
Definition: rl_usb.h:80
void USBD_CDCn_ACM_DataReceived(uint32_t len)
Callback function called when new data was received.
usbStatus USBH_CustomClass_Initialize(uint8_t instance)
Callback function called when custom class device is connected and needs to initialize custom class d...
bool USBD_CDCn_NCM_GetEthernetStatistic(uint16_t feature_selector, uint32_t *data)
Callback function called upon USB Host request to retrieve a statistic based on the feature selector...
void USBD_Devicen_Uninitialize(void)
Callback function called during USBD_Uninitialize to de-initialize the USB Device.
usbStatus USBD_Uninitialize(uint8_t device)
De-initialize USB Device stack and controller.
uint32_t USBH_GetVersion(void)
Get version of USB Host stack.
Device is not configured (is connected)
Definition: rl_usb.h:48
usbStatus USBH_DeviceRequest_GetStatus(uint8_t device, uint8_t recipient, uint8_t index, uint8_t *ptr_stat_dat)
Standard Device Request on Default Pipe - GET_STATUS.
Mouse state information.
Definition: rl_usb.h:160
uint8_t USBH_Device_GetController(uint8_t device)
Get index of USB Host controller to which USB Device is connected.
usbStatus USBH_PipeDelete(USBH_PIPE_HANDLE pipe_hndl)
Delete Pipe.
usbStatus
Definition: rl_usb.txt:6630
usbdRequestStatus USBD_Devicen_Endpoint0_OutDataReceived(uint32_t len)
Callback function called when Device received OUT DATA on Control Endpoint 0.
void USBH_CDC_ACM_Uninitialize(uint8_t instance)
Callback function called when Communication Device Class device was disconnected. ...
usbStatus USBH_DeviceRequest_SetFeature(uint8_t device, uint8_t recipient, uint8_t index, uint8_t feature_selector)
Standard Device Request on Default Pipe - SET_FEATURE.
void USBD_CustomClassn_Endpoint4_Event(uint32_t event)
void USBD_CustomClassn_Reset(void)
Callback function called upon USB Bus Reset signaling.
void USBD_CustomClassn_Endpoint8_Event(uint32_t event)
usbStatus USBH_MSC_ReadCapacity(uint8_t instance, uint32_t *block_count, uint32_t *block_size)
Read capacity of Mass Storage Device.
void USBD_ADCn_ReceivedSamples(void)
Callback function called when data in USB buffer for speaker samples reaches half-full from empty...
int32_t USBD_CDC_NCM_NTB_IN_WriteDatagram(uint8_t instance, const uint8_t *buf, uint32_t len)
Add a datagram into the active NDP of the NTB to be sent.
Custom device Class (Class) error (no device or device produced error)
Definition: rl_usb.h:53
Request processed but unsupported.
Definition: rl_usb.h:81
uint32_t USBD_MSCn_CheckMedia(void)
Callback function called to check media presence and write protect status.
void USBD_Devicen_Initialize(void)
Callback function called during USBD_Initialize to initialize the USB Device.
Request from interrupt endpoint.
Definition: rl_usb.h:92
usbdRequestStatus USBD_CustomClassn_Endpoint0_OutDataReceived(uint32_t len)
Callback function called when OUT DATA was received on Control Endpoint 0.
Device does not exist.
Definition: rl_usb.h:44
bool USBD_CDCn_NCM_SetNetAddress(const uint8_t *net_addr)
Callback function called upon USB Host request to set the USB Device's current EUI-48 station address...
uint32_t USBD_GetVersion(void)
Get version of USB Device stack.
void USBD_Devicen_Endpoint0_SetupPacketProcessed(const USB_SETUP_PACKET *setup_packet)
Callback function called when SETUP PACKET was processed by USB library.
usbStatus USBH_DeviceRequest_GetInterface(uint8_t device, uint8_t index, uint8_t *ptr_alternate)
Standard Device Request on Default Pipe - GET_INTERFACE.
usbStatus USBD_HID_GetReportTrigger(uint8_t instance, uint8_t rid, const uint8_t *buf, uint32_t len)
Asynchronously prepare HID Report data to send.
usbStatus USBH_CustomClass_Unconfigure(uint8_t instance)
Callback function called when custom class device is disconnected and needs to de-configure resources...
Memory management function produced error.
Definition: rl_usb.h:47
usbStatus USBD_ADC_SetMicrophoneVolumeRange(uint8_t instance, uint8_t ch, uint16_t min, uint16_t max, uint16_t res, uint16_t cur)
Set range for microphone volume (level) control.
USBD_HID_REQ_t
Definition: rl_usb.txt:6629
bool USBD_CDCn_NCM_GetNtbFormat(uint16_t *ntb_format)
Callback function called upon USB Host request to return the NTB data format currently being used...
Transfer error.
Definition: rl_usb.h:57
bool USBD_CDCn_NCM_SetEthernetMulticastFilters(const uint8_t *addr_list, uint16_t num_of_filters)
Callback function called upon USB Host request to set the Ethernet device multicast filters...
void USBD_ADCn_RecordStop(void)
Callback function called when recording stopped.
usbStatus USBH_PipeSend(USBH_PIPE_HANDLE pipe_hndl, const uint8_t *buf, uint32_t len)
Send data on Pipe.
void USBD_CDCn_NCM_NTB_IN_Sent(void)
Callback function called when NTB was successfully sent.
usbStatus USBH_DeviceRequest_GetConfiguration(uint8_t device, uint8_t *ptr_configuration)
Standard Device Request on Default Pipe - GET_CONFIGURATION.
int32_t USBD_CDC_NCM_NTB_IN_RawSend(uint8_t instance, const uint8_t *buf, uint32_t len)
Send already prepared NTB (for this option value of define in configuration USBD_CDCn_NCM_RAW_ENABLE ...
int32_t USBD_HIDn_GetReport(uint8_t rtype, uint8_t req, uint8_t rid, uint8_t *buf)
Callback function called to prepare HID Report data to send.
void USBD_CustomClassn_EndpointStart(uint8_t ep_addr)
Callback function called when Endpoint Start was requested (by activating interface or configuration)...
usbStatus USBH_ControlTransfer(uint8_t device, const USB_SETUP_PACKET *setup_packet, uint8_t *data, uint32_t len)
Do a Control Transfer on Default Pipe.
void USBD_CDCn_ACM_DataSent(void)
Callback function called when all data was sent.
void USBD_HIDn_Initialize(void)
Callback function called during USBD_Initialize to initialize the USB HID class instance.
bool USBD_CDCn_ACM_GetLineCoding(CDC_LINE_CODING *line_coding)
Callback function called upon USB Host request to retrieve communication settings.
usbStatus USBH_HID_GetMouseState(uint8_t instance, usbHID_MouseState *state)
Retrieve state change since last call of this function.
void USBD_CDCn_ACM_Reset(void)
Callback function called upon USB Bus Reset signaling.
int16_t x
Absolute X position change.
Definition: rl_usb.h:163
int32_t USBD_CDC_NCM_NTB_OUT_RawReceive(uint8_t instance, uint8_t *buf, uint32_t max_len)
Receive an NDP (for this option value of define in configuration USBD_CDCn_NCM_RAW_ENABLE has to be 1...
uint8_t reserved
Reserved byte (for alignment)
Definition: rl_usb.h:161
void USBH_CDC_ACM_Initialize(uint8_t instance)
Callback function called when Communication Device Class device was enumerated and is ready...
Driver function produced error.
Definition: rl_usb.h:45
int32_t USBH_HID_Read(uint8_t instance, uint8_t *buf, int32_t len)
Read data received from Human Interface Device.
uint32_t USBD_MSCn_LUN_CheckMedia(uint8_t lun)
Callback function called to check media presence and write protect status of a logical unit...
int32_t USBD_CDC_NCM_NTB_OUT_ReadDatagram(uint8_t instance, uint8_t *buf, uint32_t max_len)
Read a datagram from the active NDP of the received NTB.
Driver function is busy.
Definition: rl_usb.h:46
int32_t USBD_ADC_WriteSamples(uint8_t instance, const void *buf, int32_t num)
Write audio samples to be transferred to USB Host.
uint8_t USBH_CDC_ACM_GetDevice(uint8_t instance)
Get Device instance of Communication Device Class device.
uint32_t USBD_ADC_ReceivedSamplesAvailable(uint8_t instance)
Number of audio samples received from USB Host and available to be read.
Transfer handshake was stall.
Definition: rl_usb.h:56
usbStatus USBD_ADC_SetSpeakerVolumeRange(uint8_t instance, uint8_t ch, uint16_t min, uint16_t max, uint16_t res, uint16_t cur)
Set range for speaker volume control.
int USBD_CDC_ACM_PutChar(uint8_t instance, int ch)
Write a single character from Communication Device to USB Host.
void USBD_CustomClassn_Initialize(void)
Callback function called during USBD_Initialize to initialize the USB Custom class instance...
int32_t USBD_CDC_ACM_WriteData(uint8_t instance, const uint8_t *buf, int32_t len)
Write data from Communication Device to USB Host.
void USBD_CDCn_NCM_Stop(void)
Callback function called when USB Host changes data interface from alternate 1 to alternate 0 (de-act...
Unsupported Class.
Definition: rl_usb.h:54
usbStatus USBH_CustomClass_Uninitialize(uint8_t instance)
Callback function called when custom class device is disconnected and needs to de-initialize custom c...
uint16_t USBH_Device_GetVID(uint8_t device)
Get Vendor ID (VID) of USB Device.
usbStatus USBD_EndpointWrite(uint8_t device, uint8_t ep_addr, const uint8_t *buf, uint32_t len)
Start write on Endpoint.
usbStatus USBH_CDC_ACM_Receive(uint8_t instance, uint8_t *data, uint32_t num)
Receive data from Communication Device Class device.
bool USBD_CDCn_NCM_GetNtbParameters(CDC_NCM_NTB_PARAM *ntb_params)
Callback function called upon USB Host request to retrieve the parameters that describe NTBs for each...
int32_t USBD_CDC_NCM_NTB_OUT_Release(uint8_t instance)
Flush the received NTB and release memory for reception of a new NTB.
void USBD_CustomClassn_Endpoint2_Event(uint32_t event)
usbStatus USBH_Port_Suspend(uint8_t ctrl, uint8_t port)
Suspend a root HUB port on specified controller.
Human Interface Device (HID) error (no device or device produced error)
Definition: rl_usb.h:51
int32_t USBD_CDC_NCM_NTB_IN_Initialize(uint8_t instance)
Clear the active NTB (prepared for sending)