| 1. The Modes |
2. The Delegates
2.1 Description and parameters 2.2 Responsible services |
3. More about MOOD | 4. To do, Schedule |
|
In the LIM Design document the modes are listed—without the color-coding or bracketed remark—as
| Name | Description |
|---|---|
| Boot | Primary Boot Code (PBC) running [in the SIU] and LIM not running. |
| Terminal | Initial LIM mode. |
| Quiescent | Ready for physics observations, calibration, or diagnostics. |
| Hold | Stable mode for troubleshooting. |
| Diagnostic [aka Engineering] | Diagnostic functions are active. |
| Calibration | Charge injection calibration functions are active. |
| Physics | Normal sky survey or pointed observation activity is in progress. |
| ToO | Target of Opportunity observation activity is in progress. |
| ARR | Autonomous Repoint Request activity is in progress. |
From MOOT's perspective, the last three can be treated as variants of Physics mode and the first four can also be grouped together into just one or two major MOOT modes. For now lump together the first four line in the table into a made-up category called Unavailable
One can make a case for combining some of these (e.g., TKR-specific enable/disable configuration; other TKR-specific configuration) to make a slightly shorter list. I've tentatively opted for the finer division because it seems likely these different kinds of configuration might be updated at different times.
The list for Calibration would be very similar to the above, however it would include an additional delegate for the charge injection parameters (e.g., dac settings).
Who is responsible for making sure that a particular configuration value gets to the right place; e.g. who sets a particular register or register field? The question is further complicated by the fact that some registers might have more than one "owner": one component might set a register to an initial safe value; then when the truly responsible party (e.g., a software task like Event Filter) is ready it can set it to the correct final value. And some registers have individual fields which don't necessarily belong to the same function.
| Delegate | Parameter | FSW handler |
|---|---|---|
| Players | all | PIG |
| Housekeeping | all | LHK |
| Low-rate Science Counters | all | LMC |
| FSW system parameters | all | FMX? |
| Filter | cal gains, pedestals | written in FSW code, handled by FMX |
| Filter | energy cuts | written in FSW code, handled by FMX? |
| Filter | sampling parameters | written in FSW code, handled by FMX? |
| Filter | summary statistics rates | written in FSW code, handled by FMX? |
| ?? | discriminator settings | LATC? |
| Timing | "one-time write" registers in terminology of LATC User Guide | written in FSW code, handled by FMX? |
| Trigger configuration | ROI, etc. | These correspond to GEM registers which are settable from LATC, but is that the way they will be set? Or will they be set by FSW code? |
Last week's notes suggested MOOD would have a minimum of two tables, known as Configs and History. It might be preferable to have, in addition to these tables, a table per delegate or perhaps just a single Delegates table. A row in Configs would then have references to rows in Delegates where the detailed information would reside.
Another table, very much like the one now used in the Offline calibration metadata database, could be used to keep track of source files like those input to LATC and other FSW services. Such files would more or less correspond to parameter values for the delegates. The table should be designed in such a way that MOOT can look up the files it needs by their properties and discover the filename, file format, etc.
Last week (21 July 2005)
|
Initial draft: 28 July 2005 Last revised: |
J. Bogart |