@ -150,7 +150,7 @@ void USB_Printer_Host(void)
}
/* Some printers use alternate settings to determine the communication protocol used - if so, send a SetInterface
* request to switch to the interface alternate setting with the Bidirection protocol */
* request to switch to the interface alternate setting with the Bidirection al protocol */
if ( PrinterAltSetting )
{
USB_ControlRequest = ( USB_Request_Header_t )
@ -181,8 +181,8 @@ void USB_Printer_Host(void)
case HOST_STATE_Configured :
puts_P ( PSTR ( " Retrieving Device ID... \r \n " ) ) ;
Device_ID_String_t DeviceIDString ;
if ( ( ErrorCode = Printer_GetDeviceID ( & DeviceIDString ) ) ! = HOST_SENDCONTROL_Successful )
char DeviceIDString [ 128 ] ;
if ( ( ErrorCode = Printer_GetDeviceID ( DeviceIDString , sizeof ( DeviceIDString ) ) ) ! = HOST_SENDCONTROL_Successful )
{
puts_P ( PSTR ( " Control Error (Get DeviceID). \r \n " ) ) ;
printf_P ( PSTR ( " -- Error Code: %d \r \n " ) , ErrorCode ) ;
@ -195,7 +195,7 @@ void USB_Printer_Host(void)
break ;
}
printf_P ( PSTR ( " Printer Device ID: %s \r \n " ) , DeviceIDString .String );
printf_P ( PSTR ( " Printer Device ID: %s \r \n " ) , DeviceIDString );
puts_P ( PSTR ( " Printer Enumerated. \r \n " ) ) ;
@ -205,30 +205,25 @@ void USB_Printer_Host(void)
/* Indicate device busy via the status LEDs */
LEDs_SetAllLEDs ( LEDMASK_USB_BUSY ) ;
//--------------------------------------------------------------
# define TEST_TEXT_PAGE "\033%-12345X\033E LUFA PCL Test Page \033E\033%-12345X"
// #define TEST_TEXT_PAGE "\033@\033i\001\033X\001\060\000\r\nLUFA ESCP/2 Test Page\r\n"
# define PAGE_SIZE (sizeof(TEST_TEXT_PAGE) - 1)
char PCL_Test_Page [ ] = " \033 %-12345X \033 E LUFA PCL Test Page \033 E \033 %-12345X " ;
// char ESCP2_Test_Page[] = "\033@\033i\001\033X\001\060\000\r\nLUFA ESCP/2 Test Page\r\n";
Pipe_SelectPipe ( PRINTER_DATA_OUT_PIPE ) ;
Pipe_Unfreeze ( ) ;
printf_P ( PSTR ( " Sending Test Page (%d bytes)... \r \n " ) , strlen ( PCL_Test_Page ) ) ;
puts_P ( PSTR ( " Waiting for Printer to Become Ready... \r \n " ) ) ;
while ( ! ( Pipe_IsReadWriteAllowed ( ) ) ) ;
printf_P ( PSTR ( " Printer Write Allowed, Sending Page (%d bytes)... \r \n " ) , PAGE_SIZE ) ;
Pipe_Write_Stream_LE ( TEST_TEXT_PAGE , PAGE_SIZE ) ;
Pipe_ClearOUT ( ) ;
if ( ( ErrorCode = Printer_SendData ( PCL_Test_Page ) ) ! = PIPE_RWSTREAM_NoError )
{
puts_P ( PSTR ( " Error Sending Test Page. \r \n " ) ) ;
printf_P ( PSTR ( " -- Error Code: %d \r \n " ) , ErrorCode ) ;
puts_P ( PSTR ( " Page Sent, Waiting for Pipe... \r \n " ) ) ;
/* Indicate error via status LEDs */
LEDs_SetAllLEDs ( LEDMASK_USB_ERROR ) ;
while ( ! ( Pipe_IsReadWriteAllowed ( ) ) ) ;
Pipe_Freeze ( ) ;
/* Wait until USB device disconnected */
USB_HostState = HOST_STATE_WaitForDeviceRemoval ;
break ;
}
puts_P ( PSTR ( " Pipe Frozen. \r \n " ) ) ;
//--------------------------------------------------------------
puts_P ( PSTR ( " Test Page Sent, Waiting for Pipe... \r \n " ) ) ;
/* Indicate device no longer busy */
LEDs_SetAllLEDs ( LEDMASK_USB_READY ) ;