- 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:
koennecke
2006-07-07 15:05:24 +00:00
parent 7d8ad7392c
commit e6ad9da6ad
16 changed files with 5724 additions and 77 deletions

View File

@ -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