Buffer de cada linha localmente em um terminal serial

2

Eu uso o kermit para me conectar a um dispositivo por meio de serial. O dispositivo é bastante "burro" e não tem nenhum shell chique. Ele está apenas recebendo comandos por serial e enviando saídas por serial.

O problema é que eu faço um tipo todas as outras palavras, e não tenho como retroceder, então eu simplesmente tenho que começar tudo de novo.

Existe alguma maneira de eu obter o kermit (ou equivalente) para armazenar cada linha localmente para edição antes de enviá-la para baixo da linha quando eu pressionar enter, para que eu possa retroceder se eu precisar?

    
por Alex 21.03.2014 / 08:47

2 respostas

1

Para sugerir uma alternativa, você já tentou usar minicom ou screen . A coisa que você está querendo é mudar a linha de disciplinas, parece que você está no modo raw (cada caractere enviado ao remote) em vez do modo buffered (ou cozido) (cr triggers buffer a ser enviado). há também um modo semi-cozido na metade do caminho (cbreak).

Todos esses valores podem ser definidos usando o comando stty , no entanto, é possível que kermit os sobrescreva quando for inicializado, a menos que você atenda a isso.

Então você quer ^? (DEL) para ser o caractere de exclusão. Há uma seção sobre isso na documentação do Kermit. aqui . O que explica como definir um perfil de terminal rudimentar para xterm .

Por isso, sugiro usar minicom , mas isso pode ser impossível devido ao protocolo de transferência do dispositivo remoto. Se você tiver mais informações, edite sua pergunta original, a menos que seja um comentário.

Note que quando você usa stty é a entrada que você configurou para o dispositivo serial e não a saída stty [options] </dev/sttyN (já que ela quer mostrar a saída na sua tela).

    
por 21.03.2014 / 12:17
0

Eu tenho tentado por duas ou três horas para descobrir como fazer isso com screen ou minicom , e não consigo entender. Eu não estou dizendo que não há uma maneira de obter esses programas para bufferizar as linhas e tal, mas ... se houver, eu não sei.

Agora estou usando um programa chamado CoolTerm de Roger Meier . É freeware, funciona em Linux / Windows / OS X com uma interface agradável, e é muito simples fazer com que o buffer de linha funcione. Basta clicar em Opções e selecionar a visualização Terminal na lista à esquerda e alterar o Modo Terminal para o Modo Linha (o padrão ainda é Modo Raw).

Este guia do Sparkfun é útil.

    
por 07.03.2015 / 08:23

Tags