Как отправить данные (> 64 байта) на принтер HID на Windows - PullRequest
1 голос
/ 02 мая 2020

В настоящее время я пытаюсь отправить строку произвольной длины на термопринтер Boca FGL46 (принтер HID) с java. На MacOS это работает без проблем; 100-байтовая полезная нагрузка приводит к 100-байтовому выходному отчету. Однако при windows выходной отчет всегда равен 32 байта + 1 байт для идентификатора отчета (0x00). Мне удалось избежать этой проблемы, разбив данные на 32-байтовые сегменты, но я хотел бы понять причину root.

Я пробовал device.setOutputReport(reportId, data, data.length); с обоими hid4 java и purejavahidapi . Я также попытался записать данные непосредственно в путь к устройству, используя Windows 'WriteFile. В каждом методе данные были усечены до 32 байтов. Один и тот же код на MacOS отправляет отчеты любой длины. Почему windows имеет такое ограничение, а MacOS - нет?

...