.

Average: 0
Rating Count: 0

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

License:

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'

22 Feb 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .



20 Apr 2017, Piotr Goryl
Updated:
The device class has been updated.
You can see previous version here .



23 Feb 2017, Piotr Goryl
Created:
The device class has been added to catalogue.
Added by:pgoryl2 on:23 Feb 2017, 9:28 a.m.