como enviar dados da porta serial para a impressora?

0

Eu tenho um sistema de telefone que está conectado à minha antiga máquina Ubuntu e está recebendo dados SMDR dela. Conectado a dev/lp0 é uma impressora matricial, sistema telefônico conectado a /dev/ttyS0

Atualmente estou usando o comando cat /dev/ttyS0 > /dev/lp0 . Isso funciona um pouco, mas a impressão smdr tem um cr e lf comandos para a impressora já. Cat send para fazer a impressora alimentar uma linha extra. Existe uma maneira de constantemente echo ttyS0 para lp0 ou algo mais que eu possa fazer? Obrigado

    
por Ryan O'Malley 18.12.2015 / 10:25

1 resposta

0

Você precisa remover o pós-processamento de /dev/lp0 . Tente o seguinte:

(
stty -F /dev/lp0 -opost
cat /dev/ttyS0
) > /dev/lp0

Colocar os dois comandos em um subshell e redirecionar sua saída para /dev/lp0 impede que as configurações stty sejam redefinidas para padrão quando nenhum processo tiver mais /dev/lp0 aberto (entre o stty e o cat ).

Talvez você também precise alterar /dev/ttyS0 configurações, por exemplo remover qualquer processamento de entrada: stty -F /dev/ttyS0 -icanon -echo min 8 time 1 (o min 8 time 1 significa que as leituras retornarão assim que pelo menos um byte for lido e nenhuma entrada adicional estiver disponível após 1/10 de segundo ou se mais entradas forem disponibilizadas as leituras retornarão depois de no máximo 8 bytes lidos).

    
por 18.12.2015 / 13:55