Experimental Physics and
| |||||||||||||||||
|
Hi Timo, Should also be fairly easy to port to other programs (matlab and scilab are currently supported), i.e., doing an octave interface wouldn't be very hard. LabCA Disadvantages:I think I did. The disadvantage I see is that ezca (and therefore labCa) basically uses 'ca_pend_event()' and this means that any call to ezca has a timeout granularity of no less than the timeout given to ca_pend_event(). If for example a pend-timeout of 0.1s is used no lcaGet() will ever return in less than 0.1s - even if the data arrive faster. The total timeout (which, as Steph has pointed out, is configurable) equals the basic ca_pend_event() timout times a number of 'retries'. If you want the system to be more responsive then the pend-timeout has to be shorter and the CPU ends up burning more cycles since there is essentially a loop for (i=0; i<nRetries; i++) { ca_pend_event( 0.1 seconds ); do_ezca_work(); if ( all_outstanding_requests_satisfied() ) break; } I don't claim that labCA is perfect. At the time, I needed an interface to scilab and using ezca was just the fastest to get something going. Later, some people here at SSRL liked it and the fact that it supported EPICS-3.14 (which MCA at the time did not) permitted transferring large arrays and they asked me for the matlab interface. IMO it could be worthwile to develop a clean CA interface for packages like matlab/scilab/octave from scratch - with emphasis on a 'properly layered' approach so that different packages can easily be supported. -- Till BTW: working on a CA interface for integration with an existing application (matlab/scilab) painfully exposes (one of) the weaknesses of C++ (compatibility issues of run-time libraries/executables) -- innumerable hours I spent debugging exception handling and wishing CA had never gone C++. There always arise subtle and compiler-version dependent problems... Stephanie Allison
| ||||||||||||||||
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |