TwiceAsNice  2019-02-18
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Basda::MSXBOXDelay Class Reference

the main class for the MSXBOX Delay Generator Driver More...

#include <MSXBOXDelay.h>

Collaboration diagram for Basda::MSXBOXDelay:
Collaboration graph

Public Member Functions

 MSXBOXDelay (std::string _endpoint, xsd__unsignedLong _MaxNumber)
 constructor More...
 
virtual ~MSXBOXDelay ()
 destructor More...
 
int MSXBOX_activate_DG (void)
 this function activates all the delay generators in the MSXBOX More...
 
int MSXBOX_activate_DG (xsd__unsignedLong DG_Number)
 this function activates one specific delay generator in the MSXBOX More...
 
int MSXBOX_deactivate_DG (void)
 this function deactivates all the delay generators in the MSXBOX More...
 
int MSXBOX_deactivate_DG (xsd__unsignedLong DG_Number)
 this function deactivates one specific delay generator in the MSXBOX More...
 
void set_MSXBOX__DG__DG_BME_ControlParameters (xsd__unsignedLong Pulse, xsd__BOOL Gate_AB, xsd__unsignedLong OutputLevel, xsd__unsignedLong DG_Product, xsd__unsignedLong GateFunction)
 this function is used to set the Control Parameters for the delay generator More...
 
void set_MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData_A (xsd__double FireFirst, xsd__double SetBack, xsd__double FireSecond, xsd__unsignedLong OutputModulo, xsd__unsignedLong OutputOffset, xsd__unsignedLong GoSignal, xsd__unsignedLong DoneSignal, xsd__BOOL Positive, xsd__BOOL Terminate, xsd__BOOL HighDrive)
 this function is used to set the Delay Channel Data for the delay generator More...
 
void set_MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData_B (xsd__double FireFirst, xsd__double SetBack, xsd__double FireSecond, xsd__unsignedLong OutputModulo, xsd__unsignedLong OutputOffset, xsd__unsignedLong GoSignal, xsd__unsignedLong DoneSignal, xsd__BOOL Positive, xsd__BOOL Terminate, xsd__BOOL HighDrive)
 
void set_MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData_T0 (xsd__double FireFirst, xsd__double SetBack, xsd__double FireSecond, xsd__unsignedLong OutputModulo, xsd__unsignedLong OutputOffset, xsd__unsignedLong GoSignal, xsd__unsignedLong DoneSignal, xsd__BOOL Positive, xsd__BOOL Terminate, xsd__BOOL HighDrive)
 
void set_MSXBOX__DG__DG_BME_ControlParameter_DelayTriggerData (xsd__double InternalClock, xsd__double ForceTrigger, xsd__double TriggerLevel, xsd__unsignedLong Preset, xsd__unsignedLong MS_Bus, xsd__unsignedLong OscDivider, xsd__unsignedLong TrigDivider, xsd__unsignedLong ClockSource, xsd__unsignedLong GateDivider, xsd__BOOL PositiveGate, xsd__BOOL IgnoreGate, xsd__BOOL SynchronizeGate, xsd__BOOL ClockEnable, xsd__BOOL InternalTrigger, xsd__BOOL InternalArm, xsd__BOOL SoftwareTrigger, xsd__BOOL RisingEdge, xsd__BOOL StopOnPreset, xsd__BOOL ResetWhenDone, xsd__BOOL TriggerEnable, xsd__BOOL Terminate)
 this function is used to set the delay trigger data for the delay generator More...
 
int MSXBOX_configure_DG (xsd__unsignedLong DG_Number)
 this function configures the MSXBOX Delay Generator More...
 
int MSXBOX_resetEventCounter (xsd__unsignedLong DG_Number)
 this function is used to reset the trigger event counter on the delay generator More...
 
xsd__unsignedLong MSXBOX_readEventCounter (xsd__unsignedLong DG_Number)
 this function is used to read out the current event trigger counter value of the delay generator More...
 
int MSXBOX_resetOutputModuloCounters (xsd__unsignedLong DG_Number)
 this function can be used to reset the output modulo counter of one specific delay generator More...
 
int MSXBOX_resetAllOutputModuloCounters (void)
 this function is used to reset the output modulo counters of all the delay generators More...
 
int MSXBOX_enableInterrupts (xsd__unsignedLong value, xsd__unsignedLong DG_Number)
 this function is used to enable the interrupts of the delay generator More...
 
xsd__unsignedLong MSXBOX_readInterruptStatus (xsd__unsignedLong DG_Number)
 this function is used to read the current interrupt status of the delay generator More...
 
int MSXBOX_acknowledgeInterrupts (xsd__unsignedLong value, xsd__unsignedLong DG_Number)
 this function is used to acknowledge one or more specific interrupts More...
 
xsd__unsignedLong MSXBOX_read_DG_Status (xsd__unsignedLong DG_Number)
 this function is used to read the status register of the delay generator More...
 
xsd__unsignedLong MSXBOX_readCounterControlRegister (xsd__unsignedLong DG_Number)
 this function is used to read the counter control register of the delay generator More...
 
int MSXBOX_loadOutputState (xsd__unsignedLong DG_Number)
 this function is used to load the output state to the delay generator More...
 

Private Member Functions

int initdg (xsd__unsignedLong MaximumNumberOfDelayGenerators)
 this function is used to initialize the delay Generator(s) in the MSXBOX More...
 
int dg_init (void)
 this function initializes all the delay generators found More...
 
int stopdg (xsd__unsignedLong DG_Number)
 this function stops the delay generator in the MSXBOX More...
 
void reset_MSXBOX__DG__DG_BME_ControlParameter ()
 this function is used to reset the Control Parameters of the delay generator More...
 
void reset_MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData ()
 this function is used to reset the Delaychannel Data of the delay generator More...
 
void reset_MSXBOX__DG__DG_BME_ControlParameter_DelayTriggerData ()
 this function is used to reset the Delaytrigger Data of the delay generator More...
 
int configure_dg (struct MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData A, struct MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData B, struct MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData T0, struct MSXBOX__DG__DG_BME_ControlParameter_DelayTriggerData DT, struct MSXBOX__DG__DG_BME_ControlParameter CP, xsd__unsignedLong DG_Number)
 this function is used to configure the Delay Generator with desired parameters More...
 

Private Attributes

const char * m_MSXBOX_endpoint
 endpoint of the MSXBOX More...
 
struct soap m_soapenv
 soap specific struct More...
 
xsd__unsignedLong m_DG_Detected
 number of delay generators More...
 
xsd__unsignedLong m_DG_MaxNumber
 maximum Numbers of delay generators More...
 
std::vector< struct MSXBOX__DG__GetPciDelayGeneratorResponsekey_vector
 vector containing the plx_Key data for the delay generators More...
 
struct MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData p_dcd_A
 delay channel data struct for delay channel A More...
 
struct MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData p_dcd_B
 delay channel data struct for delay channel B More...
 
struct MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData p_dcd_T0
 delay channel data struct for delay channel T0 More...
 
struct MSXBOX__DG__DG_BME_ControlParameter_DelayTriggerData p_dtd
 delay trigger data struct More...
 
struct MSXBOX__DG__DG_BME_ControlParameter p_cp
 control parameter struct More...
 
xsd__BOOL channelA_set
 indicates if channel A is set More...
 
xsd__BOOL channelB_set
 indicates if channel B is set More...
 
xsd__BOOL channelT0_set
 indicates if channel T0 is set More...
 
xsd__BOOL triggerData_set
 indicates if trigger data is set More...
 
xsd__BOOL control_set
 indicates if control parameters are set More...
 
xsd__BOOL m_DG_Data_reserved
 indicates if dg data is reserved on the server (dgs initialized or not) More...
 

Detailed Description

the main class for the MSXBOX Delay Generator Driver

Constructor & Destructor Documentation

◆ MSXBOXDelay()

Basda::MSXBOXDelay::MSXBOXDelay ( std::string  _endpoint,
xsd__unsignedLong  _MaxNumber 
)

constructor

Parameters
_endpointconnection address to the MSXBOX
_MaxNumberthe maximum number of delay generators

◆ ~MSXBOXDelay()

Basda::MSXBOXDelay::~MSXBOXDelay ( )
virtual

destructor

Member Function Documentation

◆ configure_dg()

this function is used to configure the Delay Generator with desired parameters

Parameters
Achannel A data
Bchannel B data
T0channel T0 data
DTdelay trigger data
CPcontrol parameter data
DG_Numberthe number of the delay generator (counting starts with 0)

◆ dg_init()

int Basda::MSXBOXDelay::dg_init ( void  )
private

this function initializes all the delay generators found

◆ initdg()

int Basda::MSXBOXDelay::initdg ( xsd__unsignedLong  MaximumNumberOfDelayGenerators)
private

this function is used to initialize the delay Generator(s) in the MSXBOX

Parameters
MaximumNumberOfDelayGeneratorsthe maximum number of delay generators to search for
Note
this function is used to find the amount of delay generators. If there is only one card installed this method should not be used.

◆ MSXBOX_acknowledgeInterrupts()

int Basda::MSXBOXDelay::MSXBOX_acknowledgeInterrupts ( xsd__unsignedLong  value,
xsd__unsignedLong  DG_Number 
)

this function is used to acknowledge one or more specific interrupts

Parameters
valuethe bits of this value specifie the interrupts to be acknowledged
DG_Numberthe number of the delay generator (counting starts with 0)

◆ MSXBOX_activate_DG() [1/2]

int Basda::MSXBOXDelay::MSXBOX_activate_DG ( void  )

this function activates all the delay generators in the MSXBOX

◆ MSXBOX_activate_DG() [2/2]

int Basda::MSXBOXDelay::MSXBOX_activate_DG ( xsd__unsignedLong  DG_Number)

this function activates one specific delay generator in the MSXBOX

◆ MSXBOX_configure_DG()

int Basda::MSXBOXDelay::MSXBOX_configure_DG ( xsd__unsignedLong  DG_Number)

this function configures the MSXBOX Delay Generator

Parameters
DG_Numberthe number of the delay generator (counting starts with 0)

◆ MSXBOX_deactivate_DG() [1/2]

int Basda::MSXBOXDelay::MSXBOX_deactivate_DG ( void  )

this function deactivates all the delay generators in the MSXBOX

◆ MSXBOX_deactivate_DG() [2/2]

int Basda::MSXBOXDelay::MSXBOX_deactivate_DG ( xsd__unsignedLong  DG_Number)

this function deactivates one specific delay generator in the MSXBOX

◆ MSXBOX_enableInterrupts()

int Basda::MSXBOXDelay::MSXBOX_enableInterrupts ( xsd__unsignedLong  value,
xsd__unsignedLong  DG_Number 
)

this function is used to enable the interrupts of the delay generator

Parameters
valuethe bits of this value define the interrupts to be enabled
DG_Numberthe number of the delay generator (counting starts with 0)

◆ MSXBOX_loadOutputState()

int Basda::MSXBOXDelay::MSXBOX_loadOutputState ( xsd__unsignedLong  DG_Number)

this function is used to load the output state to the delay generator

Note
maybe useless in thi this driver
Parameters
DG_Numberthe number of the delay generator (counting starts with 0)

◆ MSXBOX_read_DG_Status()

xsd__unsignedLong Basda::MSXBOXDelay::MSXBOX_read_DG_Status ( xsd__unsignedLong  DG_Number)

this function is used to read the status register of the delay generator

Parameters
DG_Numberthe number of the delay generator (counting starts with 0)
Returns
the value of the register

◆ MSXBOX_readCounterControlRegister()

xsd__unsignedLong Basda::MSXBOXDelay::MSXBOX_readCounterControlRegister ( xsd__unsignedLong  DG_Number)

this function is used to read the counter control register of the delay generator

Parameters
DG_Numberthe number of the delay generator (counting starts with 0)
Returns
the value of the register

◆ MSXBOX_readEventCounter()

xsd__unsignedLong Basda::MSXBOXDelay::MSXBOX_readEventCounter ( xsd__unsignedLong  DG_Number)

this function is used to read out the current event trigger counter value of the delay generator

Parameters
DG_Numberthe number of the delay generator (counting starts with 0)
Returns
the current value of the counter

◆ MSXBOX_readInterruptStatus()

xsd__unsignedLong Basda::MSXBOXDelay::MSXBOX_readInterruptStatus ( xsd__unsignedLong  DG_Number)

this function is used to read the current interrupt status of the delay generator

Parameters
DG_Numberthe number of the delay generator (counting starts with 0)
Returns
the interrupt status

◆ MSXBOX_resetAllOutputModuloCounters()

int Basda::MSXBOXDelay::MSXBOX_resetAllOutputModuloCounters ( void  )

this function is used to reset the output modulo counters of all the delay generators

◆ MSXBOX_resetEventCounter()

int Basda::MSXBOXDelay::MSXBOX_resetEventCounter ( xsd__unsignedLong  DG_Number)

this function is used to reset the trigger event counter on the delay generator

Parameters
DG_Numberthe number of the delay generator (counting starts with 0)

◆ MSXBOX_resetOutputModuloCounters()

int Basda::MSXBOXDelay::MSXBOX_resetOutputModuloCounters ( xsd__unsignedLong  DG_Number)

this function can be used to reset the output modulo counter of one specific delay generator

Parameters
DG_Numberthe number of the delay generator (counting starts with 0)

◆ reset_MSXBOX__DG__DG_BME_ControlParameter()

void Basda::MSXBOXDelay::reset_MSXBOX__DG__DG_BME_ControlParameter ( )
private

this function is used to reset the Control Parameters of the delay generator

◆ reset_MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData()

void Basda::MSXBOXDelay::reset_MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData ( )
private

this function is used to reset the Delaychannel Data of the delay generator

◆ reset_MSXBOX__DG__DG_BME_ControlParameter_DelayTriggerData()

void Basda::MSXBOXDelay::reset_MSXBOX__DG__DG_BME_ControlParameter_DelayTriggerData ( )
private

this function is used to reset the Delaytrigger Data of the delay generator

◆ set_MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData_A()

void Basda::MSXBOXDelay::set_MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData_A ( xsd__double  FireFirst,
xsd__double  SetBack,
xsd__double  FireSecond,
xsd__unsignedLong  OutputModulo,
xsd__unsignedLong  OutputOffset,
xsd__unsignedLong  GoSignal,
xsd__unsignedLong  DoneSignal,
xsd__BOOL  Positive,
xsd__BOOL  Terminate,
xsd__BOOL  HighDrive 
)

this function is used to set the Delay Channel Data for the delay generator

Parameters
FireFirstthe delay
SetBackoutput reset time
FireSecondfires te output a second time
OutputModuloModulo to apply to the fireing of the output
OutputOffsetOffset for the output
GoSignalSignal used to start the output
DoneSignalSignal used to imidiatly be acknowledged by the delay channel
PositiveTrue: use positive output polarity
TerminateTrue: internally terminate the output channel
HighDriveTrue: extra load of 25 Ohm

◆ set_MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData_B()

void Basda::MSXBOXDelay::set_MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData_B ( xsd__double  FireFirst,
xsd__double  SetBack,
xsd__double  FireSecond,
xsd__unsignedLong  OutputModulo,
xsd__unsignedLong  OutputOffset,
xsd__unsignedLong  GoSignal,
xsd__unsignedLong  DoneSignal,
xsd__BOOL  Positive,
xsd__BOOL  Terminate,
xsd__BOOL  HighDrive 
)

◆ set_MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData_T0()

void Basda::MSXBOXDelay::set_MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData_T0 ( xsd__double  FireFirst,
xsd__double  SetBack,
xsd__double  FireSecond,
xsd__unsignedLong  OutputModulo,
xsd__unsignedLong  OutputOffset,
xsd__unsignedLong  GoSignal,
xsd__unsignedLong  DoneSignal,
xsd__BOOL  Positive,
xsd__BOOL  Terminate,
xsd__BOOL  HighDrive 
)

◆ set_MSXBOX__DG__DG_BME_ControlParameter_DelayTriggerData()

void Basda::MSXBOXDelay::set_MSXBOX__DG__DG_BME_ControlParameter_DelayTriggerData ( xsd__double  InternalClock,
xsd__double  ForceTrigger,
xsd__double  TriggerLevel,
xsd__unsignedLong  Preset,
xsd__unsignedLong  MS_Bus,
xsd__unsignedLong  OscDivider,
xsd__unsignedLong  TrigDivider,
xsd__unsignedLong  ClockSource,
xsd__unsignedLong  GateDivider,
xsd__BOOL  PositiveGate,
xsd__BOOL  IgnoreGate,
xsd__BOOL  SynchronizeGate,
xsd__BOOL  ClockEnable,
xsd__BOOL  InternalTrigger,
xsd__BOOL  InternalArm,
xsd__BOOL  SoftwareTrigger,
xsd__BOOL  RisingEdge,
xsd__BOOL  StopOnPreset,
xsd__BOOL  ResetWhenDone,
xsd__BOOL  TriggerEnable,
xsd__BOOL  Terminate 
)

this function is used to set the delay trigger data for the delay generator

Parameters
InternalClockperiod of the internal clock in microsec
ForceTriggertime after trigger event when delays should be triggered
TriggerLeveltrigger threshold
Presetpreset value for the internal event counter
MS_Busdefines trigger signal on master/slave bus
OscDividernumber crystal oscillator is divided by
TrigDividernumber trigger is divided by
ClockSourcedefines the signal to be used as clock source
GateDividerexternal gate is divided by this number
PositiveGateTrue: positive gate signal enables trigger
IgnoreGateTrue: ignore gate signal
SynchronizeGatedefines measurement fo time difference between gates
ClockEnableTrue: enable clock circuit
InternalTriggerTrue: use internal trigger
InternalArmTrue: internal rate counter arms external trigger
SoftwareTriggerTrue: trigger by software command
RisingEdgeTrue: trigger on rising edge of external trigger
StopOnPresetTrue: stops when preset value reached
ResetWhenDoneTrue: resets all channels when delays have elapsed
TriggerEnableTrue: enable trigger circuit
TerminateTrue: terminate trigger input

◆ set_MSXBOX__DG__DG_BME_ControlParameters()

void Basda::MSXBOXDelay::set_MSXBOX__DG__DG_BME_ControlParameters ( xsd__unsignedLong  Pulse,
xsd__BOOL  Gate_AB,
xsd__unsignedLong  OutputLevel,
xsd__unsignedLong  DG_Product,
xsd__unsignedLong  GateFunction 
)

this function is used to set the Control Parameters for the delay generator

Parameters
PulsePulseWidth
Gate_ABTrue: enable Gate Combination
OutputLevelthe Voltage Outputlevel
DG_ProductType of the delay generator
GateFunctionGate combination mode

◆ stopdg()

int Basda::MSXBOXDelay::stopdg ( xsd__unsignedLong  DG_Number)
private

this function stops the delay generator in the MSXBOX

Parameters
DG_Numberthe number of the delay generator to stop (counting starts with 0)

Member Data Documentation

◆ channelA_set

xsd__BOOL Basda::MSXBOXDelay::channelA_set
private

indicates if channel A is set

◆ channelB_set

xsd__BOOL Basda::MSXBOXDelay::channelB_set
private

indicates if channel B is set

◆ channelT0_set

xsd__BOOL Basda::MSXBOXDelay::channelT0_set
private

indicates if channel T0 is set

◆ control_set

xsd__BOOL Basda::MSXBOXDelay::control_set
private

indicates if control parameters are set

◆ key_vector

std::vector<struct MSXBOX__DG__GetPciDelayGeneratorResponse> Basda::MSXBOXDelay::key_vector
private

vector containing the plx_Key data for the delay generators

◆ m_DG_Data_reserved

xsd__BOOL Basda::MSXBOXDelay::m_DG_Data_reserved
private

indicates if dg data is reserved on the server (dgs initialized or not)

◆ m_DG_Detected

xsd__unsignedLong Basda::MSXBOXDelay::m_DG_Detected
private

number of delay generators

◆ m_DG_MaxNumber

xsd__unsignedLong Basda::MSXBOXDelay::m_DG_MaxNumber
private

maximum Numbers of delay generators

◆ m_MSXBOX_endpoint

const char* Basda::MSXBOXDelay::m_MSXBOX_endpoint
private

endpoint of the MSXBOX

Note
its a char* to ensure compatibility to the gsoap client

◆ m_soapenv

struct soap Basda::MSXBOXDelay::m_soapenv
private

soap specific struct

◆ p_cp

struct MSXBOX__DG__DG_BME_ControlParameter Basda::MSXBOXDelay::p_cp
private

control parameter struct

◆ p_dcd_A

struct MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData Basda::MSXBOXDelay::p_dcd_A
private

delay channel data struct for delay channel A

◆ p_dcd_B

struct MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData Basda::MSXBOXDelay::p_dcd_B
private

delay channel data struct for delay channel B

◆ p_dcd_T0

struct MSXBOX__DG__DG_BME_ControlParameter_DelayChannelData Basda::MSXBOXDelay::p_dcd_T0
private

delay channel data struct for delay channel T0

◆ p_dtd

struct MSXBOX__DG__DG_BME_ControlParameter_DelayTriggerData Basda::MSXBOXDelay::p_dtd
private

delay trigger data struct

◆ triggerData_set

xsd__BOOL Basda::MSXBOXDelay::triggerData_set
private

indicates if trigger data is set


The documentation for this class was generated from the following files: