Explicação dos parâmetros stty não encontrados na página man

1

Eu tenho algum código antigo que foi escrito em java para interface com uma porta serial que estou tentando converter em python. As linhas a seguir são encontradas em um arquivo bash que é executado para configurar o dispositivo dev de porta serial antes de o código java ser executado em um daemon. Alguém pode explicar o que essas opções significam, pois a página de manual do stty é impenetrável.

    stty -F /dev/ttyUSB0 1:0:9ad:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 #9600 7E1
    
por Matt Phillips 27.10.2017 / 17:22

2 respostas

1

Estas não são opções documentadas. Este é o formato serializado legível por máquina do dispositivo e o estado de disciplina de linha que é produzido por stty -g . Não é nem portátil nem significativo passar para o (mesmo) programa stty dessa maneira.

Você poderia decodificar o hexadecimal com a instância particular do seu sistema do cabeçalho termios.h da linguagem C para a mão.

Felizmente, você encontrará um comentário sobre essa linha de script de shell que indica pelo menos parte da intenção do autor:

Essas são, naturalmente, uma velocidade de linha e o enquadramento de caracteres de 7 bits, paridade par e 1 bit de parada.     
por 27.10.2017 / 18:08
1

Não são opções , mas dados , provavelmente gerados por

stty -g

A página de manual descreve isso como

   -g, --save
          Print all current settings in a form  that  can  be
          used  as  an  argument  to  another stty command to
          restore the current settings.

que, comparando com a descrição POSIX , não fornece mais informações:

Write to standard output all the current settings in an unspecified form that can be used as arguments to another invocation of the stty utility on the same system. The form used shall not contain any characters that would require quoting to avoid word expansion by the shell; see wordexp.

Vários scripts usam o recurso (por exemplo, vttests do xterm scripts). Como é um formato não especificado, é dependente do sistema (você pode confiar apenas em ser "algo" escrito na saída padrão).

Se você usasse essas configurações para restaurar em um sistema compatível (ou seja, uma usando a mesma implementação de stty ) e fizesse stty -a , elas mostrariam as configurações em um formato mais convencional formato.

    
por 27.10.2017 / 18:06