mirror of
git://projects.qi-hardware.com/ben-wpan.git
synced 2024-11-29 19:00:16 +02:00
prod/: some elements of a production test system (in progress)
This commit is contained in:
parent
d7d2bd4704
commit
04db5e0418
132
prod/Common
Normal file
132
prod/Common
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
DIV1=------------------------------------------------------------------------
|
||||||
|
DIV2=========================================================================
|
||||||
|
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
echo "usage: $0 ref_dev test_dev" 1>&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[ "$2" -a -z "$3" ] || usage
|
||||||
|
REF=$1
|
||||||
|
# DUT = Device Under Test
|
||||||
|
DUT=$2
|
||||||
|
LOG=_log
|
||||||
|
>$LOG
|
||||||
|
|
||||||
|
if [ ${DUT#net:} = $DUT ]; then
|
||||||
|
LOCAL_EXEC=
|
||||||
|
LOCAL_DUT=$DUT
|
||||||
|
else
|
||||||
|
LOCAL_EXEC="ssh `echo $DUT | sed 's/^net://;s/,.*$//'`"
|
||||||
|
LOCAL_DUT=default
|
||||||
|
fi
|
||||||
|
|
||||||
|
step()
|
||||||
|
{
|
||||||
|
echo -n " .... $1"
|
||||||
|
step=$1
|
||||||
|
cmd=
|
||||||
|
>_out
|
||||||
|
echo $DIV2 >>$LOG
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
finish()
|
||||||
|
{
|
||||||
|
echo "$cmd" >>$LOG
|
||||||
|
echo | sed "c$DIV1" >>$LOG
|
||||||
|
cat _out >>$LOG
|
||||||
|
sed "1i$DIV1" >>$LOG
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
pass()
|
||||||
|
{
|
||||||
|
echo '\r\033[42;30m PASS \033[0m '
|
||||||
|
echo "$step: PASS" >>$LOG
|
||||||
|
finish </dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fail()
|
||||||
|
{
|
||||||
|
echo '\r\033[41;37m FAIL \033[0m '
|
||||||
|
echo "$step: FAIL" >>$LOG
|
||||||
|
finish
|
||||||
|
#
|
||||||
|
# to do: allow looping back
|
||||||
|
#
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
todo()
|
||||||
|
{
|
||||||
|
echo '\r\033[43;30m TODO \033[0m '
|
||||||
|
echo "$step: TODO" >>$LOG
|
||||||
|
finish </dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
cmd()
|
||||||
|
{
|
||||||
|
cmd=$1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
expect()
|
||||||
|
{
|
||||||
|
eval "$cmd" >_out 2>&1 || { echo "exit code $?" | fail; exit 1; }
|
||||||
|
fgrep -q "$1" _out || { echo "expected $1" | fail; exit 1; }
|
||||||
|
pass
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
expect_re()
|
||||||
|
{
|
||||||
|
eval "$cmd" >_out 2>&1 || { echo "exit code $?" | fail; exit 1; }
|
||||||
|
grep -q "$1" _out || { echo "expected $1" | fail; exit 1; }
|
||||||
|
pass
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
identify()
|
||||||
|
{
|
||||||
|
step "Identification"
|
||||||
|
cmd "atrf-id -d $DUT"
|
||||||
|
expect "AT86RF231, part 0x03 version 2 manufacturer xxxx001f (Atmel)"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
spectrum()
|
||||||
|
{
|
||||||
|
step "Spectrum"
|
||||||
|
# todo:
|
||||||
|
# - trim values (maybe)
|
||||||
|
# - profile
|
||||||
|
# - decide on power
|
||||||
|
# - decide on offset
|
||||||
|
cmd "atrf-path -g -T +0.5 $REF $DUT 10"
|
||||||
|
expect PASS
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
transmit()
|
||||||
|
{
|
||||||
|
step "Receive"
|
||||||
|
# todo:
|
||||||
|
# - trim values (maybe)
|
||||||
|
# - channel
|
||||||
|
# - tolerate imperfection (e.g., 99/100|100/100)
|
||||||
|
cmd "atrf-xmit -p 0 $REF $DUT 100"
|
||||||
|
expect 100/100
|
||||||
|
|
||||||
|
step "Send"
|
||||||
|
cmd "atrf-xmit -p 15 $DUT $REF 100"
|
||||||
|
expect 100/100
|
||||||
|
}
|
26
prod/atben
Executable file
26
prod/atben
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./Common
|
||||||
|
|
||||||
|
|
||||||
|
gpio_ben()
|
||||||
|
{
|
||||||
|
step "GPIO scan"
|
||||||
|
todo
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
xtal_ben()
|
||||||
|
{
|
||||||
|
step "Crystal frequency"
|
||||||
|
cmd "$LOCAL_EXEC atrf-xtal -d $LOCAL_DUT 100"
|
||||||
|
expect_re '4350[012]\.' # @@@ very crude ...
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
identify
|
||||||
|
# power ?
|
||||||
|
gpio_ben
|
||||||
|
xtal_ben
|
||||||
|
spectrum
|
||||||
|
transmit
|
Loading…
Reference in New Issue
Block a user