Заранее спасибо за это!Печать от малины pi через usb4java
Я использую Java приложение для отправки байт через интерфейс USB к чекового принтера EPSON TM-T88V с помощью ESC/POS команды
поведение отличается при выполнении на Raspberry Pi по сравнению с тем, когда выполняется на моем DEV ноутбук (! что супер странно)
Когда байты печатаются с Raspberry Pi - он останавливается до завершения
код, как показано ниже:
public void sendToPrinter(byte[] message) throws UsbException {
UsbDevice device = getPrinterDevice(); //find the usb using usb4java
UsbConfiguration configuration = device.getActiveUsbConfiguration();
UsbInterface iface = configuration.getUsbInterfaces().get(0); //There was only 1
if (!iface.isClaimed()) {
iface.claim(usbInterface -> true);
}
UsbEndpoint endpoint = (UsbEndpoint) iface.getUsbEndpoints().get(0);
UsbPipe pipe = endpoint.getUsbPipe();
pipe.open();
try {
LOG.info(Arrays.toString(message));
int sent = pipe.syncSubmit(message);
LOG.info("Bytes Sent: " + sent);
} finally {
pipe.close();
}
iface.release();
}
Вещи я исследованные:
- Я читал о java8, что во время тяжелой обработки, пи может потерять власть USB устройств, и я модернизировал источник питания к пи, так что она получает 2A
- Я попытался сравнить байты, отправленные на принтер, с моей машины dev и pi, и они идентичны (отправленные байты и количество отправленных байт идентичны)
Я могу предоставить дополнительную информацию о байтах, которые я отправил к принтеру, хотя команды esc/pos, отправленные с моего ноутбука, работают так, как ожидалось, поэтому я не верю это может быть причиной, но может быть и неправильным!
Еще раз спасибо за вашу помощь!
Что это поможет? И есть ли какие-нибудь источники, которые это помогут? –
Это способ убедиться, что все, что находится во внутреннем буфере принтера, выходит на другом конце. Я видел, что он упоминается на принтере с меткой Brother или Zebra, чтобы убедиться, что внутренний буфер пуст. Я столкнулся с подобной ситуацией ... приложение работало при печати нескольких меток, но это не сработало при печати только одного - передача большего количества байт помогла. –
@LOUTUSMS - Я только что попробовал отправить на принтер лишнюю тысячу 0x00 байт, но, тем не менее, он все еще не печатает правильно. По-прежнему возникает проблема, когда принтер прекращает печать примерно наполовину до окончания Любая помощь приветствуется! Заранее спасибо! – spxcxlxxs