Partial commit: Rename USBFOO LED driver to fix capitalisation of file name, which...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / Printer.c
index 3994b97..290393a 100644 (file)
@@ -29,7 +29,8 @@
 */
 
 #define  __INCLUDE_FROM_USB_DRIVER
 */
 
 #define  __INCLUDE_FROM_USB_DRIVER
-#include "../../HighLevel/USBMode.h"
+#include "../../Core/USBMode.h"
+
 #if defined(USB_CAN_BE_HOST)
 
 #define  __INCLUDE_FROM_PRINTER_DRIVER
 #if defined(USB_CAN_BE_HOST)
 
 #define  __INCLUDE_FROM_PRINTER_DRIVER
@@ -180,19 +181,11 @@ uint8_t PRNT_Host_SetBidirectionalMode(USB_ClassInfo_PRNT_Host_t* const PRNTInte
        {
                uint8_t ErrorCode;
 
        {
                uint8_t ErrorCode;
 
-               USB_ControlRequest = (USB_Request_Header_t)
-                       {
-                               .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_INTERFACE),
-                               .bRequest      = REQ_SetInterface,
-                               .wValue        = PRNTInterfaceInfo->State.AlternateSetting,
-                               .wIndex        = PRNTInterfaceInfo->State.InterfaceNumber,
-                               .wLength       = 0,
-                       };
-
-               Pipe_SelectPipe(PIPE_CONTROLPIPE);
-
-               if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
-                 return ErrorCode;
+               if ((ErrorCode = USB_Host_SetInterfaceAltSetting(PRNTInterfaceInfo->State.InterfaceNumber,
+                                                                PRNTInterfaceInfo->State.AlternateSetting)) != HOST_SENDCONTROL_Successful)
+               {
+                       return ErrorCode;
+               }
        }
 
        return HOST_SENDCONTROL_Successful;
        }
 
        return HOST_SENDCONTROL_Successful;
@@ -280,15 +273,38 @@ uint8_t PRNT_Host_SendByte(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
                  return ErrorCode;
        }
 
                  return ErrorCode;
        }
 
-       Pipe_Write_Byte(Data);
+       Pipe_Write_8(Data);
        Pipe_Freeze();
 
        return PIPE_READYWAIT_NoError;
 }
 
 uint8_t PRNT_Host_SendString(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
        Pipe_Freeze();
 
        return PIPE_READYWAIT_NoError;
 }
 
 uint8_t PRNT_Host_SendString(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
-                             void* Buffer,
-                             const uint16_t Length)
+                             void* String)
+{
+       uint8_t ErrorCode;
+
+       if ((USB_HostState != HOST_STATE_Configured) || !(PRNTInterfaceInfo->State.IsActive))
+         return PIPE_RWSTREAM_DeviceDisconnected;
+
+       Pipe_SelectPipe(PRNTInterfaceInfo->Config.DataOUTPipeNumber);
+       Pipe_Unfreeze();
+
+       if ((ErrorCode = Pipe_Write_Stream_LE(String, strlen(String), NULL)) != PIPE_RWSTREAM_NoError)
+         return ErrorCode;
+
+       Pipe_ClearOUT();
+
+       ErrorCode = Pipe_WaitUntilReady();
+
+       Pipe_Freeze();
+
+       return ErrorCode;
+}
+
+uint8_t PRNT_Host_SendData(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo,
+                           void* Buffer,
+                           const uint16_t Length)
 {
        uint8_t ErrorCode;
 
 {
        uint8_t ErrorCode;
 
@@ -353,7 +369,7 @@ int16_t PRNT_Host_ReceiveByte(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo
        if (Pipe_IsINReceived())
        {
                if (Pipe_BytesInPipe())
        if (Pipe_IsINReceived())
        {
                if (Pipe_BytesInPipe())
-                 ReceivedByte = Pipe_Read_Byte();
+                 ReceivedByte = Pipe_Read_8();
 
                if (!(Pipe_BytesInPipe()))
                  Pipe_ClearIN();
 
                if (!(Pipe_BytesInPipe()))
                  Pipe_ClearIN();