TANGO
Device Server



 

 

 

 

Libera BPM Device Server
User's Guide
 


Libera Class
 

Revision: - Author: nleclercq
Implemented in C++ - CVS repository: sourceforge(tango-ds)





 

 

Introduction:




Class Identification:


 

Class Inheritance:


 

 

 

Properties:




Class Properties
Property name
Property type
Description
InterlockConfiguration Array of double 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]
EnableDDOptionalData Tango::DEV_BOOLEAN Enables/Disables DD optional data (IxDD and QxDD)
EnableSAOptionalData Tango::DEV_BOOLEAN Enables/disables SA optional Data (currently not used)
EnableSAHistoryOptionalData Tango::DEV_BOOLEAN Enables/disables SA History optional data (sum history)
EnableADCOptionalData Tango::DEV_BOOLEAN Enables/disables ADC optional data (currently not used)
Institute Tango::DEV_SHORT 0: TANGO_INSTITUTE (GENERIC) 1: ALBA 2: ESRF 3: ELETTRA 4: SOLEIL



Device Properties
Property name
Property type
Description
ADCTaskActivityPeriod Tango::DEV_ULONG Specifies the data reading period in ms. Must be in the range [500, 25000] ms. Defaults to 1000.
DDDecimationFactor Tango::DEV_USHORT The DD decimation factor. Allowed values : 1 (no decimation) or 64 (for the so called booster normal mode)
DDTaskActivityPeriod Tango::DEV_ULONG 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.
DefaultADCBufferSize Tango::DEV_LONG Default [or initial] value for attribute ADCBufferSize [in samples]. Defaults to 1024.
DefaultDDBufferSize Tango::DEV_LONG Default [or initial] value for attribute DDBufferSize [in samples]. Defaults to 1024.
DefaultSAStatNumSamples Tango::DEV_ULONG Default number of SA history samples to use form RMS pos. computation. Defaults to 10 (last second in the SA history).
DefaultTimePhaseValue Tango::DEV_LONG Default value for the machine time phase. Its valid range is [0, RfSfRatio - 1] where RfSfRatio is a machine dependent system property.
EnableADC Tango::DEV_BOOLEAN Specifies whether or not the ADC data source should be enabled at startup. Defaults to false.
EnableADCOptionalData Tango::DEV_BOOLEAN Enables/disables ADC optional data (currently not used)
EnableDD Tango::DEV_BOOLEAN Specifies whether or not the DD data source should be enabled at startup. Defaults to false.
EnableDDOptionalData Tango::DEV_BOOLEAN Enables/Disables DD optional data (IxDD and QxDD)
EnableExternalTrigger Tango::DEV_BOOLEAN Enables (or not) the external trigger source. Inlfuences the TANGO device behaviour not the Libera itself. Defaults to false.
EnableSA Tango::DEV_BOOLEAN Specifies whether or not the SA data source should be enabled at startup. Defaults to false.
EnableSAHistoryOptionalData Tango::DEV_BOOLEAN Enables/disables SA History optional data (sum history)
EnableSAOptionalData Tango::DEV_BOOLEAN Enables/disables SA optional Data (currently not used)
FADataCacheRefreshPeriod Tango::DEV_ULONG The cache refresh period in msecs. Defaults to 500 ms (2Hz).
InterlockConfiguration vector 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]
LiberaIpAddr Tango::DEV_STRING The Libera IP address [no default value]
LiberaMulticastIpAddr Tango::DEV_STRING Asynch. notifications (e.g. trigger events) will be send to this addr [no default value]
LiberaPort Tango::DEV_SHORT The port on which the generic server handles external requests. Defaults to 23721.
Location Tango::DEV_STRING The BPM location [TL1, BOOSTER, TL2 or STORAGE_RING]. No default value.
MaxDDBufferSizeWhenDecimationEnabled Tango::DEV_LONG Max. DD buffer size when decimation enabled on DD data source. Defaults to 10000
PassBBAOffsetsToFPGA Tango::DEV_BOOLEAN Controls wether or not the BBA offsets are taken into account when computing the offsets passed to the FPGA process
PMDecimationFactor Tango::DEV_USHORT The PM decimation factor. Allowed values : 1 (no decimation) or 64 (for the so called booster normal mode)
SAHistoryLength Tango::DEV_ULONG SA history buffer length [in samples]. Defaults to 8196.
SATaskActivityPeriod Tango::DEV_ULONG Specify the watch-dog (1) or data reading period (2) in ms. Must be in the range [100, 25000] ms. Defaults to 100.






Class Properties Default Values:
Property Name Default Values</td>
InterlockConfiguration No default value
EnableDDOptionalData false
EnableSAOptionalData false
EnableSAHistoryOptionalData false
EnableADCOptionalData false
Institute 0



Device Properties Default Values:
Property Name Default Values
ADCTaskActivityPeriod 1000
DDDecimationFactor 1
DDTaskActivityPeriod 1000
DefaultADCBufferSize 1024
DefaultDDBufferSize 1024
DefaultSAStatNumSamples 256
DefaultTimePhaseValue No default value
EnableADC false
EnableADCOptionalData false
EnableDD false
EnableDDOptionalData false
EnableExternalTrigger false
EnableSA false
EnableSAHistoryOptionalData false
EnableSAOptionalData false
FADataCacheRefreshPeriod 500
InterlockConfiguration No default value
LiberaIpAddr No default value
LiberaMulticastIpAddr No default value
LiberaPort 23271
Location No default value
MaxDDBufferSizeWhenDecimationEnabled 16384
PassBBAOffsetsToFPGA false
PMDecimationFactor 1
SAHistoryLength 512
SATaskActivityPeriod 100







 

 

States:




States
Names
Descriptions
UNKNOWN Device is not [or not properly] initialized
FAULT Device initialization failed or unrecoverable error
ON BPM is up and running

 

 

Attributes:


Scalar Attributes
Attribute name
Data Type
R/W Type
Expert
LiberaModel: The Libera Model: 0:Electron, 1:Brillance, 2:Photon
DEV_USHORT
READ
No
DDEnabled: DD data source activation flag
DEV_BOOLEAN
READ_WRITE
No
DDBufferSize: The number of samples to be read on DD data source. Influences the size of the associated attributes [such as XPosDD for instance].
DEV_LONG
READ_WRITE
No
DDDecimationFactor: The DD decimation factor
DEV_USHORT
READ_WRITE
No
DDTriggerOffset: DD data offset in num. of turns
DEV_LONG
READ_WRITE
No
DDBufferFreezingEnabled: DD buffer freezing activation flag
DEV_BOOLEAN
READ
No
DDBufferFrozen: DD buffer status
DEV_BOOLEAN
READ
No
DDTriggerCounter: Number of trigger notifications received since last device
DEV_LONG
READ
No
ExternalTriggerEnabled: External trigger activation flag
DEV_BOOLEAN
READ
No
ExternalTriggerDelay: The external trigger signal can be internally hardware delayed. The delay is set in steps of ADC samples of about 9ns.
DEV_LONG
READ_WRITE
No
SAEnabled: SA data source activation flag
DEV_BOOLEAN
READ_WRITE
No
VaSA: Slow Acquisition: Va
DEV_DOUBLE
READ
No
VbSA: Slow Acquisition: Vb
DEV_DOUBLE
READ
No
VcSA: Slow Acquisition: Vc
DEV_DOUBLE
READ
No
VdSA: Slow Acquisition: Vd
DEV_DOUBLE
READ
No
XPosSA: Slow Acquisition: X
DEV_DOUBLE
READ
No
ZPosSA: Slow Acquisition: Z
DEV_DOUBLE
READ
No
SumSA: Slow Acquisition: Sum
DEV_DOUBLE
READ
No
SAStatNumSamples: The number of sample in SA history used to compute the SA statistics (Mean, RMS, Peak pos). The most recent samples will be used. The valid range is [2, SAHistoryLength property value].
DEV_LONG
READ_WRITE
No
XMeanPosSA: Slow Acquisition: X Mean Pos.
DEV_DOUBLE
READ
No
ZMeanPosSA: Slow Acquisition: Z Mean Pos.
DEV_DOUBLE
READ
No
XRMSPosSA: Slow Acquisition: X RMS Pos.
DEV_DOUBLE
READ
No
ZRMSPosSA: Slow Acquisition: Z RMS Pos.
DEV_DOUBLE
READ
No
XPeakPosSA: Slow Acquisition: X pos peak to peak amplitude
DEV_DOUBLE
READ
No
ZPeakPosSA: Slow Acquisition: X pos peak to peak amplitude
DEV_DOUBLE
READ
No
SumMeanSA: SA: mean of sum
DEV_DOUBLE
READ
No
ADCEnabled: ADC data source activation flag
DEV_BOOLEAN
READ_WRITE
No
ADCBufferSize: The number of samples to be read on ADC data source. Influences the size of the associated attributes [such as ADCChannelA for instance].
DEV_LONG
READ_WRITE
No
PMDecimationFactor: The DD decimation factor
DEV_USHORT
READ_WRITE
No
PMOffset: Internal delay of the post mortem trigger. Can be set in the range of +/- 10 ksamples.
DEV_LONG
READ_WRITE
No
PMNotified: Post Moterm notification flag
DEV_BOOLEAN
READ
No
PMNotificationCounter: Number a PM event recieved since last Init
DEV_SHORT
READ
No
InterlockXNotified
DEV_BOOLEAN
READ
No
InterlockZNotified
DEV_BOOLEAN
READ
No
InterlockBiasCurrentLimitNotified
DEV_BOOLEAN
READ
No
InterlockBiasOverCurrentNotified
DEV_BOOLEAN
READ
No
InterlockADCOverflowNotified
DEV_BOOLEAN
READ
No
XLow: Lower limit of the X position interlock threshold in mm
DEV_DOUBLE
READ
No
XHigh: Upper limit of the X position interlock threshold in mm
DEV_DOUBLE
READ
No
ZLow: Lower limit of the Z position interlock threshold in mm
DEV_DOUBLE
READ
No
ZHigh: Upper limit of the Z position interlock threshold in mm
DEV_DOUBLE
READ
No
OffsetTune: Determines the pll offset to tune the BPM. The unit is ~40Hz.
DEV_LONG
READ_WRITE
No
CompensateTune: Determines whether single or double offset tune will be employed. Default value is true, which means that the the double offset tune is employed.
DEV_BOOLEAN
READ_WRITE
No
ARCEnabled: Enables/disables the Automatic Range Control
DEV_BOOLEAN
READ_WRITE
No
Range: Libera input range [0,6]
DEV_USHORT
READ_WRITE
No
BiasVoltageSourceEnabled: Bias voltage src. status
DEV_BOOLEAN
READ
No
Bias: Bias
DEV_SHORT
READ_WRITE
No
MachineTime: Machine Time value to be applied on the Libera when the SetTimeOnNextTrigger command is executed
DEV_DOUBLE
READ_WRITE
No
TimePhase: The Machine Time Phase
DEV_LONG
READ_WRITE
No
SystemTime: System Time value to be applied on the Libera when the SetTimeOnNextTrigger command is executed Unit is num of secs since 1/1/1970 (Unix system time reference)
DEV_DOUBLE
READ_WRITE
No
SCPLLStatus: The SC PLL lock status
DEV_BOOLEAN
READ
No
MCPLLStatus: The MC PLL lock status
DEV_BOOLEAN
READ
No
DigitalBoardTemperature: The current Libera digital board temperature
DEV_SHORT
READ
No
InnerShieldTemperature: The current Libera inner shield temperature
DEV_LONG
READ
No
OuterShieldTemperature: The current Libera outer shield temperature
DEV_LONG
READ
No
Fan1Speed: The current rotation speed of the first hardware cooling fan
DEV_SHORT
READ
No
Fan2Speed: The current rotation speed of the second hardware cooling fan
DEV_SHORT
READ
No
UpTime: Number of seconds since system boot on the host running this TANGO device
DEV_LONG
READ
No
CpuUsage: CPU usage on the host running this TANGO device
DEV_LONG
READ
No
FreeMemory: Amount of free memory on the host running this TANGO device
DEV_LONG
READ
No
RamFsUsage: Amount of ram-fs allocated bytes on the host running this TANGO device
DEV_LONG
READ
No
UseLiberaPosData: If set to true, the X & Z postions are retreived from the Libera FPGA. Otherwise, they are computed by the Tango device using the button values.
DEV_BOOLEAN
READ_WRITE
Yes
PositionAlgorithm: The position algorithm selector [0:VH, 1:VV, 2:LVV]
DEV_USHORT
READ_WRITE
Yes
InsertionDeviceGap: The associated insertion device gap [0, 100]
DEV_USHORT
READ_WRITE
Yes
AutoCalibrationMode: Auto calibration mode [0,5]
DEV_USHORT
READ_WRITE
Yes





Spectrum Attributes
Attribute name
Data Type
X Data Length
Expert
XPosDD: Turn by turn data: X Pos.
DEV_DOUBLE
250000
No
ZPosDD: Turn by turn data: Z Pos.
DEV_DOUBLE
250000
No
SumDD: Turn by turn data: Sum
DEV_DOUBLE
250000
No
VaDD: Turn by turn data: Va
DEV_DOUBLE
250000
No
VbDD: Turn by turn data: Vb
DEV_DOUBLE
250000
No
VcDD: Turn by turn data: Vc
DEV_DOUBLE
250000
No
VdDD: Turn by turn data: Vd
DEV_DOUBLE
250000
No
XPosSAHistory: Slow Acquisition: SA X Pos. History
DEV_DOUBLE
16384
No
ZPosSAHistory: Slow Acquisition: SA Z Pos. History
DEV_DOUBLE
16384
No
SumSAHistory: Slow Acquisition: SA Sum Pos. History
DEV_DOUBLE
16384
No
XPosPM: Post Mortem : X pos.
DEV_DOUBLE
16384
No
ZPosPM: Post Mortem : Z pos.
DEV_DOUBLE
16384
No
SumPM: Post Mortem : Sum
DEV_DOUBLE
16384
No
VaPM: Post Mortem : Va
DEV_DOUBLE
16384
No
VbPM: Post Mortem : Vb
DEV_DOUBLE
16384
No
VcPM: Post Mortem : Vc
DEV_DOUBLE
16384
No
VdPM: Post Mortem : Vd
DEV_DOUBLE
16384
No
ADCChannelA: ADC values for pickup A
DEV_SHORT
250000
No
ADCChannelB: ADC values for pickup B
DEV_SHORT
250000
No
ADCChannelC: ADC values for pickup C
DEV_SHORT
250000
No
ADCChannelD: ADC values for pickup D
DEV_SHORT
250000
No
UserData: User defined data
DEV_SHORT
256
No
InterlockConfiguration: The current interlock configuration. The vector mapping is the follwoing: [0] Mode : [0]: disabled, [1]: enabled, [3]: enabled with gain dependency [1] X low threshold in mm [2] X high threshold in mm [3] Z threshold low in mm [4] Z high threshold in mm [5] Overflow limit (ADC threshold) [6] Overflow duration (num of overloaded ADC samples before raising interlock) [7] Gain limit in dBm (no interlock under this threshold)
DEV_DOUBLE
128
No
logs
DEV_STRING
2048
No






 

 

Commands:



More Details on commands....


Device Commands for Operator Level
Command name
Argument In
Argument Out
Init DEV_VOID DEV_VOID
State DEV_VOID DEV_STATE
Status DEV_VOID CONST_DEV_STRING
DisableADC DEV_VOID DEV_VOID
DisableDD DEV_VOID DEV_VOID
DisableDDBufferFreezing DEV_VOID DEV_VOID
DisableSA DEV_VOID DEV_VOID
EnableADC DEV_VOID DEV_VOID
EnableDD DEV_VOID DEV_VOID
EnableDDBufferFreezing DEV_VOID DEV_VOID
EnableSA DEV_VOID DEV_VOID
GetParameters DEV_VOID DEVVAR_DOUBLESTRINGARRAY
ReadFAData DEVVAR_LONGARRAY DEVVAR_LONGARRAY
ReloadSystemProperties DEV_VOID DEV_VOID
ResetInterlockNotification DEV_VOID DEV_VOID
ResetPMNotification DEV_VOID DEV_VOID
SetInterlockConfiguration DEV_VOID DEV_VOID
SetTimeOnNextTrigger DEV_VOID DEV_VOID
UnfreezeDDBuffer DEV_VOID DEV_VOID
WriteFAData DEVVAR_LONGARRAY DEV_VOID

 



1 - Init



2 - State



3 - Status



4 - DisableADC



5 - DisableDD



6 - DisableDDBufferFreezing



7 - DisableSA



8 - EnableADC



9 - EnableDD



10 - EnableDDBufferFreezing



11 - EnableSA



12 - GetParameters



13 - ReadFAData



14 - ReloadSystemProperties



15 - ResetInterlockNotification



16 - ResetPMNotification



17 - SetInterlockConfiguration



18 - SetTimeOnNextTrigger



19 - UnfreezeDDBuffer



20 - WriteFAData




 

 


TANGO is an open source project hosted by :
Sourceforge logo small
Core and Tools : CVS repository on tango-cs project
Device Servers : CVS repository on tango-ds project