Wrote a simple configuration class for practice. The only thing it configs as of now
is the path to where the data is kept or prod or testing.
Added a config module that sets the paths. It's really for practice...
Needed to fix interactive Ipython shell call,b/c of version difference.
Started experiment trials with over sized crystal and top plate too high, no pre amp etc...
Getting the work flow debugged.
Changed the plot code to use variables that make sense.
Stopped using loop structure method to get the serial number, hoping for a more reliable
method.
Added a method to code_tools for the matlab save.
Fixed the ipython embedded banner and exit message.
Debugged the matlab format saves...
Found inconsistant returns from PR SN. Trying to deal with it....
I think I have a hack that works now. There's also a recursive call to the connect_to_ports().
started using configparser for the config.
not sure what's happening here
First try at using the configparser to handle the config of the experiment.
The config is written to file. There is a method to load and read the config but the option
has not been put into the UI.
Removed the old configuration.py idea.
Added a connection attempt counter to the work I did yesterday with the new connect_to_ports().
Started basic logger for vna tools...should have started a new branch.
Will test, debug andmerge back to master Monday.
Modified some code_tools funcationality to make it more generic.
Fixed bug in load_config() args.
Fixed the load_config() default value again...
Added a new stand alone program that loads a config file, then
load the data files, makes a freq vector, and saves it all as
a  matlab struct in .mat format.
Changed the name of main.py to run_experiment.py for clarity.