3 from usrp_prims import *
5 def setup (which_board = 0):
6 if not usrp_load_standard_bits (which_board, False):
7 raise RuntimeError, "usrp_load_standard_bits"
8 dev = usrp_find_device (which_board)
10 raise RuntimeError, "usrp_find_device"
11 u = usrp_open_cmd_interface (dev)
13 raise RuntimeError, "usrp_open_cmd_interface"
15 # FIXME setup high speed paths, Aux ADC Clock, ...
17 # usrp_9862_write (u, 0, 35, 0x1) # aux ADC clock = CLK/4
18 # usrp_9862_write (u, 1, 35, 0x1)
22 def write_slot_oe (u, slot, value, mask):
23 assert 0 <= slot and slot < 4
24 return usrp_write_fpga_reg (u, slot + FR_OE_0,
25 ((mask & 0xffff) << 16) | (value & 0xffff))
27 def write_slot_io (u, slot, value, mask):
28 assert 0 <= slot and slot < 4
29 return usrp_write_fpga_reg (u, slot + FR_IO_0,
30 ((mask & 0xffff) << 16) | (value & 0xffff))
33 # ----------------------------------------------------------------
36 def ramp_aux_dac (u, which_codec, which_dac):
37 if not (which_codec == 0 or which_codec == 1):
39 if not (which_dac >= 0 and which_dac < 4):
42 if which_dac == 3: # sigma delta output
43 sigma_delta_loop (u, which_codec)
45 aux_dac_loop (u, which_codec, which_dac)
46 except KeyboardInterrupt:
49 def sigma_delta_loop (u, which_codec):
52 usrp_9862_write (u, which_codec, 43, counter >> 4)
53 usrp_9862_write (u, which_codec, 42, (counter & 0xf) << 4)
59 def aux_dac_loop (u, which_codec, which_dac):
60 reg = 36 + which_dac # Aux DAC A,B,C
63 usrp_9862_write (u, which_codec, reg, counter)
69 def read_aux_adc_loop (u, slot, which_adc):
71 v = usrp_read_aux_adc (u, slot, which_adc)
72 print "%3d %5.3f" % (v, v * 3.3 / 1024)
74 def ramp_io_port (u, slot):
78 write_slot_io (u, slot, counter, 0xffff)
82 except KeyboardInterrupt:
85 def walk_io_port (u, slot):
89 write_slot_io (u, slot, bit, 0xffff)
90 bit = (bit << 1) & 0xffff
93 except KeyboardInterrupt: