#!/bin/sh . ./Common gpio_ben() { # MMC DDCCDD # 10KM32 # # SMSMnI # CITOSR # Ben pull-up * * = no PU # Reset pull v-vv^- # # P_ON state (after reset; transceiver pull-up/downs active) step "GPIO scan (P_ON)" cmd "$LOCAL_EXEC \"atrf-gpio -d $LOCAL_DUT -p \ zzozho '# reset state' \ 0zozho '# test SCLK' \ zz1zho '# test SLP_TR' \ zzo0ho '# test MOSI' \ zzoz0o '# test nSEL'\"" doit # TRX_OFF state (transceiver pull-up/downs inactive) step "GPIO scan (TRX_OFF)" cmd "$LOCAL_EXEC \"atrf-gpio -d $LOCAL_DUT \ hHHhho '# TRX_OFF state' \ 0HHhho '# test SCLK' \ 00Hhho '# test MISO' \ hH0hho '# test SLP_TR' \ hHH0ho '# test MOSI' \ hzHh0o '# test nSEL'\"" doit # INT step "GPIO scan (INT)" cmd "$LOCAL_EXEC \"atrf-gpio -d $LOCAL_DUT -p \ xxxxxo '# reset state' \ 0x04=1 '# TRX_CTRL_1.IRQ_POLARITY = 1' \ xxxxxh '# test INT (1)' \ xxxx0h '# test INT (2)' \ xxxx1h '# restore nSEL' \ 0x04=0 '# TRX_CTRL_1.IRQ_POLARITY = 0' \ xxxxho '# test INT again'\"" doit # SLP_TR step "GPIO scan (SLP_TR)" cmd "$LOCAL_EXEC \"atrf-gpio -d $LOCAL_DUT \ '00!85' '# write 0x55 to the buffer' \ 00/85 '# read back the buffer value' \ xx1hxo '# enter SLEEP' \ xx0hxo '# leave SLEEP' \ 00/0xff '# read back the buffer value'\"" doit } xtal_ben() { step "Crystal frequency" cmd "$LOCAL_EXEC atrf-xtal -d $LOCAL_DUT -b \\\`cat $CLKREF\\\` -p 50 100" expect_re ppm # we catch any problems via the exit code } begin ben.profile ben.xtal # power ? gpio_ben identify xtal_ben spectrum transmit