diff --git a/src/printer.c b/src/printer.c index 6520598..79dd00f 100644 --- a/src/printer.c +++ b/src/printer.c @@ -230,12 +230,27 @@ int tabby_printer_send_sheet(int fd, void *data, goto error_packet_send; } + init_header(&header, TABBY_PRINTER_PACKET_DATA, 0); + + tabby_printer_packet_send(fd, &header, NULL, response); + + if (i == 0) { + tabby_printer_job_start(fd, 1, 0x10, 0x00, 0x40, ¤t); + } else if (i < TABBY_PRINTER_SHEET_BANDS - 1) { + tabby_printer_job_start(fd, 1, 0x00, 0x00, 0x40, ¤t); + } else if (i == TABBY_PRINTER_SHEET_BANDS - 1) { + tabby_printer_job_start(fd, 1, 0x03, 0x00, 0x40, ¤t); + } + offset += TABBY_PRINTER_BAND_SIZE; + + while (current.status) { + tabby_printer_send_inquiry(fd, ¤t); + usleep(1000000); + } } - init_header(&header, TABBY_PRINTER_PACKET_DATA, 0); - - return tabby_printer_packet_send(fd, &header, NULL, response); + return 0; error_packet_send: return -1;