Pull to refresh

Есть (были) такие термопринтеры Paperang. Вот только оказалось, что под капотом там несколько протоколов. Изначально пакеты обрамлялись байтами 0x02 ... 0x03.

Насчитал еще три варианта: с первыми байтами 0x07 , 0xA5 и вариант общения по IPP.

Разбирался с Paperang P2.

{0xA5, 0x01} - префик

два байта длины

полезная нагрузка

crc32(4 байта)

0x5A - суффикс

{5,0x19,1,0,0}

5 - команда относится к термопечати

25 - начало передачи растра изображения

третий байт может быть 1/2/3 - АХЗ. В респонсе обычно 2. В данных, которые посылаются на принтер 1 (из андроид приложения) или 3 ( драйвера под винду)

int16(0) - длина аргументов

Сам растер засылается по типу матрешки. (тип,длина,((тип,длина,данные),(тип,длина,((тип,длина,(данные))))))

Tags:
Total votes 2: ↑2 and ↓0+4
Comments0

Articles