First attempt
Alan writes... So far I've done- SctApi keeps a cache of all ROD banks (lazy initialisation)
- It keeps them up to date when people do modifyABCDVarROD
- It keeps them up to date when people do setABCDModule
- getABCDModule always returns the cache
- if "api_config_cache" debug option is set, the ROD bank is also read out and compared to the API cache
- setABCDModule will not do a copy if it believes that the ROD bank is the same as the "normal" API configuration
- except it always (at the moment) sends the SCAN bank, as we know that it changes during the scan, so will not match the cache.
I'd like to totally get rid of the "normal" API cache, and replace it with the full ROD-bank cache.
Here is the [difference] between ROD config and the API's ROD-BANK cache at end of a NMask scan
- I think the mask differences come from the fact that I just did an NMask scan
- How does the present flag get set?
- BJG says it is set by the DSP code.
- [Douglas's changes] which should allow us to do further improvements.
- [Bruce's reply]
Background
[Alan's chat with Bruce on this subject]
Date: Wed, 12 Jan 2005 09:24:05 +0000 (GMT) From: Bruce Gallop To: Alan Barr Cc: Christopher Lester, "Peter Phillips ( RAL )" Subject: RE: Updating configuration
This is why it all needs thinking through,
I put some stuff on CalibrationController after I wrote the mail...
One question is whether we should read out the SCAN bank to put it with the histogram results.
The alternative would be to write the configuration currently in the API to the histogram result, which would probably just be the "physics" configuration as most other things wouldn't use it.
This sort of answers your question. The SctApi copy of the configuration wouldn't have been updated after the strobe delay (as we can update the CALIBRATION bank in the ROD), so it would be out of date once we need to update for the RC.
Bruce