ngc 1.5.0
 
Loading...
Searching...
No Matches
ngcdcsSEQ Class Reference

#include <ngcdcsSEQ.hpp>

Inheritance diagram for ngcdcsSEQ:
ngcdcsSEQ0 ngcdcsCLDC0 ngcbMOD ngcbOBJ

Public Member Functions

 ngcdcsSEQ (const ngcb_route_t &r)
 Constructor with route.
 
 ngcdcsSEQ (ngcbIFC *ifc, const ngcb_route_t &r)
 Constructor with interface device and route.
 
 ngcdcsSEQ (const ngcb_route_t &r, ngcbPARAM_LIST *p)
 Constructor with route and parameter list.
 
 ngcdcsSEQ (ngcbIFC *ifc, const ngcb_route_t &r, ngcbPARAM_LIST *p)
 Constructor with interface device, route and parameter list.
 
virtual ~ngcdcsSEQ ()
 Destructor.
 
int Selftest ()
 Selftest.
 
int ClkState (int idx, int flag)
 Enable/disable clock.
 
int ClkState (int idx)
 Get clock enabled/disabled state.
 
int PatTime (const ngcdcs_pat_t &pat, int apply=1)
 Compute pattern time.
 
int PatNumStates (const ngcdcs_pat_t &pat)
 Compute number of states.
 
void StorePatSetup ()
 Store patterns to private copy.
 
int RestorePatSetup ()
 Restore patterns from private copy.
 
int InitPat (int low, int high)
 Set default initial pattern.
 
int InitPatLow (int value)
 Set default initial pattern (low)
 
int InitPatHigh (int value)
 Set default initial pattern (high)
 
int InitPatFirst (int n)
 Init with first state of pattern.
 
int InitPatLast (int n)
 Init with last state of pattern.
 
int InitPatLow ()
 Get actual initial pattern (low)
 
int InitPatHigh ()
 Get actual initial pattern (high)
 
int LastPat (int *low, int *high)
 Get last executed clock state.
 
int FirstPat (int *low, int *high)
 Get first executed clock state.
 
int SetupPat (int stopFlag=1)
 Upload all defined patterns.
 
int SetPat (int idx, ngcdcs_pat_t &pat)
 Set a clock pattern.
 
int GetPat (ngcdcs_pat_t *pat)
 Get a clock pattern by address.
 
int GetPat (int idx, ngcdcs_pat_t *pat)
 Get a clock pattern by index.
 
int CheckPatRam ()
 Verify sequencer pattern RAM consistency.
 
int GetState (int *low, int *high, int patNum, int stateNum)
 Get pattern state.
 
int SetPatClk (int idx, int clkNum, const char *s)
 Set specific clock timing.
 
void DumpPat (char *reply, const ngcdcs_pat_t &pat)
 Dump pattern to string.
 
int DwellTime (int factor, int add)
 Set global dwell-time factor+add.
 
int TimeFactor (int factor)
 Set global dwell-time factor.
 
int TimeAdd (int add)
 Set global dwell-time add.
 
int LoadClkFile (const char *name)
 Load clock pattern file.
 
int SaveClkFile (const char *fileName)
 Save clock pattern file.
 
virtual int LoadClk (const char *fileName)
 Clock pattern file loader.
 
virtual int SaveClk (const char *fileName)
 Clock pattern file saver.
 
int Monitor (int num, int clkChan)
 Set channel for clock-monitor.
 
int ExecTime (double *execTime)
 Compute program execution time.
 
int ExecTime (double *execTime, int *prgCode, int codeAddr, int length)
 Compute code execution time.
 
int ResolveSubRt (ngcdcs_seqp_t *prg)
 Resolve subroutines.
 
int CleanLoop (ngcdcs_seqp_t *prg)
 Remove zero loops etc. in sequencer program.
 
int CheckPrg (const ngcdcs_seqp_t &prg)
 Check and cleanup program.
 
int CheckSeqRam ()
 Verify sequencer program RAM consistency.
 
int SetPrg (const ngcdcs_seqp_t &prg)
 Set sequencer program.
 
int GetPrg (ngcdcs_seqp_t *prg)
 Get sequencer program.
 
void DumpCode (char *reply, const ngcdcs_seqp_t &prg, int offset, int length)
 Dump piece of prg-code.
 
int DumpPrg (char *reply, ngcdcs_seqp_t &prg, int n=-1)
 Dump program to string.
 
int ClearPrgFile ()
 Clear program file.
 
int LoadPrgFile (const char *name=NULL)
 Load sequencer program file.
 
virtual int PrgFile (const char *fileName)
 Sequencer program loader.
 
int Parameters (const char *fileName, char *list)
 Get used parameters from file.
 
int MinPulse (double *min, int clkNum)
 Compute minimum pulse distance on clock.
 
int PulseCnt (int *rising, int *falling, int clkNum)
 Compute number of edges on clock.
 
int BreakTimeout (int force=0)
 Compute timeout for break command.
 
int SimPrg (ngcdcsSEQ_EMU *emulator, ngcdcs_ticks_t start, int length)
 Program Simulator.
 
int SimSeqTiming ()
 Simulate sequence timing.
 
int SetPdu (int value, int chan=0)
 Set payload data units per channel.
 
int SetPackets (int value, int chan=0)
 Set packets per frame per channel.
 
int SetBytesPerPix (int value, int chan=0)
 Set bytes per payload data unit per channel.
 
int GetFramCfg (int *pduValue, int *packetsValue, int *bpix, int chan)
 
void Reset ()
 Align soft-states after reset.
 
int Enable (int check=1)
 Call-back at transition to operational state.
 
int Disable ()
 Call-back at transition to not operational state.
 
int Convert (int strobe, int flag)
 Enable/disable convert strobe.
 
int TriggerOn (int flag)
 Enable/disable trigger mode.
 
int TriggerMode (int mode)
 Select trigger mode.
 
int RunCtrl (int flag)
 Enable/disable external run-control.
 
int CvtExt (int flag)
 Enable/disable external convert.
 
int SyncExt (int flag)
 Enable/disable external SYNC pulse.
 
int Start ()
 Start sequencer.
 
int Step ()
 Run til next break-point.
 
int Stop (int align, int force=0)
 Stop sequencer.
 
int Align ()
 Align sequencer control flags.
 
int Disarm ()
 Disable sequencer control flags.
 
int Pause ()
 Pause sequencer.
 
int Break (int trigger=1)
 Stop sequencer at next breakpoint.
 
int BreakWait (int timeout, int interval=100)
 Poll with timeout until break-point is reached.
 
int Wait (int event, int timeout, int interval=100)
 Poll with timeout until status register matches event.
 
int Trigger (int armed=1)
 Send trigger command to sequencer.
 
void NewStatus (int newStatus)
 Set new soft status.
 
char * StatusString ()
 Get status string.
 
int Status (int *hwStat)
 Get status value.
 
ngcb_evt_t Event (int stat)
 Return event configuration for status switch.
 
int RunningState ()
 Check if sequencer is in running state.
 
int FailureState ()
 Check if sequencer is in failure state.
 
unsigned int NumTrigger ()
 Return number of trigger commands since last start.
 
unsigned int BlindTrigger ()
 
unsigned int LostTrigger ()
 
virtual int LookupCB (const char *name, char *value)
 Parameter lookup.
 
int SlxEnable ()
 Enable SELEX serial interface.
 
int SlxDisable ()
 Disable SELEX serial interface.
 
int ShiftOut (const char *array, int numBits)
 Copy byte array to shift register.
 
int ShiftOut (const int *array, int numBits)
 Copy 32-bit word array to shift register.
 
int SlxSetup (const char *key, const int *idx, const char *value, int *status=NULL)
 SELEX setup.
 
int SlxStatus (const char *key, const int *idx, char *value, int *status=NULL)
 SELEX status.
 
- Public Member Functions inherited from ngcdcsSEQ0
 ngcdcsSEQ0 (const ngcb_route_t &r, int nc, int nb)
 Constructor with route, number of clocks and number of biases.
 
 ngcdcsSEQ0 (ngcbIFC *ifc, const ngcb_route_t &r, int nc, int nb)
 
virtual ~ngcdcsSEQ0 ()
 Destructor.
 
virtual int Window (ngcdcs_win_t w)
 Set read-out window.
 
- Public Member Functions inherited from ngcdcsCLDC0
 ngcdcsCLDC0 (const ngcb_route_t &r, int nc, int nb)
 Constructor with route, number of clocks and number of biases.
 
 ngcdcsCLDC0 (ngcbIFC *ifc, const ngcb_route_t &r, int nc, int nb)
 
virtual ~ngcdcsCLDC0 ()
 Destructor.
 
virtual int AtOnline ()
 At online hook.
 
virtual int VSetup (int autoCtrl=0)
 Apply voltage setup.
 
virtual int Check ()
 Check telemetry against current setup.
 
virtual int OutputEnable ()
 Enable output.
 
virtual int OutputDisable ()
 Disable output.
 
virtual int OutputEnabled ()
 Check if output is enabled.
 
virtual int Protection (int flag)
 Enable/disable protection circuit.
 
virtual int Calibrate (int noSetup=0)
 Calibrate (offset compensation)
 
virtual void ClearCalibration ()
 Clear calibration.
 
virtual int Calibrated ()
 Check if calibration has been done.
 
virtual int Zero ()
 Set all voltages to zero.
 
virtual int VoltageDC (int num, double volt, int rangeCheck=1)
 Set DC voltage.
 
virtual int VoltageClk (int num, int l, double volt, int rangeCheck=1)
 Set clock level.
 
virtual int VoltageClk (int num, ngcdcs_clkv_t cv, int rangeCheck=1)
 Set all levels of clock.
 
virtual int VoltageRegDC (int num, int value, int rangeCheck=1)
 Set DC hex-voltage.
 
virtual int VoltageRegClk (int num, int l, int value, int rangeCheck=1)
 Set clock hex-level.
 
virtual int VoltageErrDC (int num, double volt)
 Set DC voltage error.
 
virtual int VoltageErrClk (int num, int l, double volt)
 Set clock level voltage error.
 
virtual double TelCurrent (int chan)
 Return value of last current-telemetry.
 
virtual int TelDC (int num, double *volt)
 Telemetry for DC-bias.
 
virtual int TelClk (int num, int l, double *volt)
 Telemetry for clock level.
 
virtual int TelClk (int num, ngcdcs_clkv_t *cv)
 Telemetry for clock (all levels)
 
virtual int Snapshot ()
 Telemetry snapshot.
 
virtual char * VStatusString ()
 Get voltage status string.
 
virtual int VStatus (int *s)
 Get voltage HW-status.
 
virtual int LoadCfgFile (const char *fileName=NULL)
 Load voltage configuration.
 
virtual int SaveCfgFile (const char *fileName)
 Save voltage configuration.
 
virtual int SaveErrFile (const char *fileName)
 Save error calibration.
 
virtual int Restore (const char *keyword)
 Restore keyword from the last loaded file.
 
virtual int SetupKey (const char *key, const int *idx, const char *value, int *status=NULL)
 Setup.
 
virtual int StatusKey (const char *key, const int *idx, char *value, int *status=NULL)
 Status.
 
- Public Member Functions inherited from ngcbMOD
ngcbMODoperator= (const ngcbMOD &other)
 Operator =.
 
 ngcbMOD (const ngcbMOD &other)
 Copy constructor.
 
 ngcbMOD (const ngcb_route_t &modRoute)
 Constructor with route.
 
 ngcbMOD (ngcbIFC *modDev, const ngcb_route_t &modRoute)
 Constructor with interface device and route.
 
virtual ~ngcbMOD ()
 Destructor.
 
ngcbIFCDev ()
 Return current interface device.
 
void Dev (ngcbIFC *newDev)
 Set new interface device.
 
int Connected ()
 Return 1 if device is connected, zero otherwise.
 
int Sim ()
 
int Initialize ()
 Initialize module.
 
void ErrState (const char *msg, int errorId=0)
 Go to error state.
 
virtual int CkAddrCB (int addr, const int *buffer, int size)
 Check-address call-back for alignment.
 
virtual void WrAddrCB (int addr, const int *buffer, int size)
 Write-to-address call-back for alignment.
 
virtual int Load (const char *fileName)
 Load register instruction file.
 
int Board ()
 Return the board number of the module (starts with zero)
 
void RpcCopy (void *dest, const void *src, size_t size, size_t items=1)
 Copy RPC payload.
 
int RPC (int target, int req, void *payload, unsigned int size, unsigned int *status=NULL)
 Execute RPC.
 
int ReadAddr (int addr, int *buffer, int size)
 Read from address (32-bit)
 
int WriteAddr (int addr, const int *buffer, int size)
 Write to address (32-bit)
 
int ReadAddr64 (int addr, uint64_t *buffer, int size)
 Read from address (64-bit)
 
int WriteAddr64 (int addr, const uint64_t *buffer, int size)
 Write to address (64-bit)
 
int Temperature (double *t)
 Read board temperature (degree C)
 
int BackPlane ()
 Return back-plane ID.
 
virtual void CV (int chan, double volt)
 Voltage conversion call-back.
 
- Public Member Functions inherited from ngcbOBJ
 ngcbOBJ ()
 Constructor.
 
virtual ~ngcbOBJ ()
 Destructor.
 
void Instance (int n)
 Set instance.
 
int Instance ()
 Get instance.
 
const char * Major ()
 Instance major number.
 
int BigEndian ()
 Big-endian architecture.
 
int LittleEndian ()
 Little-endian architecture.
 
virtual char * ErrMsg ()
 Error message.
 
virtual int Success ()
 Return success.
 
virtual int Failure ()
 Return failure.
 
void CfgPath (const char *path)
 Set external configuration path.
 

Public Attributes

ngcdcs_pat_tpattern
 Clock pattern setup.
 
ngcdcs_seqp_t program
 Sequencer program.
 
int autoInit
 Automatic clock pattern initialization.
 
int clkMon1
 Clock on monitor 1.
 
int clkMon2
 Clock on monitor 2.
 
int clkMon3
 Clock on monitor 3.
 
int softMon
 Use soft monitor for digital clocks.
 
int pdu [4]
 Payload data units.
 
int packets [4]
 Payload packets per frame.
 
int bpix [4]
 Payload bytes per pixel unit.
 
ngcdcs_slxcfg_t slx
 SELEX configuration.
 
- Public Attributes inherited from ngcdcsSEQ0
double clock
 Time of one clock tick.
 
int runCtrl
 External run-control flag.
 
int cvtExt
 Exteranl convert.
 
int syncExt
 External SYNC pulse.
 
int breakMode
 Break mode.
 
int continuous
 Continuous mode flag.
 
int updateFlag
 Flag to update the sequencer program.
 
int new_prgfile
 Flag, indicating that a new program file is in the setup list.
 
int useBreakTmo
 Use break-timeout.
 
int triggerCtrl
 Enable/disable automatic trigger control during break.
 
int status
 Soft state: idle, waiting, running or failure.
 
ngcdcs_win_t win
 Read-out window.
 
char clkFile [256]
 Clock pattern file name.
 
char prgFile [256]
 Sequencer program file name.
 
int triggerOn
 Trigger enable flag.
 
int triggerMode
 Trigger mode.
 
int timeFactor
 Global dwell-time factor.
 
int timeAdd
 Global dwell-time add.
 
int timeSim
 Enable sequence time simulation.
 
int stopDelay
 Delay after sequencer stop/reset (ms)
 
double realDit
 Actual DIT.
 
double tim
 Minimum TIM-period.
 
int timAuto
 Automatic computation of minimum TIM-period.
 
int sync
 Sequencer synchronized (generic flag)
 
int convert [2]
 Convert strobe enabled.
 
int autoStop
 Automatic stop/start.
 
int optimize
 Optimize.
 
ngcbDICdictionary
 Pointer to dictionary;.
 
ngcbPARAM_LISTdicParam
 Dictionary placeholders.
 
ngcbPARAM_LIST postSetup
 Post-setup.
 
ngcbPARAM_LIST useList
 Use-list.
 
FILE * sdebug
 Script debug stream.
 
- Public Attributes inherited from ngcdcsCLDC0
int vstat
 Soft-status (enabled, disabled)
 
int autoEnable
 Enable at online.
 
int autoDisable
 Disable when (re-)configuring.
 
int ilck
 Flag to enable/disable the external interlock.
 
int ilckOn
 Flag indicating whether interlock is enabled.
 
int protection
 Flag indicating whether protection has triggered.
 
int protectionOn
 Flag indicating whether protection is enabled.
 
int autoCal
 Calibrate at online.
 
double calMax
 Voltage calibration limit (in Volts)
 
ngcdcs_clk_tclk
 Clock voltages.
 
int numClk
 Number of clock voltages.
 
ngcdcs_dc_tdc
 Bias voltages.
 
int numDc
 Number of bias voltages.
 
ngcdcs_clkv_tclkTel
 Saved clock voltages telemetry values.
 
double * dcTel
 Saved bias voltages telemetry values.
 
int haveCurrentTel
 Flag, indicating whether current-telemetry is available.
 
double margin
 Margin for voltage check (in Volts)
 
double dacTime
 DAC settling time (in seconds)
 
char voltageInitFile [256]
 Voltage initialization file.
 
char cfgFile [256]
 Voltage configuration file.
 
int toggle
 Toggle new configuration.
 
int telFlag
 Flag to update telemetry.
 
double cvg1
 Voltage conversion formula gain-1.
 
double cvg2
 Voltage conversion formula gain-2.
 
double cvOffset
 Voltage conversion formula offset.
 
char serNoBoard [32]
 Serial number.
 
char serNoTrans [32]
 Transition board serial number.
 
- Public Attributes inherited from ngcbMOD
ngcbIFCdev
 Interface device.
 
ngcb_route_t route
 Local route to module (header)
 
char moduleName [64]
 Module name.
 
int id
 ID-register content.
 
int productCode
 Product code.
 
int revision
 HW revision number.
 
int firmware
 Firmware revision.
 
int boardId
 Physical board id.
 
int fitsHdr
 Enable FITS-header for this module.
 
- Public Attributes inherited from ngcbOBJ
FILE * watchdog
 Watchdog stream.
 
ngcbALARM_SYSalarmSystem
 Alarm system.
 
ngcbSERVICEservices
 System services.
 
int verboseLevel
 Verbose level.
 
int logLevel
 Logging level.
 
int xterm
 Xterm flag.
 
int debugPort
 Debug port.
 
int ignoreErr
 Ignore next error (do not log)
 
int type
 Object type.
 

Additional Inherited Members

- Protected Member Functions inherited from ngcbOBJ
virtual int BailOut (const char *pos)
 Log code position of the error and bail-out with failure.
 
virtual void Verbose (int level, const char *format,...) __attribute__((format(printf
 Verbose message if verbose level exceeds level.
 
virtual void virtual void Verbose (const char *format,...) __attribute__((format(printf
 Verbose message.
 
virtual void virtual void virtual void Log (int level, const char *format,...) __attribute__((format(printf
 Log message if logging level exceeds level.
 
virtual void virtual void virtual void virtual void Log (const char *format,...) __attribute__((format(printf
 Log message.
 
virtual void virtual void virtual void virtual void virtual void ErrLog (int severity, const char *format,...) __attribute__((format(printf
 Error log, severity is one of ngcbWARNING, ngcbFAILURE and ngcbERR_SEVERE.
 
virtual void virtual void virtual void virtual void virtual void void FeedBack (const char *format,...) __attribute__((format(printf
 Feed-back function.
 
virtual void virtual void virtual void virtual void virtual void void virtual void SendFeedBack (const char *msg)
 Feed-back sender implementation.
 
const char * CfgPath ()
 Get external configuration path.
 
int CfgPath (char *path, const char *cfgFile)
 Compose path for configuratuion file.
 
int KeyVal (const char *key, float *value)
 Get single precision floating point value from keyword string.
 
int KeyVal (const char *key, double *value)
 Get double precision floating point value from keyword string.
 
int KeyVal (const char *key, int *value)
 Get 32-bit signed integer value from decimal keyword string.
 
int KeyVal (const char *key, unsigned int *value)
 Get 32-bit unsigned integer value from decimal keyword string.
 
int KeyValHex (const char *key, int *value)
 Get 32-bit signed integer value from hexadecimal keyword string.
 
int KeyValHex (const char *key, unsigned int *value)
 Get 32-bit unsigned integer value from hexadecimal keyword string.
 
int KeyValFmt (const char *key, int *value)
 Get 32-bit signed integer value from string.
 
int KeyValFmt (const char *key, unsigned int *value)
 Get 32-bit unsigned integer value from string.
 
int KeyValFrac (const char *key, unsigned int n, uint64_t *v1, uint64_t *v2)
 Fraction after n digits.
 
void CleanupCmd (char *cmdLine, int *cmdLen)
 Clean command string (remove extra spaces etc.)
 
int ReplaceParam (char *string)
 Replace parameter in string.
 

Detailed Description

NGC sequencer class

Constructor & Destructor Documentation

◆ ngcdcsSEQ() [1/4]

ngcdcsSEQ::ngcdcsSEQ ( const ngcb_route_t & r)
explicit

Constructor with route.

◆ ngcdcsSEQ() [2/4]

ngcdcsSEQ::ngcdcsSEQ ( ngcbIFC * ifc,
const ngcb_route_t & r )

Constructor with interface device and route.

◆ ngcdcsSEQ() [3/4]

ngcdcsSEQ::ngcdcsSEQ ( const ngcb_route_t & r,
ngcbPARAM_LIST * p )

Constructor with route and parameter list.

◆ ngcdcsSEQ() [4/4]

ngcdcsSEQ::ngcdcsSEQ ( ngcbIFC * ifc,
const ngcb_route_t & r,
ngcbPARAM_LIST * p )

Constructor with interface device, route and parameter list.

◆ ~ngcdcsSEQ()

ngcdcsSEQ::~ngcdcsSEQ ( )
virtual

Destructor.

Member Function Documentation

◆ Align()

int ngcdcsSEQ::Align ( )
virtual

Align sequencer control flags.

Reimplemented from ngcdcsSEQ0.

◆ BlindTrigger()

unsigned int ngcdcsSEQ::BlindTrigger ( )
inlinevirtual

Return number of trigger commands received without previuos status check

Reimplemented from ngcdcsSEQ0.

◆ Break()

int ngcdcsSEQ::Break ( int trigger = 1)
virtual

Stop sequencer at next breakpoint.

Reimplemented from ngcdcsSEQ0.

◆ BreakTimeout()

int ngcdcsSEQ::BreakTimeout ( int force = 0)
virtual

Compute timeout for break command.

Reimplemented from ngcdcsSEQ0.

◆ BreakWait()

int ngcdcsSEQ::BreakWait ( int timeout,
int interval = 100 )

Poll with timeout until break-point is reached.

◆ CheckPatRam()

int ngcdcsSEQ::CheckPatRam ( )

Verify sequencer pattern RAM consistency.

◆ CheckPrg()

int ngcdcsSEQ::CheckPrg ( const ngcdcs_seqp_t & prg)

Check and cleanup program.

◆ CheckSeqRam()

int ngcdcsSEQ::CheckSeqRam ( )

Verify sequencer program RAM consistency.

◆ CleanLoop()

int ngcdcsSEQ::CleanLoop ( ngcdcs_seqp_t * prg)

Remove zero loops etc. in sequencer program.

◆ ClearPrgFile()

int ngcdcsSEQ::ClearPrgFile ( )
virtual

Clear program file.

Reimplemented from ngcdcsSEQ0.

◆ ClkState() [1/2]

int ngcdcsSEQ::ClkState ( int idx)

Get clock enabled/disabled state.

◆ ClkState() [2/2]

int ngcdcsSEQ::ClkState ( int idx,
int flag )

Enable/disable clock.

◆ Convert()

int ngcdcsSEQ::Convert ( int strobe,
int flag )
virtual

Enable/disable convert strobe.

Reimplemented from ngcdcsSEQ0.

◆ CvtExt()

int ngcdcsSEQ::CvtExt ( int flag)
virtual

Enable/disable external convert.

Reimplemented from ngcdcsSEQ0.

◆ Disable()

int ngcdcsSEQ::Disable ( )
virtual

Call-back at transition to not operational state.

Reimplemented from ngcbMOD.

◆ Disarm()

int ngcdcsSEQ::Disarm ( )
virtual

Disable sequencer control flags.

Reimplemented from ngcdcsSEQ0.

◆ DumpCode()

void ngcdcsSEQ::DumpCode ( char * reply,
const ngcdcs_seqp_t & prg,
int offset,
int length )

Dump piece of prg-code.

◆ DumpPat()

void ngcdcsSEQ::DumpPat ( char * reply,
const ngcdcs_pat_t & pat )

Dump pattern to string.

◆ DumpPrg()

int ngcdcsSEQ::DumpPrg ( char * reply,
ngcdcs_seqp_t & prg,
int n = -1 )

Dump program to string.

◆ DwellTime()

int ngcdcsSEQ::DwellTime ( int factor,
int add )
virtual

Set global dwell-time factor+add.

Reimplemented from ngcdcsSEQ0.

◆ Enable()

int ngcdcsSEQ::Enable ( int check = 1)
virtual

Call-back at transition to operational state.

Reimplemented from ngcbMOD.

◆ Event()

ngcb_evt_t ngcdcsSEQ::Event ( int stat)
virtual

Return event configuration for status switch.

Reimplemented from ngcdcsSEQ0.

◆ ExecTime() [1/2]

int ngcdcsSEQ::ExecTime ( double * execTime)

Compute program execution time.

◆ ExecTime() [2/2]

int ngcdcsSEQ::ExecTime ( double * execTime,
int * prgCode,
int codeAddr,
int length )

Compute code execution time.

◆ FailureState()

int ngcdcsSEQ::FailureState ( )
inlinevirtual

Check if sequencer is in failure state.

Reimplemented from ngcdcsSEQ0.

◆ FirstPat()

int ngcdcsSEQ::FirstPat ( int * low,
int * high )

Get first executed clock state.

◆ GetFramCfg()

int ngcdcsSEQ::GetFramCfg ( int * pduValue,
int * packetsValue,
int * bpix,
int chan )

◆ GetPat() [1/2]

int ngcdcsSEQ::GetPat ( int idx,
ngcdcs_pat_t * pat )

Get a clock pattern by index.

◆ GetPat() [2/2]

int ngcdcsSEQ::GetPat ( ngcdcs_pat_t * pat)

Get a clock pattern by address.

◆ GetPrg()

int ngcdcsSEQ::GetPrg ( ngcdcs_seqp_t * prg)

Get sequencer program.

◆ GetState()

int ngcdcsSEQ::GetState ( int * low,
int * high,
int patNum,
int stateNum )

Get pattern state.

◆ InitPat()

int ngcdcsSEQ::InitPat ( int low,
int high )

Set default initial pattern.

◆ InitPatFirst()

int ngcdcsSEQ::InitPatFirst ( int n)

Init with first state of pattern.

◆ InitPatHigh() [1/2]

int ngcdcsSEQ::InitPatHigh ( )

Get actual initial pattern (high)

◆ InitPatHigh() [2/2]

int ngcdcsSEQ::InitPatHigh ( int value)

Set default initial pattern (high)

◆ InitPatLast()

int ngcdcsSEQ::InitPatLast ( int n)

Init with last state of pattern.

◆ InitPatLow() [1/2]

int ngcdcsSEQ::InitPatLow ( )

Get actual initial pattern (low)

◆ InitPatLow() [2/2]

int ngcdcsSEQ::InitPatLow ( int value)

Set default initial pattern (low)

◆ LastPat()

int ngcdcsSEQ::LastPat ( int * low,
int * high )

Get last executed clock state.

◆ LoadClk()

int ngcdcsSEQ::LoadClk ( const char * fileName)
virtual

Clock pattern file loader.

◆ LoadClkFile()

int ngcdcsSEQ::LoadClkFile ( const char * name)
virtual

Load clock pattern file.

Reimplemented from ngcdcsSEQ0.

◆ LoadPrgFile()

int ngcdcsSEQ::LoadPrgFile ( const char * name = NULL)
virtual

Load sequencer program file.

Reimplemented from ngcdcsSEQ0.

◆ LookupCB()

int ngcdcsSEQ::LookupCB ( const char * name,
char * value )
virtual

Parameter lookup.

◆ LostTrigger()

unsigned int ngcdcsSEQ::LostTrigger ( )
inlinevirtual

Return number of trigger commands received when not in waiting state

Reimplemented from ngcdcsSEQ0.

◆ MinPulse()

int ngcdcsSEQ::MinPulse ( double * min,
int clkNum )

Compute minimum pulse distance on clock.

◆ Monitor()

int ngcdcsSEQ::Monitor ( int num,
int clkChan )

Set channel for clock-monitor.

◆ NewStatus()

void ngcdcsSEQ::NewStatus ( int newStatus)
virtual

Set new soft status.

Reimplemented from ngcdcsSEQ0.

◆ NumTrigger()

unsigned int ngcdcsSEQ::NumTrigger ( )
inlinevirtual

Return number of trigger commands since last start.

Reimplemented from ngcdcsSEQ0.

◆ Parameters()

int ngcdcsSEQ::Parameters ( const char * fileName,
char * list )

Get used parameters from file.

◆ PatNumStates()

int ngcdcsSEQ::PatNumStates ( const ngcdcs_pat_t & pat)

Compute number of states.

◆ PatTime()

int ngcdcsSEQ::PatTime ( const ngcdcs_pat_t & pat,
int apply = 1 )

Compute pattern time.

◆ Pause()

int ngcdcsSEQ::Pause ( )
virtual

Pause sequencer.

Reimplemented from ngcdcsSEQ0.

◆ PrgFile()

int ngcdcsSEQ::PrgFile ( const char * fileName)
virtual

Sequencer program loader.

◆ PulseCnt()

int ngcdcsSEQ::PulseCnt ( int * rising,
int * falling,
int clkNum )

Compute number of edges on clock.

◆ Reset()

void ngcdcsSEQ::Reset ( )
virtual

Align soft-states after reset.

Reimplemented from ngcbMOD.

◆ ResolveSubRt()

int ngcdcsSEQ::ResolveSubRt ( ngcdcs_seqp_t * prg)

Resolve subroutines.

◆ RestorePatSetup()

int ngcdcsSEQ::RestorePatSetup ( )

Restore patterns from private copy.

◆ RunCtrl()

int ngcdcsSEQ::RunCtrl ( int flag)
virtual

Enable/disable external run-control.

Reimplemented from ngcdcsSEQ0.

◆ RunningState()

int ngcdcsSEQ::RunningState ( )
inlinevirtual

Check if sequencer is in running state.

Reimplemented from ngcdcsSEQ0.

◆ SaveClk()

int ngcdcsSEQ::SaveClk ( const char * fileName)
virtual

Clock pattern file saver.

◆ SaveClkFile()

int ngcdcsSEQ::SaveClkFile ( const char * fileName)

Save clock pattern file.

◆ Selftest()

int ngcdcsSEQ::Selftest ( )
virtual

Selftest.

Reimplemented from ngcdcsSEQ0.

◆ SetBytesPerPix()

int ngcdcsSEQ::SetBytesPerPix ( int value,
int chan = 0 )

Set bytes per payload data unit per channel.

◆ SetPackets()

int ngcdcsSEQ::SetPackets ( int value,
int chan = 0 )

Set packets per frame per channel.

◆ SetPat()

int ngcdcsSEQ::SetPat ( int idx,
ngcdcs_pat_t & pat )

Set a clock pattern.

◆ SetPatClk()

int ngcdcsSEQ::SetPatClk ( int idx,
int clkNum,
const char * s )

Set specific clock timing.

◆ SetPdu()

int ngcdcsSEQ::SetPdu ( int value,
int chan = 0 )

Set payload data units per channel.

◆ SetPrg()

int ngcdcsSEQ::SetPrg ( const ngcdcs_seqp_t & prg)

Set sequencer program.

◆ SetupPat()

int ngcdcsSEQ::SetupPat ( int stopFlag = 1)

Upload all defined patterns.

◆ ShiftOut() [1/2]

int ngcdcsSEQ::ShiftOut ( const char * array,
int numBits )

Copy byte array to shift register.

◆ ShiftOut() [2/2]

int ngcdcsSEQ::ShiftOut ( const int * array,
int numBits )

Copy 32-bit word array to shift register.

◆ SimPrg()

int ngcdcsSEQ::SimPrg ( ngcdcsSEQ_EMU * emulator,
ngcdcs_ticks_t start,
int length )

Program Simulator.

◆ SimSeqTiming()

int ngcdcsSEQ::SimSeqTiming ( )
virtual

Simulate sequence timing.

Reimplemented from ngcdcsSEQ0.

◆ SlxDisable()

int ngcdcsSEQ::SlxDisable ( )

Disable SELEX serial interface.

◆ SlxEnable()

int ngcdcsSEQ::SlxEnable ( )

Enable SELEX serial interface.

◆ SlxSetup()

int ngcdcsSEQ::SlxSetup ( const char * key,
const int * idx,
const char * value,
int * status = NULL )

SELEX setup.

◆ SlxStatus()

int ngcdcsSEQ::SlxStatus ( const char * key,
const int * idx,
char * value,
int * status = NULL )

SELEX status.

◆ Start()

int ngcdcsSEQ::Start ( )
virtual

Start sequencer.

Reimplemented from ngcdcsSEQ0.

◆ Status()

int ngcdcsSEQ::Status ( int * hwStat)
virtual

Get status value.

Reimplemented from ngcdcsSEQ0.

◆ StatusString()

char * ngcdcsSEQ::StatusString ( )
virtual

Get status string.

Reimplemented from ngcdcsSEQ0.

◆ Step()

int ngcdcsSEQ::Step ( )

Run til next break-point.

◆ Stop()

int ngcdcsSEQ::Stop ( int align,
int force = 0 )
virtual

Stop sequencer.

Reimplemented from ngcdcsSEQ0.

◆ StorePatSetup()

void ngcdcsSEQ::StorePatSetup ( )

Store patterns to private copy.

◆ SyncExt()

int ngcdcsSEQ::SyncExt ( int flag)
virtual

Enable/disable external SYNC pulse.

Reimplemented from ngcdcsSEQ0.

◆ TimeAdd()

int ngcdcsSEQ::TimeAdd ( int add)
virtual

Set global dwell-time add.

Reimplemented from ngcdcsSEQ0.

◆ TimeFactor()

int ngcdcsSEQ::TimeFactor ( int factor)
virtual

Set global dwell-time factor.

Reimplemented from ngcdcsSEQ0.

◆ Trigger()

int ngcdcsSEQ::Trigger ( int armed = 1)
virtual

Send trigger command to sequencer.

Reimplemented from ngcdcsSEQ0.

◆ TriggerMode()

int ngcdcsSEQ::TriggerMode ( int mode)
virtual

Select trigger mode.

Reimplemented from ngcdcsSEQ0.

◆ TriggerOn()

int ngcdcsSEQ::TriggerOn ( int flag)
virtual

Enable/disable trigger mode.

Reimplemented from ngcdcsSEQ0.

◆ Wait()

int ngcdcsSEQ::Wait ( int event,
int timeout,
int interval = 100 )
virtual

Poll with timeout until status register matches event.

Reimplemented from ngcdcsSEQ0.

Member Data Documentation

◆ autoInit

int ngcdcsSEQ::autoInit

Automatic clock pattern initialization.

◆ bpix

int ngcdcsSEQ::bpix[4]

Payload bytes per pixel unit.

◆ clkMon1

int ngcdcsSEQ::clkMon1

Clock on monitor 1.

◆ clkMon2

int ngcdcsSEQ::clkMon2

Clock on monitor 2.

◆ clkMon3

int ngcdcsSEQ::clkMon3

Clock on monitor 3.

◆ packets

int ngcdcsSEQ::packets[4]

Payload packets per frame.

◆ pattern

ngcdcs_pat_t* ngcdcsSEQ::pattern

Clock pattern setup.

◆ pdu

int ngcdcsSEQ::pdu[4]

Payload data units.

◆ program

ngcdcs_seqp_t ngcdcsSEQ::program

Sequencer program.

◆ slx

ngcdcs_slxcfg_t ngcdcsSEQ::slx

SELEX configuration.

◆ softMon

int ngcdcsSEQ::softMon

Use soft monitor for digital clocks.


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