this is a page to list feature requests, bugs and give usage examples for d_scan.
d_scan is the next version of c_scan, this version has an important additional feature over c_scan - the ability to nest actions within actions. this allows for some additional functionality which was hard or impossible to achieve with c_scan. Additionally, there is a move to simplify the actions by having single actions for specific tasks, e.g 'scope' or 'scan' where d_scan handles the differences between different hardware without the need of user intervention. this is currently complete for the main scopes found in the labs, and is in progress for scanning actions.
There is a new data format and automatic naming system to make data handling simpler. For scope data a .m metadata file is saved with the data with all the scope settings and data parameters.
- force saving of meta data at end of scan (current file exist checks requires user intervention at end of scan
- save option to force saving in actions for live data plotting options for long scans, check the different scan types to check option present.
- general scan option, with hardware type select
- scope to switch to summed mode if averaging is on, then switch back to continuous at end.
- mirror_pbp action to have restore option (currently leaves at last point of scan, this might not be trivial as needs to probe dac card, for current output voltage)
- save scope mode (seg, RT etc) and number of avgs, number of segs to scope meta data file
- check if files exist - request permission to overwrite, action option to turn off checking
Completed Actions List
Action options / examples
action webcam camera 1 //camera ID no resolution 1280 720 // resolution to open camera with grab // saves a frame from the camera display // displays a frame from the camera end
action scope channels F1,F3 // use name of channel you want separated by commas ip 188.8.131.52 // IP address of scope filename str // uses str for filename overrides automatic naming system end
action a2d channel 0 // channel to grab range 2 // this is card specific voltage range use comedi test to find ranges ./usr/bin/comedi_test n_samples 1 // samples to grab end
action mirror_pbp // mirror scan point by point axis 0 -1 1 .1 // axis number, start, stop, increment tell_pos 2 // report position savedata // force save data at the end of this loop (useful for live processing scripts) end
action apt_scan axis 0 // axis to move scan -1 1 0.5 // start stop inc restore // return to original position at end end
action count count 10 //loops until it get to count value end
action delay delay 1 // time to wait in seconds, useful to help with timings if you need to make sure stages have stopped before grabbing data end