web-dev-qa-db-fra.com

Comment la Minicom peut-elle traduire «de façon permanente» une nouvelle ligne entrante (\ N) à CR + LF?

J'ai un périphérique de micro-contrôleur qui envoie des chaînes à terminaison de nouvelles lignes via le port série AD-Attachée USB et (jusqu'à présent) que j'utilise minicom version 2.6 à lire à partir de /dev/ttyACM0. J'ai configuré l'application de terminal pour l'enveloppe de ligne, mais j'aimerais que cela se passe au début de la ligne suivante lors de la réception d'un caractère d'alimentation de la ligne de mon périphérique série. Peut [et comment fait] minicom faire cela?

ÉDITER : J'ai aussi essayé des voies connues par moi tels que stty /dev/ttyACM0 ...,inlcr et screen /dev/ttyACM0 ...,inlcr, que je sais avoir des options à Traduire les nouvelles lignes entrantes en retour de chariot + flux de lignes (CR + LF) et aucun de ces travaux non plus. J'ai également essayé d'autres options (telles que ocrnl, au cas où ma logique était fausse, nl et -nl), Aucun travail et je ne sais pas pourquoi.

Ah, et je couronne Manjaro 16.06-RC1.

11
user86969

M'a pris assez longtemps mais je suis enfin enfin! J'ai dû télécharger le code source Minicom pour avoir une idée de quoi faire pour éviter les tracas de la pression constante. Ctrl+ZU... C'est ici.

minicom stocke ses paramètres dans un fichier de configuration, qui par défaut à $HOME/.minirc.dfl. Mettez la ligne suivante à la lettre :

pu addcarreturn    Yes

et maintenant minicom ajoute un retour de chariot à toutes les lignes entrantes. Je ne sais pas pourquoi il n'a pas enregistré cette option avec son fichier de configuration en premier lieu mais, Heck, je m'en fiche maintenant!

Méfiez-vous que chaque option après pu doit prendre exactement 16 caractères, rembourré avec des espaces à droite.

9
user86969

Réponse :
[.____] in Minicom Appuyez sur Ctrl+A Z. Cela montrera le menu. Puis appuyez sur U ("Ajouter le chariot RET"), et Minicom ajoutera le symbole CR à chaque LF symbole automatiquement.

Vous voudrez peut-être le faire à nouveau afin de désactiver cette fonction.

Solution de contournement :
[.____] Essayez d'envoyer les lignes se terminant par "\r\n" du microcontrôleur.
[.____] \r désigne le retour de chariot (code ASCII 13 ou 0xD)
[.____] \n désigne l'alimentation de la ligne ou nouvelle ligne (code ASCII 10 ou 0xa)

4
v_2e