Fixed compilation error in the AudioInput demos when MICROPHONE_BIASED_TO_HALF_RAIL...
[pub/USBasp.git] / Demos / Host / LowLevel / PrinterHost / PrinterHost.c
index bd84f19..6840138 100644 (file)
@@ -1,21 +1,21 @@
 /*\r
              LUFA Library\r
-     Copyright (C) Dean Camera, 2009.\r
+     Copyright (C) Dean Camera, 2010.\r
               \r
   dean [at] fourwalledcubicle [dot] com\r
       www.fourwalledcubicle.com\r
 */\r
 \r
 /*\r
-  Copyright 2009  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
-\r
-  Permission to use, copy, modify, and distribute this software\r
-  and its documentation for any purpose and without fee is hereby\r
-  granted, provided that the above copyright notice appear in all\r
-  copies and that both that the copyright notice and this\r
-  permission notice and warranty disclaimer appear in supporting\r
-  documentation, and that the name of the author not be used in\r
-  advertising or publicity pertaining to distribution of the\r
+  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)\r
+\r
+  Permission to use, copy, modify, distribute, and sell this \r
+  software and its documentation for any purpose is hereby granted\r
+  without fee, provided that the above copyright notice appear in \r
+  all copies and that both that the copyright notice and this\r
+  permission notice and warranty disclaimer appear in supporting \r
+  documentation, and that the name of the author not be used in \r
+  advertising or publicity pertaining to distribution of the \r
   software without specific, written prior permission.\r
 \r
   The author disclaim all warranties with regard to this\r
@@ -37,7 +37,7 @@
 #include "PrinterHost.h"\r
 \r
 /** Main program entry point. This routine configures the hardware required by the application, then\r
- *  starts the scheduler to run the application tasks.\r
+ *  enters a loop to run the application tasks in sequence.\r
  */\r
 int main(void)\r
 {\r
@@ -101,8 +101,8 @@ void EVENT_USB_Host_HostError(uint8_t ErrorCode)
 {\r
        USB_ShutDown();\r
 \r
-       puts_P(PSTR(ESC_FG_RED "Host Mode Error\r\n"));\r
-       printf_P(PSTR(" -- Error Code %d\r\n" ESC_FG_WHITE), ErrorCode);\r
+       printf_P(PSTR(ESC_FG_RED "Host Mode Error\r\n"\r
+                                " -- Error Code %d\r\n" ESC_FG_WHITE), ErrorCode);\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
        for(;;);\r
@@ -113,10 +113,10 @@ void EVENT_USB_Host_HostError(uint8_t ErrorCode)
  */\r
 void EVENT_USB_Host_DeviceEnumerationFailed(uint8_t ErrorCode, uint8_t SubErrorCode)\r
 {\r
-       puts_P(PSTR(ESC_FG_RED "Dev Enum Error\r\n"));\r
-       printf_P(PSTR(" -- Error Code %d\r\n"), ErrorCode);\r
-       printf_P(PSTR(" -- Sub Error Code %d\r\n"), SubErrorCode);\r
-       printf_P(PSTR(" -- In State %d\r\n" ESC_FG_WHITE), USB_HostState);\r
+       printf_P(PSTR(ESC_FG_RED "Dev Enum Error\r\n"\r
+                                " -- Error Code %d\r\n"\r
+                                " -- Sub Error Code %d\r\n"\r
+                                " -- In State %d\r\n" ESC_FG_WHITE), ErrorCode, SubErrorCode, USB_HostState);\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
 }\r
@@ -157,8 +157,8 @@ void USB_Printer_Host(void)
                        /* Set the device configuration to the first configuration (rarely do devices use multiple configurations) */\r
                        if ((ErrorCode = USB_Host_SetDeviceConfiguration(1)) != HOST_SENDCONTROL_Successful)\r
                        {\r
-                               puts_P(PSTR(ESC_FG_RED "Control Error (Set Configuration).\r\n"));\r
-                               printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);\r
+                               printf_P(PSTR(ESC_FG_RED "Control Error (Set Configuration).\r\n"\r
+                                                        " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);\r
 \r
                                /* Indicate error via status LEDs */\r
                                LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
@@ -174,17 +174,17 @@ void USB_Printer_Host(void)
                        {\r
                                USB_ControlRequest = (USB_Request_Header_t)\r
                                        {\r
-                                               bmRequestType: (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_INTERFACE),\r
-                                               bRequest:      REQ_SetInterface,\r
-                                               wValue:        PrinterAltSetting,\r
-                                               wIndex:        PrinterInterfaceNumber,\r
-                                               wLength:       0,\r
+                                               .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_INTERFACE),\r
+                                               .bRequest      = REQ_SetInterface,\r
+                                               .wValue        = PrinterAltSetting,\r
+                                               .wIndex        = PrinterInterfaceNumber,\r
+                                               .wLength       = 0,\r
                                        };\r
                                        \r
                                if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)\r
                                {\r
-                                       puts_P(PSTR(ESC_FG_RED "Control Error (Set Interface).\r\n"));\r
-                                       printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);\r
+                                       printf_P(PSTR(ESC_FG_RED "Control Error (Set Interface).\r\n"\r
+                                                                " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);\r
 \r
                                        /* Indicate error via status LEDs */\r
                                        LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
@@ -197,11 +197,11 @@ void USB_Printer_Host(void)
                        \r
                        puts_P(PSTR("Retrieving Device ID...\r\n"));\r
                \r
-                       char DeviceIDString[256];\r
+                       char DeviceIDString[300];\r
                        if ((ErrorCode = Printer_GetDeviceID(DeviceIDString, sizeof(DeviceIDString))) != HOST_SENDCONTROL_Successful)\r
                        {\r
-                               puts_P(PSTR(ESC_FG_RED "Control Error (Get DeviceID).\r\n"));\r
-                               printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);\r
+                               printf_P(PSTR(ESC_FG_RED "Control Error (Get Device ID).\r\n"\r
+                                                        " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);\r
 \r
                                /* Indicate error via status LEDs */\r
                                LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
@@ -221,18 +221,15 @@ void USB_Printer_Host(void)
                        /* Indicate device busy via the status LEDs */\r
                        LEDs_SetAllLEDs(LEDMASK_USB_BUSY);\r
                \r
-                       Printer_Data_t TestPageData =\r
-                               {\r
-                                       "\033%-12345X\033E" "LUFA PCL Test Page" "\033E\033%-12345X",\r
-                                       (sizeof(TestPageData.Data) - 1)\r
-                               };\r
+                       char  TestPageData[]    = "\033%-12345X\033E" "LUFA PCL Test Page" "\033E\033%-12345X";\r
+                       uint16_t TestPageLength = strlen(TestPageData);\r
                \r
-                       printf_P(PSTR("Sending Test Page (%d bytes)...\r\n"), TestPageData.Length);\r
+                       printf_P(PSTR("Sending Test Page (%d bytes)...\r\n"), TestPageLength);\r
 \r
-                       if ((ErrorCode = Printer_SendData(&TestPageData)) != PIPE_RWSTREAM_NoError)\r
+                       if ((ErrorCode = Printer_SendData(&TestPageData, TestPageLength)) != PIPE_RWSTREAM_NoError)\r
                        {\r
-                               puts_P(PSTR(ESC_FG_RED "Error Sending Test Page.\r\n"));\r
-                               printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);\r
+                               printf_P(PSTR(ESC_FG_RED "Error Sending Test Page.\r\n"\r
+                                                        " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);\r
 \r
                                /* Indicate error via status LEDs */\r
                                LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r