Interfaces für System-Eigenschaften
Was von Device Manager und den einzelnen Devices an Informationen
über Kontrollsystem-Eigenschaften verfügbar gemacht werden soll,
was über Device Manager und Devices gesteuert werden soll.
Was davon sollte über normale Properties verfügbar gemacht werden,
was über eine spezielles Manager-Interface (IDL-Spezifikation)?
Device Manager:
Lesbar
* Liste aller Devices
* sicherlich: Nomenklaturen
* auch Gerätemodell, IFK-Adresse???
* Liste aller SEs
- Achtung, ist VME-spezifisch -
* Liste aller Gerätemodelle, mit
* Typ
* SW-Versionen (DevMan, alle Gerätemodelle (USRs))
* Ausführungsstatistiken/Protokolle
* Restarts
* Fehlerpuffer ?
* Interrupts, Alarme, ... ?
zu steuern?
* reload USRs (update SW version, gerätemodell-spezifisch oder immer alle USRs?)
* reload DB (*.dbs neu einlesen und setDevConstants() aller Devices aufrufen)
* Init/Reset
* einzelnes Device
Init wäre sowas wie Geräteobjekt löschen und neu instanziieren.
Was macht Reset? Ist das nicht eine Property des Gerätes?
* alle Devices eines Gerätemodells/einer SE ?
* alle Devices ?
* Alarme shutup (alle Geräte des DevMan)
Device:
Lesbar
* Nomenklatur
* Gerätemodell (Gerätetyp)
* SW-Versionen (USRs, EQMs, EQM-Varianten, Comm. (MIL))
* Liste der Properties, mit
* Namen der Property
* Kennung: Lesen/Schreiben/NoData
* Beschreibung der Daten, Parameter
* Anzahl, Typ, Einheit (bisher definiert in createMap)
* Rechner, auf dem Gerät angeschlossen ist
heute: auf welcher SE
muss langfrstig keine SE sein (Supergeräte, x86, NIOS)
* Ausführungstatistiken, Protokolle
* laufende Konnektierungen ?
* Fehlerpuffer ?
zu steuern?
* Reset/Init
* Alarme shutup
SE (als spezielles Device):
* daher auch mit ganz ähnlichen Eigenschaften;
siehe also unter Device.
* liefert beim Lesen der Version
ECM-Version, EQM-Version, MIL-Version, ...
was noch? Wie ist es bisher?
Ideen für ein DevMan-Interface, Auflistung als Properties:
Implemented properties of DevMan as of May 2, 2007
-----------------------------------------------------
DEVDESC Nomen, Superclass, Class, Equipment model name,
Equipment model number, Devman name, Host name.
DEVLIST List of all devices, excluding ECs and GuP.
ECLIST List of all (9 possible) ECs. Should be a list
of all known ECs only!
EMODLIST List of running eqiupment model software. Should
include DMAN and EC too, as well as the corresponding
version of all models.
INIT No functionality implemented yet.
Re-instantiate all devices?
Reload SSRs? Reload EC-SRs? Reload USRs?
Reread *.dbs?
...?
NOMEN Nomenclature of GuP.
PROPDESC Property description including property name,
property mode (read/write/call), therapy lock
sensitivity (none/vrtacc/all), and property
category (master/slave).
RESET No functionality implemented yet.
What to do? See also INIT.
SHUTUP Enable/disable sending of alarms.
STATUS Read status.
VERSION Read version of Devman and Devman-USRs. Devman
version not yet implemented.
New properties of DevMan
----------------------------------
RLDDB Reload DB. Means new device objects? Same as INIT?
What if
- Existing device object is not in DB any more?
- Existing device object is in DB?
- DB contains new devices, thus no device object
is existing yet?
RLDCONST Reload only constants from DB?
Similar questions as with RLDDB.
RLDEQMOD Reload software (shared object) of specified
equipment model. Parameter is equipment model
number? -1 == all?
Questionable Properties
----------------------------------
ECMSCONF List of ECs, devices, and USRs
ECMDISP Count of send and received packets, more counters,
periodical and interrupt queue info, ...
ECHO Return received data.
LASTEXCE Read last exception (from error buffer)
Properties not supported any more
----------------------------------
TIME Get and set time
TESTIFB R/W/N. Should be only a ECM property, right?
DUMP Dump GuP memory
DBSWRITE Download local database
DBSREAD Upload local database
DOWNLOAD Download USRs
INFO Read CPU type and type of GuP memory banks
TTYCTRL Redirect tty output
TTY Remote tty control
Hidden properties
Some functions should be re-implemented
------------------------------------------
s_life Send life sign
s_stat Periodically update statistics
s_conf Get EC and device configuration, update database,
update nomenclatures in DPRs, etc. on startup and
periodically
s_alarm Forward alarms from ECs
s_conn Connect a property (a XSR)
s_dcon Disconnect a property (a XSR)