driver: ru.bitel.frk.driver.shtrih2.Driver
Конфигурация:
- portName - имя порта, например, в Windows com<X>, в Linux /dev/ttyS<X>;
- baudRate - скорость обмена (2400, 4800, 9600, 19200, 38400, 57600, 115200);
- flowControlIn, flowControlOut - описание типа flow control (None, Xon/Xoff Out, Xon/Xoff In, RTS/CTS In, RTS/CTS Out);
- databits - настройка data bits (5, 6, 7, 8);
- stopbits - настройка stop bits (1, 1.5, 2);
- parity - настройка parity (None, Even, Odd);
- oneByteTimeout - таймаут приёма одного байта, характеристика порта (по умолчанию 100).
Драйвером поддерживаются все современные устройства от Штрих по 54-ФЗ.
Проверены не все устройства, но согласно описанию протокола должны работать все. Подробная сверка моделей и наличия в них используемых команд не проводилась (за исключением обычных, распространённых моделей - ФР-К и т.д.), поэтому, возможно, что среди указанных моделей есть специфические устройства, которые будут работать с ограниченным функционалом.
Ограниченно поддерживаются обычные, без ФП принтеры.
Полноценной заявки поддержки нет ввиду нереализованных в них команд типа "продажа" и подобных. Но можно подключить и запустить это устройство, но в скрипте обработки формирования чека (см. ниже) формировать нужные строки, без команды добавления платежа, только командами добавления строк, аналогично тому, как это описано для FOP-драйвера сервера печати. Таким образом, несложно вручную сформировать любой вид чека, аналогично обычным ККМ. Но, конечно, чека в данном случае нефискального.
Имеются дополнительные параметры драйвера (использовать по ситуации):
# таймаут в мс между опросами состояний для ожидания окончания печати предыдущей операции waitNoprintTimeout: 1000 # кол-во опросов состояния для ожидания окончания печати предыдущей операции (каждое длиной таймаут) waitNoprintNumtry: 20 # запрет прямого использования команды отрезки (позволяет избежать проблем с отрезчиком в некоторых случаях) # по умолчанию - 0 (отрезчик используется) cutterDisabled: 1 # насильное использование резчика после каждой операции печати (если вдруг авторезка не работает) # по умолчанию - 0 (отрезчик руками не включается, срабатывает только если авторезка) #cutterForceManual: 0
Здесь и далее - флаг cutterDisabled действует только на ручную команду отрезки при печати произвольного текста или при приветствии итд итп. А отрезка или неотрезка при чеках/отчётах настраивается в принтере. После печати чека должно резать автоматически, это заложено в программе регистратора и настраивается в нём самом.