#!/bin/sh # # ubx packet generator v0.1 Andy Green # # Usage: # # ubxcs b5 62 06 13 04 00 01 00 00 00 > ubx-packet.bin # # appends checksum and issues binary packet on stdout # # you can subsequently issue the packet to GPS unit like this # # cat ubx-packet.bin > /dev/ttySAC1 cs0=0 cs1=0 seen=0 until [ -z "$1" ] do upr=`echo $1 | tr [[:lower:]] [[:upper:]]` dec=`echo "ibase=16;obase=A;$upr" | bc` if [ $seen -gt 1 ] ; then cs0=$(( $cs0 + $dec )) cs0="$(( $cs0 & 255 ))" cs1=$(( $cs1 + $cs0 )) cs1="$(( $cs1 & 255 ))" fi echo -e -n "\x$upr" shift seen=$(( $seen + 1 )) done echo -e -n "\x`echo "ibase=10;obase=16;$cs0" | bc`\x`echo "ibase=10;obase=16;$cs1" | bc`"