Displaying report 1-1 of 1.
Reports until 19:21, Wednesday 13 October 2010
X1 SEI
james.batch@LIGO.ORG - posted 19:21, Wednesday 13 October 2010 (209)
Matlab awgexc_run Working on Seismic Test Stand.
I fixed the problem with awgexc_run for the long signal injections that Vincent has been trying to run using Matlab.  The issue was that the SIStr library of routines used by awgstream, awgexc_run, and multiawgstream was eventually attempting to send data to the awg too soon.  The awg has a limited amount of memory that it uses to store a waveform - the trick is to send data fast enough that the awg doesn't run out of data, but not so fast that the awg's buffer would fill up.

When using the SIStr library to send data to the awg, the library loads the awg buffers full, then before attempting to add more, the library calculates a "sleep" time that is needed to wait before trying to send additional data.  After close to an hour of adding data, the library miscalculated and sent the data too soon.  The error was not handled gracefully, causing awgexc_run to exit.

I fixed the problem on the test stand by shortening SIStr's lead time, to keep it from sending data to the awg so far in advance.  I will be examining the data I collected in debug mode to see what the trend of the time calculation is (for possible error accumulation).  I will also see if SIStr should be changed to handle the case of attempting to send data that is "too far in the future", as this shouldn't necessarily be a fatal error if the waveform data is part of a long stream of data and it's possible to wait a bit longer to resend the data.
Displaying report 1-1 of 1.