Beim Kopieren oder Umleiten von Text als Eingabe an UART muss eine langsamere Bandbreite erzwungen werden

Beim Kopieren oder Umleiten von Text als Eingabe an UART muss eine langsamere Bandbreite erzwungen werden

Im Grunde habe ich es satt, Unmengen von Text zu tippen. Ich möchte ihn natürlich in eine Datei schreiben, ihn in UART U-Boot übertragen, dann die Datei ändern und es erneut versuchen.

Aber weder Umschalt+Strg+C noch . screen ttyUSB0 115200funktionieren richtig .cat file.cmd > ttyUSB0

Kennt jemand ausgefallene Methoden zum Kopieren auf UART? Ich kann nicht der Einzige sein, der so etwas versucht hat.

Antwort1

Nun, ich musste ein kleines Skript schreiben, um dies zu tun, eh, gut genug:

cat > slowpipe << 'EOF'    
#!/usr/bin/env bash
set -eu

data=$(< /dev/stdin)
hz=$(bc -l <<< "1.0 / $1")
while [ -n "$data" ]; do
    printf '%s' "${data:0:1}"
    data=${data:1}
    sleep $hz
done

# XXX It seems to be imposible to save leading newlines in variables,
# you cant have var=$'\n'$'\n' no mater what you do, only one new line can will
# be saved, IFS won't help, or anything. one way is to use `read`, without
# saving all stdin to variable.
echo
EOF

chmod 755 slowpipe
./slowpipe 42 < rpi.cmd >> /dev/ttyUSB0

verwandte Informationen