Fixed error in PrinterHost preventing the full page data from being sent to the attached device.

This commit is contained in:
Dean Camera 2009-09-02 00:27:52 +00:00
parent 0fdc1a2bc6
commit ecf7c18cf2
4 changed files with 12 additions and 23 deletions

View file

@ -39,18 +39,19 @@
/** Sends the given data directly to the printer via the data endpoints, for the sending of print commands in printer
* languages accepted by the attached printer (e.g. PCL).
*
* \param[in] PrinterCommands Pointer to a structure containing the commands and length of the data to send
* \param[in] PrinterCommands Pointer to the data to send to the attached printer
* \param[in] CommandSize Size of the data to send to the attached printer
*
* \return A value from the Pipe_Stream_RW_ErrorCodes_t enum
*/
uint8_t Printer_SendData(Printer_Data_t* PrinterCommands)
uint8_t Printer_SendData(void* PrinterCommands, uint16_t CommandSize)
{
uint8_t ErrorCode;
Pipe_SelectPipe(PRINTER_DATA_OUT_PIPE);
Pipe_Unfreeze();
if ((ErrorCode = Pipe_Write_Stream_LE(PrinterCommands->Data, PrinterCommands->Length)) != PIPE_RWSTREAM_NoError)
if ((ErrorCode = Pipe_Write_Stream_LE(PrinterCommands, CommandSize)) != PIPE_RWSTREAM_NoError)
return ErrorCode;
Pipe_ClearOUT();

View file

@ -58,18 +58,8 @@
/** Pipe number of the Printer data OUT pipe */
#define PRINTER_DATA_OUT_PIPE 2
/* Type Defines: */
/** Type define for a Printer Command Data structure, for the encapsulation of raw printer commands to
* send to an attached printer device.
*/
typedef struct
{
char* Data; /**< Printer commands to send to the attached printer */
uint16_t Length; /**< Length in bytes of the commands to send to the attached printer */
} Printer_Data_t;
/* Function Prototypes: */
uint8_t Printer_SendData(Printer_Data_t* PrinterCommands);
uint8_t Printer_SendData(void* PrinterCommands, uint16_t CommandSize);
uint8_t Printer_GetDeviceID(char* DeviceIDString, uint16_t BufferSize);
uint8_t Printer_GetPortStatus(uint8_t* PortStatus);
uint8_t Printer_SoftReset(void);