Fixed incorrect PIPE_EPNUM_MASK mask causing pipe failures on devices with endpoint addresses of 8 and above (thanks to John Andrews).

pull/1469/head
Dean Camera 16 years ago
parent b243c2b80b
commit 9d2613d908

@ -90,3 +90,4 @@ uint8_t Printer_SoftReset(void)
return USB_Host_SendControlRequest(NULL); return USB_Host_SendControlRequest(NULL);
} }

@ -184,6 +184,8 @@ void USB_Printer_Host(void)
//-------------------------------------------------------------- //--------------------------------------------------------------
#define TEST_TEXT_PAGE "\033%-12345X\033E LUFA PCL Test Page \033E\033%-12345X" #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)
Pipe_SelectPipe(PRINTER_DATA_OUT_PIPE); Pipe_SelectPipe(PRINTER_DATA_OUT_PIPE);
Pipe_Unfreeze(); Pipe_Unfreeze();
@ -192,14 +194,12 @@ void USB_Printer_Host(void)
while (!(Pipe_IsReadWriteAllowed())); while (!(Pipe_IsReadWriteAllowed()));
uint8_t strSize = sizeof(TEST_TEXT_PAGE)-1; printf_P(PSTR("Printer Write Allowed, Sending Page (%d bytes)...\r\n"), PAGE_SIZE);
printf_P(PSTR("Printer Write Allowed, sending complete page (%d bytes)...\r\n"), strSize); Pipe_Write_Stream_LE(TEST_TEXT_PAGE, PAGE_SIZE);
Pipe_Write_Stream_LE(TEST_TEXT_PAGE, strSize);
Pipe_ClearOUT(); Pipe_ClearOUT();
puts_P(PSTR("Page sent to printer.\r\n")); puts_P(PSTR("Page Sent, Waiting for Pipe...\r\n"));
while (!(Pipe_IsReadWriteAllowed())); while (!(Pipe_IsReadWriteAllowed()));
Pipe_Freeze(); Pipe_Freeze();

@ -173,7 +173,7 @@
/** Endpoint number mask, for masking against endpoint addresses to retrieve the endpoint's /** Endpoint number mask, for masking against endpoint addresses to retrieve the endpoint's
* numerical address in the attached device. * numerical address in the attached device.
*/ */
#define PIPE_EPNUM_MASK 0x07 #define PIPE_EPNUM_MASK 0x0F
/** Endpoint bank size mask, for masking against endpoint addresses to retrieve the endpoint's /** Endpoint bank size mask, for masking against endpoint addresses to retrieve the endpoint's
* bank size in the attached device. * bank size in the attached device.

@ -61,6 +61,7 @@
* - Fixed Host mode to Device mode UID change not causing a USB Disconnect event when a device was connected * - Fixed Host mode to Device mode UID change not causing a USB Disconnect event when a device was connected
* - Fixed Mouse/Keyboard demos not performing the correct arithmetic on the Idle period at the right times (thanks to Brian Dickman) * - Fixed Mouse/Keyboard demos not performing the correct arithmetic on the Idle period at the right times (thanks to Brian Dickman)
* - Fixed GenericHID failing HID class tests due to incorrect Logical Minimum and Logical Maximum values (thanks to Søren Greiner) * - Fixed GenericHID failing HID class tests due to incorrect Logical Minimum and Logical Maximum values (thanks to Søren Greiner)
* - Fixed incorrect PIPE_EPNUM_MASK mask causing pipe failures on devices with endpoint addresses of 8 and above (thanks to John Andrews)
* *
* *
* \section Sec_ChangeLog090605 Version 090605 * \section Sec_ChangeLog090605 Version 090605

Loading…
Cancel
Save