*/
#define __INCLUDE_FROM_USB_DRIVER
-#include "../../HighLevel/USBMode.h"
+#include "../../Core/USBMode.h"
+
#if defined(USB_CAN_BE_HOST)
#define __INCLUDE_FROM_CDC_DRIVER
if (PipeNum == CDCInterfaceInfo->Config.DataINPipeNumber)
{
- Size = DataINEndpoint->EndpointSize;
+ Size = le16_to_cpu(DataINEndpoint->EndpointSize);
EndpointAddress = DataINEndpoint->EndpointAddress;
Token = PIPE_TOKEN_IN;
Type = EP_TYPE_BULK;
}
else if (PipeNum == CDCInterfaceInfo->Config.DataOUTPipeNumber)
{
- Size = DataOUTEndpoint->EndpointSize;
+ Size = le16_to_cpu(DataOUTEndpoint->EndpointSize);
EndpointAddress = DataOUTEndpoint->EndpointAddress;
Token = PIPE_TOKEN_OUT;
Type = EP_TYPE_BULK;
}
else if (PipeNum == CDCInterfaceInfo->Config.NotificationPipeNumber)
{
- Size = NotificationEndpoint->EndpointSize;
+ Size = le16_to_cpu(NotificationEndpoint->EndpointSize);
EndpointAddress = NotificationEndpoint->EndpointAddress;
Token = PIPE_TOKEN_IN;
Type = EP_TYPE_INTERRUPT;
return USB_Host_SendControlRequest(NULL);
}
+uint8_t CDC_Host_SendData(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
+ const uint8_t* const Buffer,
+ const uint16_t Length)
+{
+ if ((USB_HostState != HOST_STATE_Configured) || !(CDCInterfaceInfo->State.IsActive))
+ return PIPE_READYWAIT_DeviceDisconnected;
+
+ uint8_t ErrorCode;
+
+ Pipe_SelectPipe(CDCInterfaceInfo->Config.DataOUTPipeNumber);
+
+ Pipe_Unfreeze();
+ ErrorCode = Pipe_Write_Stream_LE(Buffer, Length, NULL);
+ Pipe_Freeze();
+
+ return ErrorCode;
+}
+
uint8_t CDC_Host_SendString(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
- const char* const Data,
- const uint16_t Length)
+ const char* const String)
{
if ((USB_HostState != HOST_STATE_Configured) || !(CDCInterfaceInfo->State.IsActive))
return PIPE_READYWAIT_DeviceDisconnected;
Pipe_SelectPipe(CDCInterfaceInfo->Config.DataOUTPipeNumber);
Pipe_Unfreeze();
- ErrorCode = Pipe_Write_Stream_LE(Data, Length, NULL);
+ ErrorCode = Pipe_Write_Stream_LE(String, strlen(String), NULL);
Pipe_Freeze();
return ErrorCode;
return ErrorCode;
}
- Pipe_Write_Byte(Data);
+ Pipe_Write_8(Data);
Pipe_Freeze();
return PIPE_READYWAIT_NoError;
if (Pipe_IsINReceived())
{
if (Pipe_BytesInPipe())
- ReceivedByte = Pipe_Read_Byte();
+ ReceivedByte = Pipe_Read_8();
if (!(Pipe_BytesInPipe()))
Pipe_ClearIN();
return PIPE_READYWAIT_NoError;
}
+#if defined(FDEV_SETUP_STREAM)
void CDC_Host_CreateStream(USB_ClassInfo_CDC_Host_t* const CDCInterfaceInfo,
FILE* const Stream)
{
return ReceivedByte;
}
+#endif
void CDC_Host_Event_Stub(void)
{