VT 2

From DIDEAS Wiki
Jump to: navigation, search

GUI_3 (2nd release) $Id: gui_3.m 66 2015-04-16 13:22:51Z brainfog $

All VT Documentation : GUI_3 (1st), GUI_3(2nd), GUI_5

Additions

Config File

The file config.txt is read at startup and can be re-read during VT operation by press the 'CFG' button. The config file format is that of an 'INI file' [1]. There are two sections from this file that are processed.

  • selected : any variable listed in this section will be automatically selected when the config file is read.
  • axis_limits : a list of key=value pairs where the key is the variable name and the value is a 2 element vector that specifies that minimum and maximum y-axis. Variables listed in this section are also selected by default.



[selected]
# these variables are selected 
Valve_in_td
Valve_in_ad
Valve_in_hs1

[axis_limits]
# specify axis limits and select the variables
Valve_in_pd=[-51,40]
Valve_in_fd=[2,5]
Valve_in_vd=[1,10];

Note : the section names should be lower case, however case of the variables is ignored.

Support for grouping variables is forthcoming.

ucmd : send user commands to instrument

 Convenience function to send commands to instrument using the global 'mc'
 object and its method send_user_command_string()
 
 example:
 ucmd('data_interval 1');
 ucmd('help');


 If an output argument is present, upon success returns 0
 on error returns a negative value

vtsave : save data

 function <field_list> = vtsave(filename, <match_pattern_1>,...<match_pattern_n>)
 
 Flatten and save all or specified fields of the global 'daf' object into 'filename'
 while allowed the VT tool to continue operating.

 The optional arguments <match_pattern_n> select which fields should be
 saved with support for wildcard matching.
 See https://docs.python.org/2/library/fnmatch.html

 If optional arguments are absent, then all fields are saved.

 Returns a cell array of strings containing the names of the fields saved.



Other changes / fixed issues

  • Default buffer size is 60,000 samples (per field)
  • added support for config file (config.txt) that axis limits to be specified and pre-selects variables. Is read automatically and when CFG button pressed.
  • create Matlab convenience function ucmd.m to send user command. See help ucmd
  • major rewrite/expansion of pre-gui testing of Matlab - python compatibility and python setup. (check that bits match, directory is correct, etc)
  • correct use of default TCP port (10000) when not specified.
  • update help contents for many of the Matlab files/functions
  • fixed crash on data_accumulator wrap
  • remove unused files / non-source files from repo


USER ADJUSTMENTS

There are constants in the gui_3.m file that might need adjusting depending on needs and use case.

Frame Rate / Command Line Responsiveness

  • The frame rate is set on line 67 and defaults to 20 FPS. If the Matlab command prompt is not responsive enough, reduce it. A frame rate of 5 to 10 FPS is probably a better choice.
 67 FRAME_RATE = 20;  % frames per second

In Memory Data Storage

Currently upto 60k data samples are stored in each channel. As more are added, the old ones are lost. Thus at 1000 samples per second, only 1 minute of data is retained. But at lower rates, it'll be much longer.

The constant is set on line 27:

 27 DATA_ACCUMULATOR_MAX_LENGTH = 60000;


Default Config File

The default / example config file may have defined axis limits for the Valve. You might need to edit them with :

 edit config.txt


Default config file:

[selected]
# these variables are selected at startup
Valve_in_td
Valve_in_ad
Valve_in_hs1


[axis_limits]
# specify axis limits and select the variables at startup
# remove comment to enable, or add your own
Valve_in_pd=[-51,40]
Valve_in_fd=[2,5]
Valve_in_vd=[1,10];