Add return codes to the CDC Host Class driver String/Byte transmission functions.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / CDC.c
index e75bee2..cb70808 100644 (file)
@@ -256,21 +256,27 @@ uint8_t CDC_Host_SendControlLineStateChange(USB_ClassInfo_CDC_Host_t* CDCInterfa
        return USB_Host_SendControlRequest(NULL);\r
 }\r
 \r
-void CDC_Host_SendString(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, char* Data, uint16_t Length)\r
+uint8_t CDC_Host_SendString(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, char* Data, uint16_t Length)\r
 {\r
        if ((USB_HostState != HOST_STATE_Configured) || !(CDCInterfaceInfo->State.Active))\r
          return;\r
 \r
+       uint8_t ErrorCode;\r
+\r
        Pipe_SelectPipe(CDCInterfaceInfo->Config.DataOUTPipeNumber);    \r
        Pipe_Unfreeze();\r
-       Pipe_Write_Stream_LE(Data, Length, NO_STREAM_CALLBACK); \r
+       ErrorCode = Pipe_Write_Stream_LE(Data, Length, NO_STREAM_CALLBACK);\r
        Pipe_Freeze();\r
+       \r
+       return ErrorCode;\r
 }\r
 \r
-void CDC_Host_SendByte(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, uint8_t Data)\r
+uint8_t CDC_Host_SendByte(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, uint8_t Data)\r
 {\r
        if ((USB_HostState != HOST_STATE_Configured) || !(CDCInterfaceInfo->State.Active))\r
          return;\r
+         \r
+       uint8_t ErrorCode = PIPE_READYWAIT_NoError;\r
 \r
        Pipe_SelectPipe(CDCInterfaceInfo->Config.DataOUTPipeNumber);    \r
        Pipe_Unfreeze();\r
@@ -278,11 +284,13 @@ void CDC_Host_SendByte(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, uint8_t Data)
        if (!(Pipe_IsReadWriteAllowed()))\r
        {\r
                Pipe_ClearOUT();\r
-               Pipe_WaitUntilReady();\r
+               ErrorCode = Pipe_WaitUntilReady();\r
        }\r
 \r
        Pipe_Write_Byte(Data);  \r
        Pipe_Freeze();\r
+       \r
+       return ErrorCode;\r
 }\r
 \r
 uint16_t CDC_Host_BytesReceived(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo)\r