Development status:
Released,
Release: release_1_3_0
Information status: Updated
Repository:
http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/BeamDiagnostics/i-tech-brillance
Contact:
Class Description
IT Libera BPM Device Server
Families: BeamDiagnostics
Key words: BeamDiag
Platform: Unix Like
Language: Cpp
Contact:
Hardware
Manufacturer: I-Tech
Product:
Libera Electron & Brillance
Bus: Ethernet
Class interface
Attributes:
Name | Description |
---|---|
LiberaModelScalar: DevUShort | — |
DDEnabledScalar: DevBoolean | — |
DDBufferSizeScalar: DevLong | — |
DDDecimationFactorScalar: DevUShort | — |
DDTriggerOffsetScalar: DevLong | — |
DDBufferFreezingEnabledScalar: DevBoolean | — |
DDBufferFrozenScalar: DevBoolean | — |
DDTriggerCounterScalar: DevLong | — |
ExternalTriggerEnabledScalar: DevBoolean | — |
ExternalTriggerDelayScalar: DevLong | — |
SAEnabledScalar: DevBoolean | — |
VaSAScalar: DevDouble | — |
VbSAScalar: DevDouble | — |
VcSAScalar: DevDouble | — |
VdSAScalar: DevDouble | — |
XPosSAScalar: DevDouble | — |
ZPosSAScalar: DevDouble | — |
SumSAScalar: DevDouble | — |
QuadSAScalar: DevDouble | — |
CxSAScalar: DevLong | — |
CzSAScalar: DevLong | — |
SAStatNumSamplesScalar: DevLong | — |
XMeanPosSAScalar: DevDouble | — |
ZMeanPosSAScalar: DevDouble | — |
XRMSPosSAScalar: DevDouble | — |
ZRMSPosSAScalar: DevDouble | — |
XPeakPosSAScalar: DevDouble | — |
ZPeakPosSAScalar: DevDouble | — |
SumMeanSAScalar: DevDouble | — |
ADCEnabledScalar: DevBoolean | — |
ADCBufferSizeScalar: DevLong | — |
PMOffsetScalar: DevLong | — |
PMNotifiedScalar: DevBoolean | — |
PMNotificationCounterScalar: DevShort | — |
InterlockXNotifiedScalar: DevBoolean | — |
InterlockZNotifiedScalar: DevBoolean | — |
InterlockAttnNotifiedScalar: DevBoolean | — |
InterlockADCPreFilterNotifiedScalar: DevBoolean | — |
InterlockADCPostFilterNotifiedScalar: DevBoolean | — |
XLowScalar: DevDouble | — |
XHighScalar: DevDouble | — |
ZLowScalar: DevDouble | — |
ZHighScalar: DevDouble | — |
AutoSwitchingEnabledScalar: DevBoolean | — |
SwitchesScalar: DevShort | — |
ExternalSwitchingScalar: DevBoolean | — |
SwitchingDelayScalar: DevLong | — |
OffsetTuneScalar: DevLong | — |
CompensateTuneScalar: DevBoolean | — |
DSCModeScalar: DevShort | — |
AGCEnabledScalar: DevBoolean | — |
GainScalar: DevDouble | — |
HasMAFSupportScalar: DevBoolean | — |
MAFLengthScalar: DevLong | — |
MAFDelayScalar: DevLong | — |
MachineTimeScalar: DevDouble | — |
TimePhaseScalar: DevLong | — |
SystemTimeScalar: DevDouble | — |
SCPLLStatusScalar: DevBoolean | — |
MCPLLStatusScalar: DevBoolean | — |
HWTemperatureScalar: DevShort | — |
Fan1SpeedScalar: DevShort | — |
Fan2SpeedScalar: DevShort | — |
IncoherenceScalar: DevDouble | — |
RefIncoherenceScalar: DevDouble | — |
MaxIncoherenceScalar: DevDouble | — |
MaxIncoherenceDriftScalar: DevDouble | — |
UpTimeScalar: DevLong | — |
CpuUsageScalar: DevLong | — |
FreeMemoryScalar: DevLong | — |
RamFsUsageScalar: DevLong | — |
UseLiberaSADataScalar: DevBoolean | — |
XPosDDSpectrum: DevDouble | — |
ZPosDDSpectrum: DevDouble | — |
QuadDDSpectrum: DevDouble | — |
SumDDSpectrum: DevDouble | — |
VaDDSpectrum: DevDouble | — |
VbDDSpectrum: DevDouble | — |
VcDDSpectrum: DevDouble | — |
VdDDSpectrum: DevDouble | — |
XPosSAHistorySpectrum: DevDouble | — |
ZPosSAHistorySpectrum: DevDouble | — |
SumSAHistorySpectrum: DevDouble | — |
XPosPMSpectrum: DevDouble | — |
ZPosPMSpectrum: DevDouble | — |
QuadPMSpectrum: DevDouble | — |
SumPMSpectrum: DevDouble | — |
VaPMSpectrum: DevDouble | — |
VbPMSpectrum: DevDouble | — |
VcPMSpectrum: DevDouble | — |
VdPMSpectrum: DevDouble | — |
ADCChannelASpectrum: DevShort | — |
ADCChannelBSpectrum: DevShort | — |
ADCChannelCSpectrum: DevShort | — |
ADCChannelDSpectrum: DevShort | — |
IaDDSpectrum: DevDouble | — |
IbDDSpectrum: DevDouble | — |
IcDDSpectrum: DevDouble | — |
IdDDSpectrum: DevDouble | — |
QaDDSpectrum: DevDouble | — |
QbDDSpectrum: DevDouble | — |
QcDDSpectrum: DevDouble | — |
QdDDSpectrum: DevDouble | — |
UserDataSpectrum: DevShort | — |
InterlockConfigurationSpectrum: DevDouble | — |
logsSpectrum: DevString | — |
Commands:
Name | Description |
---|---|
StateInput: DevVoid Output: State |
This command gets the device state (stored in its device_state data member) and returns it to the caller. |
StatusInput: DevVoid Output: DevString |
This command gets the device status (stored in its device_status data member) and returns it to the caller. |
GetParametersInput: DevVoid Output: DevVarDoubleStringArray |
Retruns the current gains and offsets (i.e. the parameters used for position computation) |
UnfreezeDDBufferInput: DevVoid Output: DevVoid |
Unfreezes the DD buffer |
EnableDDBufferFreezingInput: DevVoid Output: DevVoid |
Enables the DD buffer freezing mechanism |
DisableDDBufferFreezingInput: DevVoid Output: DevVoid |
Disables the DD buffer freezing mechanism |
EnableDDInput: DevVoid Output: DevVoid |
Enables the so called "data on demand" (i.e. first turns) data source |
DisableDDInput: DevVoid Output: DevVoid |
Disables the so called "data on demand" (i.e. first turns) data source |
EnableSAInput: DevVoid Output: DevVoid |
Enables the so called "slow acquisition" data source |
DisableSAInput: DevVoid Output: DevVoid |
Disables the so called "slow acquisition" data source |
ResetPMNotificationInput: DevVoid Output: DevVoid |
None. |
ResetInterlockNotificationInput: DevVoid Output: DevVoid |
Resets the interlock notification flags to false |
SetInterlockConfigurationInput: DevVoid Output: DevVoid |
Change interlock configuration using the InterlockConfiguration class (or device) property. Only modify the interlock configuration, the remaining env. parameters remain unchanged. |
EnableADCInput: DevVoid Output: DevVoid |
Enables the so called ADC data source |
DisableADCInput: DevVoid Output: DevVoid |
Disables the so called ADC data source |
SetTimeOnNextTriggerInput: DevVoid Output: DevVoid |
Applies both machine et system time values on next trigger |
ReadFADataInput: DevVarLongArray Output: DevVarLongArray |
Statring from[offest] in FA data block, reads [size of elems] * [num of elems] bytes. |
WriteFADataInput: DevVarLongArray Output: DevVoid |
Starting from [offset] in Fa data block, writes [size of elems * num of elems]. The actual data to be written starts at index [4] in the input array. |
SaveDSCParametersInput: DevVoid Output: DevVoid |
Saves the current DSC parameters |
ReloadSystemPropertiesInput: DevVoid Output: DevVoid |
None. |
SetRefIncoherenceInput: DevVoid Output: DevVoid |
Set the actual incoherence value as refeference value for the drift alarm calculation. |
Pipes:
Properties:
Name | Description |
---|---|
InterlockConfigurationDouble[]Type | The user defined interlock configuration. This is the configuration that should be applied on the Libera in case the device `finds` the Libera in its default startup configuration when it is itself starting up or executing its Init TANGO command. This configuration can also be applied using the dedicated ``SetInterlockConfiguration`` expert command. Parameters mapping: [0] Interlock : mode - [0]: disabled, [1]: enabled, [3]: enabled with gain dependency [1] Interlock : threshold : X low in mm [2] Interlock : threshold : X high in mm [3] Interlock : threshold : Z low in mm (i.e. Y low in the Libera terminology) [4] Interlock : threshold : Z high in mm (i.e. Y high in the Libera terminology) [5] Interlock : overflow limit (ADC threshold) [6] Interlock : overflow duration (num of overloaded ADC samples before raising intlck) [7] Interlock : gain limit in dBm (intlck not active under this limit) - valid range is [-60, 0] |
EnableDDOptionalDataDevBoolean | Enables/Disables DD optional data (IxDD and QxDD) |
EnableSAOptionalDataDevBoolean | Enables/disables SA optional Data (currently not used) |
EnableSAHistoryOptionalDataDevBoolean | Enables/disables SA History optional data (sum history) |
EnableADCOptionalDataDevBoolean | Enables/disables ADC optional data (currently not used) |
InstituteDevShort | 0: TANGO_INSTITUTE (GENERIC) 1: ALBA 2: ESRF 3: ELETTRA 4: SOLEIL |
LiberaIpAddrDevString | The Libera IP address [no default value] |
LiberaPortDevShort | The port on which the generic server handles external requests. Defaults to 23721. |
DefaultDDBufferSizeDevLong | Default [or initial] value for attribute DDBufferSize [in samples]. Defaults to 1024. |
SwitchesDevShort | Switches configuration. The valid range is [0..15]. Defaults to 3. |
LiberaMulticastIpAddrDevString | Asynch. notifications (e.g. trigger events) will be send to this addr [no default value] |
LocationDevString | The BPM location [TL1, BOOSTER, TL2 or STORAGE_RING]. No default value. |
EnableExternalTriggerDevBoolean | Enables (or not) the external trigger source. Inlfuences the TANGO device behaviour not the Libera itself. Defaults to false. |
DDTaskActivityPeriodDevLong | Specify the watch-dog (1) or data reading period (2) in ms. Must be in the rangec [500, 25000] ms. Defaults to 1000. (1) : external trigger enabled - (2) : external trigger disabled. |
SATaskActivityPeriodDevLong | Specify the watch-dog (1) or data reading period (2) in ms. Must be in the range [100, 25000] ms. Defaults to 100. |
EnableDDDevBoolean | Specifies whether or not the DD data source should be enabled at startup. Defaults to false. |
EnableSADevBoolean | Specifies whether or not the SA data source should be enabled at startup. Defaults to false. |
SAHistoryLengthDevLong | SA history buffer length [in samples]. Defaults to 8196. |
DDDecimationFactorDevShort | The DD decimation factor. Allowed values : 1 (no decimation) or 64 (for the so called booster normal mode) |
EnableAutoSwitchingIfSAEnabledDevBoolean | When set to TRUE, auto-switching is automattically enabled when the SA data source is itself enabled |
EnableDSCIfAutoSwitchingEnabledDevBoolean | When set to TRUE, the Digital Signal Conditioning is automattically enabled when the auto-switching is itself enabled |
DefaultSAStatNumSamplesDevLong | Default number of SA history samples to use form RMS pos. computation. Defaults to 10 (last second in the SA history). |
DefaultADCBufferSizeDevLong | Default [or initial] value for attribute ADCBufferSize [in samples]. Defaults to 1024. |
ADCTaskActivityPeriodDevLong | Specifies the data reading period in ms. Must be in the range [500, 25000] ms. Defaults to 1000. |
EnableADCDevBoolean | Specifies whether or not the ADC data source should be enabled at startup. Defaults to false. |
DefaultTimePhaseValueDevLong | Default value for the machine time phase. Its valid range is [0, RfSfRatio - 1] where RfSfRatio is a machine dependent system property. |
InterlockConfigurationType | The user defined interlock configuration. This is the configuration that should be applied on the Libera in case the device `finds` the Libera in its default startup configuration when it is itself starting up or executing its Init TANGO command. This configuration can also be applied using the dedicated `SetInterlockConfiguration` expert command. Parameters mapping: [0] Interlock : mode - [0]: disabled, [1]: enabled, [3]: enabled with gain dependency [1] Interlock : threshold : X low in mm [2] Interlock : threshold : X high in mm [3] Interlock : threshold : Z low in mm (i.e. Y low in the Libera terminology) [4] Interlock : threshold : Z high in mm (i.e. Y high in the Libera terminology) [5] Interlock : overflow limit (ADC threshold) [6] Interlock : overflow duration (num of overloaded ADC samples before raising intlck) [7] Interlock : gain limit in dBm (intlck not active under this limit) - valid range is [-60, 0] |
EnableDDOptionalDataDevBoolean | Enables/Disables DD optional data (IxDD and QxDD) |
EnableSAOptionalDataDevBoolean | Enables/disables SA optional Data (currently not used) |
EnableSAHistoryOptionalDataDevBoolean | Enables/disables SA History optional data (sum history) |
EnableADCOptionalDataDevBoolean | Enables/disables ADC optional data (currently not used) |
InstituteDevShort | 0: TANGO_INSTITUTE (GENERIC) 1: ALBA 2: ESRF 3: ELETTRA 4: SOLEIL |
MaxDDBufferSizeWhenDecimationEnabledDevLong | Max. DD buffer size when decimation enabled on DD data source. Defaults to 10000 |
PassBBAOffsetsToFPGADevBoolean | Controls wether or not the BBA offsets are taken into account when computing the offsets passed to the FPGA process |
FADataCacheRefreshPeriodDevLong | The cache refresh period in msecs. Defaults to 500 ms (2Hz). |
Please log in to comment.
README
b'$Id: README,v 1.17 2007/12/03 09:59:21 tomazb Exp $\n\nCSPI -- Control System Programming Interface\n\nCopyright (C) 2004-2006 Instrumentation Technologies\nSee the COPYING file for copying conditions.\n\nControl System Programming Interface (CSPI) is a high-level C library\nthat allows you to implement a range of applications for the Libera\nfamily of processors in a consistent and documented way.\n\nCSPI separates control-system specific knowledge from low level\ndetails and logic related to a Libera processor. Using this model, the\nunderlying software (i.e. the Libera GNU/Linux driver) or hardware can\nundergo a change without affecting the application.\n\nCSPI also allows for maximum interoperability -- an application can\naccess data from different Libera data sources and even different\nmembers of the Libera family through a single interface.\n\nDirectory listing:\nDOC\t- documentation\nSRC\t- source files\n\n1. BUILDING\n\nTo build the CSPI library, you require headers for the GNU/Linux\ndriver for Libera. Please review and, if necessary, edit the\nconfiguration section of the Makefile to match the location of the\nheaders on your system. Next, type:\n\n cd src\n make\n\nWhen cross-compiling, either set the toolchain prefix (CROSS_COMPILE)\nin the configuration section of the Makefile or on the command line:\n\n CROSS_COMPILE=arm-linux- make\n\nTo install the library, type:\n\n make install\n\nThis will copy library files to the location specified in the\nMakefile.\n\nLibera Electron: CORDIC algorithm is used to calculate apmlitudes from\nI and Q values. CORDIC is an iterative algorithm. In the process, the\namplitude is multiplied by a CORDIC Gain (cumulative magnitude) of\nabout 1.647. The actual CORDIC gain depends on the number of\niterations.\n\nFor positions X and Y alone, the CORDIC gain is irrelevant and the\nprocessing speed can be somewhat improved by building the library with\nCORDIC_IGNORE_GAIN defined.\n\n2. USING\n\nFirst, you should include the driver and library header files in your\napplication:\n\n#include "libera.h"\n#include "cspi.h"\n\nNext, when passing options to GNU C compiler, you should use -lcspi to\nlink the application against the library.\n\nTo find out more about the library, see CSPI User\'s Guide in the\ndocumentation directory. To learn how to use the library functions,\nsee CSPI Reference in the documentation directory.\n\nLibera Electron: The src/test directory includes two sample data\nacquisition utilities called \'libera\' and \'acquire\'. The later is\ndeprecated and may be removed in the future. Consider using \'libera\'\ninstead. To learn more about usage, run libera with option --help:\n\n libera --help\n\nWhen run with option --acquire, the utility outputs one sample per\nline to standard output. The ordering and meaning of the values depend\non the selected data source.\n\nWith option --using-dd or --using-pm specified, each sample consists\nof eight whitespace separated integer values:\n\n Va, Vb, Vc, Vd, X, Y, Sum, Q\n or, with option --raw specified,\n cosVa, sinVa, cosVb, sinVb, cosVc, sinVc, cosVd, sinVd\n\nWith option --using-sa specified, each sample consists of ten\nwhitespace separated integer values. Units (where applicable) are\nnanometers:\n\n Va, Vb, Vc, Vd, X, Y, Sum, Q, Cx, Cy\n\nWith option --using-adc specified, each sample consists of four\nwhitespace separated integer values:\n\n chA, chB, chC, chD\n\nWith option --binary, data is not formatted as text and is instead\noutput as a binary stream of samples, or more precisely, as a stream\nof 32-bit integer values (16-bit for ADC-rate data). This allows for\nfaster acquisition and off-line processing (i.e. integration into an\napplication such as Matlab).\n\nWhen run with option --set-environment, the utility reads Libera\nenvironment parameters from standard input. In this way, to set the\nLibera environment, use:\n\n libera --set-environment < my_conf_file\n\nSample environment and gain configuration files are included with the\nprogram. The later allows one to set analog board attenuators based on\ninput power, using a predefined gain scheme.\n\nA configuration file should consist of parameters of a form:\nNAME VALUE\n\nThe configuration file is line-based - that is, each\nnewline-terminated line represents either a comment, or a\nparameter. Parameter names are case sensitive. Leading and trailing\nwhitespace in parameter names and values is irrelevant and\ndiscarded. Any line beginning with a hash (\'#\') character is ignored,\nas are lines containing only whitespace.\n\n libera --set-environment < env.conf\nThis will set Libera environment parameters listed in the\nconfiguration file. See sample configuration file env.conf\nincluded with the utility for more information.\n\n libera --acquire --on-trigger --using-dd 1000 > some_file\nThis will acquire 1000 data-on-demand samples on trigger into\nsome_file. The operation will time out after 30 seconds if no\ntrigger is received.\n\n libera --acquire --on-trigger --using-dd --with-timestamp \\n --loop --raw 1000 > /dev/null\nThis will acquire data-on-demand on trigger in a loop,\ndiscarding the data and printing a timestamp only on each\niteration.\n\n libera --set-time :200602091223.00\nThis will set the system time (ST) at next trigger to Feb 09\n12:23:00 2006. Machine time (MT) will not change.\n\nLibera Bunch-by-Bunch: A sample data acquisition utility called\n\'libera-bbfp\' is included in the src/test directory. To learn more\nabout usage, run libera-bbfp with option -h:\n\n libera -h\n\nThe utility outputs four samples per line to standard output.\n\n\n3. LIMITATIONS\n\nLibera Electron: The variable \'sum\' of the CSPI_DD_ATOM structure\nreturned by the cspi_read or cspi_read_ex has two least significant\nbits truncated to prevent an overflow.\n\n\nThis version of CSPI has been developed and tested using:\n- gcc 3.4\n- Libera driver 1.80\n- FPGA design 1.80\n'