On 9/27/21 12:58 PM, Jim Lux wrote:
I'm trying to control a second nanovna (identified as HW V3.5. FW version 1.0.45) with nanovna.py and I'm getting an error
jimlux$ ./nanovna.py? --start 1000000 --stop 2000000 --points 201 -o test9 --port 0
{'rawwave': None, 'plot': False, 'smith': False, 'polar': False, 'delay': False, 'groupdelay': False, 'vswr': False, 'phase': False, 'unwrapphase': False, 'tdr': False, 'scan': False, 'start': 1000000.0, 'stop': 2000000.0, 'points': 201, 'port': 0, 'device': None, 'verbose': False, 'capture': None, 'command': None, 'save': 'test9'}
[]
1000000.0 2000000.0 201
set_frequencies 1000000.0 2000000.0 201
Traceback (most recent call last):
? File "./nanovna.py", line 422, in <module>
??? n.write_touchstone(opt.save)
? File "/Users/jimlux/opt/anaconda3/lib/python3.8/site-packages/skrf/network.py", line 1958, in write_touchstone
??? + c2str_A(self.s[f, 0, 0]) + ' ' \
IndexError: index 100 is out of bounds for axis 0 with size 100
works fine on an older version of the firmware on a different device.
I suspect there's some command that's being sent (or not being sent).
Before I start digging in, if anyone has had a similar issue, what was it...
Here's a good run (FW version 0.4.5-1)
jimlux$ ./nanovna.py? --start 1000000 --stop 2000000 --points 201 -o test9 --port 0
{'rawwave': None, 'plot': False, 'smith': False, 'polar': False, 'delay': False, 'groupdelay': False, 'vswr': False, 'phase': False, 'unwrapphase': False, 'tdr': False, 'scan': False, 'start': 1000000.0, 'stop': 2000000.0, 'points': 201, 'port': 0, 'device': None, 'verbose': False, 'capture': None, 'command': None, 'save': 'test9'}
[]
1000000.0 2000000.0 201
set_frequencies 1000000.0 2000000.0 201
(base) MT-211249:nanovna jimlux$
Turns out that the new firmware doesn't support the "port" command. I'm not sure if it's useful anyway, I think it was tied to the dump raw samples, which is also removed.?? you still need the --port %d on the command line, because that's how you distinguish between S21 and S22 for an output file.