68a8ebf2f56928924d70839535bf28799e4c35fc
[fw/altos] / ao-bringup / cal-freq
1 #!/bin/sh
2
3 case $# in
4 1)
5         dev="$1"
6         ;;
7 *)
8         echo "Usage: $0 <device>"
9         exit 1;
10         ;;
11 esac
12
13 while true; do
14         echo 'C 1' > $dev
15
16         echo -n "Generating RF carrier. Please enter measured frequency [enter for done]: "
17
18         read FREQ
19
20         echo 'C 0' > $dev
21
22         case "$FREQ" in
23         "")
24                 echo $SERIAL","$CAL_VALUE >> cal_values
25                 exit 0
26                 ;;
27         *)
28                 calline=`./get-radio-cal $dev`
29                 CURRENT_CAL=`echo $calline | awk '{print $2}'`
30                 CURRENT_FREQ=`echo $calline | awk '{print $4}'`
31
32                 echo "Current radio calibration "$CURRENT_CAL
33                 echo "Current radio frequency "$CURRENT_FREQ
34
35                 CAL_VALUE=`nickle -e "floor($CURRENT_FREQ / $FREQ * $CURRENT_CAL + 0.5)"`
36
37                 echo "Programming flash with cal value " $CAL_VALUE
38
39                 cat << EOF > $dev
40 c f $CAL_VALUE
41 c w
42 EOF
43
44                 echo "Serial number "$SERIAL" programmed with RF cal value "$CAL_VALUE
45                 ;;
46         esac
47 done
48