История изменений
Исправление Zmicier, (текущая версия) :
Не верю, что pritnf более всего тормозит.
А ОП его зачем-то в подоболочке запускает.
Весь файл сразу через hexdump записать в массив bash'а.
Массив не нужен:
#!/bin/bash
file="$1"
echo -en "\xFE\xFE\xFE\xFE" > /dev/ttyUSB0
counter=0
while read hBT
do
(( HR = counter / 256,
LR = counter % 256 ))
printf -v hLR "%02X" "$LR"
printf -v hHR "%02X" "$HR"
echo -en "\xFF\x$hHR\x$hLR\xFF\x$hBT" > /dev/ttyUSB0
(( counter++ ))
done < \
<(od --address-radix=n --format=x1 --width=1 --output-duplicates "$file")
echo -en "\xFE" > /dev/ttyUSB0
Не проверял, могут быть ошибки вплоть до синтаксических.
Исходная версия Zmicier, :
Не верю, что pritnf более всего тормозит.
А ОП его зачем-то в подоболочке запускает.
Весь файл сразу через hexdump записать в массив bash'а.
Массив не нужен:
#!/bin/bash
file="$1"
echo -en "\xFE\xFE\xFE\xFE" > /dev/ttyUSB0
counter=0
while read hBT
do
(( HR = counter / 256;
LR = counter % 256 ))
printf -v hLR "%02X" "$LR"
printf -v hHR "%02X" "$HR"
echo -en "\xFF\x$hHR\x$hLR\xFF\x$hBT" > /dev/ttyUSB0
(( counter++ ))
done < \
<(od --address-radix=n --format=x1 --width=1 --output-duplicates "$file")
echo -en "\xFE" > /dev/ttyUSB0
Не проверял, могут быть ошибки вплоть до синтаксических.