- Improvements to Hipadaba
- New chopper driver for MARS Juelich chopper system - New docbook based SANS manual SKIPPED: psi/amorcomp.c psi/amordrive.h psi/amorset.c psi/amorset.h psi/amorset.tex psi/amorset.w psi/julcho.c psi/libpsi.a psi/make_gen psi/psi.c
This commit is contained in:
44
hipadaba.h
44
hipadaba.h
@ -1,19 +1,21 @@
|
||||
/**
|
||||
* Hipadaba is a hierarchical database of parameters. Parameters can be of various types.
|
||||
* What happens when a parameter is being set, updated or read is largely determined
|
||||
* through callbacks which can be registered on parameters. This can implement permission
|
||||
* checking, range checking, automatic notifications and whatever comes up.
|
||||
* Hipadaba is a hierarchical database of parameters. Parameters can be of
|
||||
* various types. What happens when a parameter is being set, updated or read
|
||||
* is largely determined through callbacks which can be registered on
|
||||
* parameters. This can implement permission checking, range checking,
|
||||
* automatic notifications and whatever comes up.
|
||||
*
|
||||
* There is some subtlety here between updating and setting a parameter. The issue is
|
||||
* that in instrument control there are two types of parameters: Instant program parameters
|
||||
* and external parameters like motors which are dependent on some possibly slow and
|
||||
* inaccurate hardware. Let us consider the latter: Setting the parameter should do all
|
||||
* necessary checks on the parameter and tell the hardware where to go. Some internal code
|
||||
* may be watching the hardware; that code should use Update which justs sets a new value
|
||||
* and invokes callbacks which notify interested parties about the new parameter value.
|
||||
* For program parameters, a callback shall be installed which calls update directly
|
||||
* after setting the parameter. Thus notification callbacks shall always be connected to the
|
||||
* update chain.
|
||||
* There is some subtlety here between updating and setting a parameter. The
|
||||
* issue is that in instrument control there are two types of parameters:
|
||||
* Instant program parameters and external parameters like motors which are
|
||||
* dependent on some possibly slow and inaccurate hardware. Let us consider
|
||||
* the latter: Setting the parameter should do all necessary checks on the
|
||||
* parameter and tell the hardware where to go. Some internal code may be
|
||||
* watching the hardware; that code should use Update which justs sets a new value
|
||||
* and invokes callbacks which notify interested parties about the new parameter
|
||||
* value. For program parameters, a callback shall be installed which calls update
|
||||
* directly after setting the parameter. Thus notification callbacks shall always be
|
||||
* connected to the update chain.
|
||||
*
|
||||
* copyright: GPL
|
||||
*
|
||||
@ -23,12 +25,14 @@
|
||||
#define HIPADABA
|
||||
|
||||
/*------- datatypes */
|
||||
#define HIPNONE -1
|
||||
#define HIPINT 0
|
||||
#define HIPFLOAT 1
|
||||
#define HIPTEXT 2
|
||||
#define HIPINTAR 3
|
||||
#define HIPFLOATAR 4
|
||||
#define HIPNONE -1
|
||||
#define HIPINT 0
|
||||
#define HIPFLOAT 1
|
||||
#define HIPTEXT 2
|
||||
#define HIPINTAR 3
|
||||
#define HIPFLOATAR 4
|
||||
#define HIPINTVARAR 5
|
||||
#define HIPFLOATVARAR 6
|
||||
/* -------- callback types */
|
||||
#define HCBSET 0
|
||||
#define HCBUPDATE 1
|
||||
|
Reference in New Issue
Block a user