テキストをUARTへの入力としてコピーまたはリダイレクトするには、より遅い帯域幅を強制する必要があります

テキストをUARTへの入力としてコピーまたはリダイレクトするには、より遅い帯域幅を強制する必要があります

基本的に、大量のテキストを入力するのにうんざりしています。明らかに、ファイルに入力し、UART U-Boot にプッシュし、ファイルを変更して、もう一度試したいのです。

しかし、Shift + Ctrl + C はどちらもscreen ttyUSB0 115200正しく機能しませんcat file.cmd > ttyUSB0

UART にコピーする巧妙な方法を知っている人はいますか? このようなことを試みたのは私だけではないはずです。

答え1

まあ、これを行うにはちょっとしたスクリプトを作成する必要がありましたが、まあ、十分です。

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

関連情報