Status and "to do" list for RunControl

  • error reporting in async record? report via alarm status, how to check?
  • snc compiler works, but no runtime If cas and gdd are removed from base/src/Makefile, also remove them from configure/CONFIG_BASE.
  • mu_lib produces seg fault when called with invalid DAQ_SETUP
  • IOC for shw ready, test it in old runctrl
  • Control and State of single modules works nicely, how to make larger entities? Statement: init and reset can be done completely in parallel, start and stop need some means of sequencing. Some kind of aggregation via dfanout/fanout may work, but strange to sequence. How to do error handling? Let a sequencer run in each crate.
  • Seqencer for shw ready, tested with tcl-run-control.
  • Things to discuss, find pros/cons:
    • One sequencer for each crate? For the whole system?
    • Use sequencer programs for "fan in/fan out" from crate/system to single module or use DB records.
      • Sequencer breaks somewhat the idea, e.g. asyncronous processing / PACT status is not usable as in IOC.
      • DB records need special record types for sequential fan out or status fan in.
  • Next steps (which one first?)
    • Make IOC/sequencer for more crates, generalize it
    • Do proper error handling and reporting
  • Move syslog initialization from device support init to ioc init (main) Even better: Move it to function and register this with IOC shell.
  • Epics Error logging via syslog basically works, but rcState is the wrong place. Put it into *Main.cpp or make an iocsh command from it
  • How to wait for completion of control command in crate
  • Success/Fail messages for standard functions are done in blubctrl.c, but not in ioc.

  • IOC/Sequencer works verly nicely as replacement for *ctrl/script in shower. Now generalize it so that it can work in different systems. Where to get parameters? Channel Access or Parameter Library?
    • create function that gets list of units
    • do dynamic assignment that uses this list

  • Error reporting is solved, works via errorlog on epics and syslog outside, both go to syslog.
  • Error handling still completely void
  • Shower works with sequencer that is configured via Param, no second implementation yet.
  • Complicated start procedure in trigconc crate. Make two "logical" systems out of it? Be careful, there is only one readout.
  • "shw" IOC works also for trigconc by adding the proper DB files, so it's a matter of naming. But sequencer needs parametrization of sub system name (right now "SHW" is hardcoded)
  • Switch on error logging from param and vme library in the proper place (where conLvme / conParam is called).
  • Create a record for the state of one complete crate (most probably via gensub). Was done with sub record.
  • generate database files and adl files from module list. Probably via msi -V?

This topic: DaqSlowControl > OutdatedPages > RunControl > RunControlTasks
Topic revision: 2005-06-02, SimonLang
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki Send feedback | Imprint | Privacy Policy (in German)