show result on reg00 unparsable output
This commit is contained in:
parent
8b8b387f2a
commit
48b176f49a
|
@ -13,32 +13,35 @@ else
|
||||||
fi
|
fi
|
||||||
HIDRAW=$2
|
HIDRAW=$2
|
||||||
|
|
||||||
z='0 1 2 3 4 5 6 7 8 9 a b c d e f'
|
|
||||||
do_req() {
|
do_req() {
|
||||||
"$HC" --hidpp $HIDRAW | grep -v "\[1. $DEVNUMBER 8F.. ..0[12]" | grep -B 1 '^>> '
|
"$HC" --hidpp $HIDRAW | grep -v "\[1. ${DEVNUMBER} 8F.. ..0[12]" | grep -B 1 "^>> "
|
||||||
}
|
}
|
||||||
|
|
||||||
oldflags=$(echo "10 ${DEVNUMBER} 8100 000000" | do_req | grep -Po "^>> \([0-9. ]*\) \[10 $DEVNUMBER 8100 \K[0-9a-f]{6}(?=\])")
|
req00="$(mktemp --tmpdir req00-XXXXXX)"
|
||||||
|
echo "10 ${DEVNUMBER} 8100 000000" | do_req >"$req00"
|
||||||
|
oldflags=$(grep -Po "^>> \([0-9. ]*\) \[10 ${DEVNUMBER} 8100 \K[0-9a-f]{6}(?=\])" "$req00")
|
||||||
if [ -n "$oldflags" ]; then
|
if [ -n "$oldflags" ]; then
|
||||||
echo "# Old notification flags: $oldflags"
|
echo "# Old notification flags: $oldflags"
|
||||||
{
|
cat >"$req00-flags" <<-_CHECK_NOTIFICATIONS
|
||||||
echo "10 ${DEVNUMBER} 8000 ffffff" # enable all notifications
|
10 ${DEVNUMBER} 8000 ffffff
|
||||||
echo "10 ${DEVNUMBER} 8100 000000" # read available notifs
|
10 ${DEVNUMBER} 8100 000000
|
||||||
echo "10 ${DEVNUMBER} 8000 $oldflags" # restore notifications
|
10 ${DEVNUMBER} 8000 ${oldflags}
|
||||||
} | do_req | grep -B 1 "^>>.* $DEVNUMBER 8100 "
|
_CHECK_NOTIFICATIONS
|
||||||
|
# set all possible flags, read the new value, then restore the old value
|
||||||
|
# this will show all supported notification flags by this device
|
||||||
|
cat "$req00-flags" | do_req | grep "^>>.* ${DEVNUMBER} 8100 "
|
||||||
else
|
else
|
||||||
echo "# Failed to read notification flags."
|
echo "# Warning: hidconsole API got changed - unrecognized output"
|
||||||
|
cat "$req00"
|
||||||
fi
|
fi
|
||||||
|
rm --force "$req00" "$req00-flags" &
|
||||||
|
|
||||||
for x in $z; do
|
# read all short registers, skipping 00
|
||||||
for y in $z; do
|
for n in $(seq 1 255); do
|
||||||
[ "$x$y" = 00 ] || \
|
printf "10 ${DEVNUMBER} 81%02x 000000\n" $n
|
||||||
echo "10 ${DEVNUMBER} 81${x}${y} 000000"
|
|
||||||
done
|
|
||||||
done | do_req
|
done | do_req
|
||||||
|
|
||||||
for x in $z; do
|
# read all long registers
|
||||||
for y in $z; do
|
for n in $(seq 0 255); do
|
||||||
echo "10 ${DEVNUMBER} 83${x}${y} 000000"
|
printf "10 ${DEVNUMBER} 83%02x 000000\n" $n
|
||||||
done
|
|
||||||
done | do_req
|
done | do_req
|
||||||
|
|
Loading…
Reference in New Issue