Um emulador de terminal para o CygWin?

10

Eu tenho:

  • Windows 7
  • CygWin
  • Uma placa de desenvolvimento conectada à porta COM1.

Eu preciso:

  • Conecte-se à porta serial do CygWin.

Se eu usasse o Linux, eu executaria um programa como picocom ou minicom . Também no Windows 7 eu poderia instalar o HyperTerminal e abrir a porta COM1 ou usar o Putty para isso. Mas eu gostaria de fazer isso a partir da casa da CygWin porque eu gosto de suas fontes e algumas outras pequenas alegrias. Parece que a própria mintty não é capaz de trabalhar com portas seriais, então eu me pergunto se existe um programa como picocom ou minicom no repositório do CygWin.

    
por krokoziabla 21.02.2014 / 17:56

3 respostas

6

Tendo feito algumas pesquisas sobre emuladores de terminal hoje, sinto a necessidade de saudar as virtudes de xterm . Esta FAQ documenta muitos dos bugs em outros emuladores de terminal que visam ser xterm ou compatíveis com VT-100. Você também pode usar vttest para revelar muito esses problemas por si mesmo. O que tira muita gente do xterm é a falta de uma configuração de menu. Isso leva muita gente a pensar que xterm não é configurável, mas na verdade é altamente configurável, só precisa ser feito por meio de arquivos como .Xresources ou opções de linha de comando.

Mais reclamações incluem falta de suporte de área de transferência e, portanto, falta de copiar / colar com Ctrl-Shift-C / Ctrl-Shift-V por padrão, no entanto, este pode ser superado . Outra é a falta de abas, porém muitos usuários avançados do Linux preferem usar tmux ou GNU screen , que fornecem recursos equivalentes.

Isso me leva à verdadeira resposta à sua pergunta - screen pode ser usado para conecta-se à porta serial e deve funcionar no Cygwin apesar de /dev/ttySX não aparecer com ls . Com isso você deve ser capaz de usar qualquer emulador de terminal que desejar, seja xterm ou mintty . xterm carece de muitos recursos modernos e, portanto, pode não ser para todos, mas é um trabalho notar que é difícil comparar o que acontece sob o capô.

Caso o link morra, aqui está a sintaxe para usar a tela como um terminal serial:

screen /dev/ttySX baud_rate,cs8|cs7,ixon|-ixon,ixoff|-ixoff,istrip|-istrip
    
por 21.02.2014 / 19:45
6

Para minha grande surpresa, o picocom funcionou de imediato para o que eu precisava fazer - falar com dispositivos incorporados. Não há pacote cygwin por algum motivo, mas a construção é tão fácil quanto

git clone https://github.com/npat-efault/picocom; cd picocom && make

Supondo que seu dispositivo seja exibido como COM3 no Windows, execute com

./picocom -b 115200 /dev/ttyS2
    
por 12.02.2016 / 05:49
3

Acredito que screen fará isso, o cygwin mapeia as portas COM para os dispositivos / dev / stty * e a tela levará um dispositivo para se conectar.

De man screen

If a tty (character special device) name (e.g. "/dev/ttya") is spec‐ ified as the first parameter, then the window is directly connected to this device. This window type is similar to "screen cu -l /dev/ttya". Read and write access is required on the device node, an exclusive open is attempted on the node to mark the connection line as busy. An optional parameter is allowed consisting of a comma separated list of flags in the notation used by stty(1):

    
por 21.02.2014 / 19:21