mrfioc2  2.3.0
Classes | Macros | Enumerations | Functions | Variables
mrmSeq.cpp File Reference
#include <stdio.h>
#include <epicsMath.h>
#include <epicsMutex.h>
#include <errlog.h>
#include <mrfCommonIO.h>
#include "mrmSeq.h"
#include <epicsExport.h>
Include dependency graph for mrmSeq.cpp:

Go to the source code of this file.

Classes

struct  SeqHW
 
struct  SoftSequence
 
struct  SoftSequence::Config
 

Macros

#define EVG_SEQ_RAM_RUNNING   0x02000000 /* Sequence RAM is Running (read only) */
 
#define EVG_SEQ_RAM_ENABLED   0x01000000 /* Sequence RAM is Enabled (read only) */
 
#define EVG_SEQ_RAM_SW_TRIG   0x00200000 /* Sequence RAM Software Trigger Bit */
 
#define EVG_SEQ_RAM_RESET   0x00040000 /* Sequence RAM Reset */
 
#define EVG_SEQ_RAM_DISABLE   0x00020000 /* Sequence RAM Disable (and stop) */
 
#define EVG_SEQ_RAM_ARM   0x00010000 /* Sequence RAM Enable/Arm */
 
#define EVG_SEQ_RAM_WRITABLE_MASK   0x00ffffff
 
#define EVG_SEQ_RAM_REPEAT_MASK   0x00180000 /* Sequence RAM Repeat Mode Mask */
 
#define EVG_SEQ_RAM_NORMAL   0x00000000 /* Normal Mode: Repeat every trigger */
 
#define EVG_SEQ_RAM_SINGLE   0x00100000 /* Single-Shot Mode: Disable on completion */
 
#define EVG_SEQ_RAM_RECYCLE   0x00080000 /* Continuous Mode: Repeat on completion */
 
#define EVG_SEQ_RAM_SRC_MASK   0x000000ff
 
#define DEBUG(LVL, ARGS)   do{if(SeqManagerDebug>=(LVL)) {printf ARGS ;}}while(0)
 

Enumerations

enum  RunMode
 

Functions

 OBJECT_PROP1 ("ERROR", &SoftSequence::getErr)
 
 OBJECT_PROP1 ("ERROR", &SoftSequence::getErrScan)
 
 OBJECT_PROP1 ("LOADED", &SoftSequence::isLoaded)
 
 OBJECT_PROP1 ("LOADED", &SoftSequence::stateChange)
 
 OBJECT_PROP1 ("LOAD", &SoftSequence::load)
 
 OBJECT_PROP1 ("UNLOAD", &SoftSequence::unload)
 
 OBJECT_PROP1 ("ENABLED", &SoftSequence::isEnabled)
 
 OBJECT_PROP1 ("ENABLED", &SoftSequence::stateChange)
 
 OBJECT_PROP1 ("ENABLE", &SoftSequence::enable)
 
 OBJECT_PROP1 ("DISABLE", &SoftSequence::disable)
 
 OBJECT_PROP1 ("COMMITTED", &SoftSequence::isCommited)
 
 OBJECT_PROP1 ("COMMITTED", &SoftSequence::stateChange)
 
 OBJECT_PROP1 ("COMMIT", &SoftSequence::commit)
 
 OBJECT_PROP1 ("SOFT_TRIG", &SoftSequence::softTrig)
 
 OBJECT_PROP2 ("TIMES", &SoftSequence::getTimestamp, &SoftSequence::setTimestamp)
 
 OBJECT_PROP1 ("TIMES", &SoftSequence::stateChange)
 
 OBJECT_PROP2 ("CODES", &SoftSequence::getEventCode, &SoftSequence::setEventCode)
 
 OBJECT_PROP1 ("CODES", &SoftSequence::stateChange)
 
 OBJECT_PROP1 ("NUM_RUNS", &SoftSequence::counterEnd)
 
 OBJECT_PROP1 ("NUM_RUNS", &SoftSequence::counterEndScan)
 
 OBJECT_PROP1 ("NUM_STARTS", &SoftSequence::counterStart)
 
 OBJECT_PROP1 ("NUM_STARTS", &SoftSequence::counterStartScan)
 
 OBJECT_PROP2 ("TIMEUNITS", &SoftSequence::getTimestampResolution, &SoftSequence::setTimestampResolution)
 
 OBJECT_PROP2 ("TRIG_SRC", &SoftSequence::getTrigSrcCt, &SoftSequence::setTrigSrc)
 
 OBJECT_PROP1 ("TRIG_SRC", &SoftSequence::stateChange)
 
 OBJECT_PROP2 ("RUN_MODE", &SoftSequence::getRunModeCt, &SoftSequence::setRunMode)
 
 OBJECT_PROP1 ("RUN_MODE", &SoftSequence::stateChange)
 
 OBJECT_FACTORY (SeqManager::buildSW)
 
 epicsExportAddress (int, SeqManagerDebug)
 

Variables

int SeqManagerDebug
 

Macro Definition Documentation

◆ DEBUG

#define DEBUG (   LVL,
  ARGS 
)    do{if(SeqManagerDebug>=(LVL)) {printf ARGS ;}}while(0)

Definition at line 45 of file mrmSeq.cpp.

◆ EVG_SEQ_RAM_ARM

#define EVG_SEQ_RAM_ARM   0x00010000 /* Sequence RAM Enable/Arm */

Definition at line 30 of file mrmSeq.cpp.

◆ EVG_SEQ_RAM_DISABLE

#define EVG_SEQ_RAM_DISABLE   0x00020000 /* Sequence RAM Disable (and stop) */

Definition at line 29 of file mrmSeq.cpp.

◆ EVG_SEQ_RAM_ENABLED

#define EVG_SEQ_RAM_ENABLED   0x01000000 /* Sequence RAM is Enabled (read only) */

Definition at line 24 of file mrmSeq.cpp.

◆ EVG_SEQ_RAM_NORMAL

#define EVG_SEQ_RAM_NORMAL   0x00000000 /* Normal Mode: Repeat every trigger */

Definition at line 34 of file mrmSeq.cpp.

◆ EVG_SEQ_RAM_RECYCLE

#define EVG_SEQ_RAM_RECYCLE   0x00080000 /* Continuous Mode: Repeat on completion */

Definition at line 36 of file mrmSeq.cpp.

◆ EVG_SEQ_RAM_REPEAT_MASK

#define EVG_SEQ_RAM_REPEAT_MASK   0x00180000 /* Sequence RAM Repeat Mode Mask */

Definition at line 33 of file mrmSeq.cpp.

◆ EVG_SEQ_RAM_RESET

#define EVG_SEQ_RAM_RESET   0x00040000 /* Sequence RAM Reset */

Definition at line 28 of file mrmSeq.cpp.

◆ EVG_SEQ_RAM_RUNNING

#define EVG_SEQ_RAM_RUNNING   0x02000000 /* Sequence RAM is Running (read only) */

Definition at line 23 of file mrmSeq.cpp.

◆ EVG_SEQ_RAM_SINGLE

#define EVG_SEQ_RAM_SINGLE   0x00100000 /* Single-Shot Mode: Disable on completion */

Definition at line 35 of file mrmSeq.cpp.

◆ EVG_SEQ_RAM_SRC_MASK

#define EVG_SEQ_RAM_SRC_MASK   0x000000ff

Definition at line 38 of file mrmSeq.cpp.

◆ EVG_SEQ_RAM_SW_TRIG

#define EVG_SEQ_RAM_SW_TRIG   0x00200000 /* Sequence RAM Software Trigger Bit */

Definition at line 27 of file mrmSeq.cpp.

◆ EVG_SEQ_RAM_WRITABLE_MASK

#define EVG_SEQ_RAM_WRITABLE_MASK   0x00ffffff

Definition at line 32 of file mrmSeq.cpp.

Enumeration Type Documentation

◆ RunMode

enum RunMode

Definition at line 50 of file mrmSeq.cpp.

50 {Normal=0, Single=2};

Function Documentation

◆ epicsExportAddress()

epicsExportAddress ( int  ,
SeqManagerDebug   
)

◆ OBJECT_FACTORY()

OBJECT_FACTORY ( SeqManager::buildSW  )

◆ OBJECT_PROP1() [1/22]

OBJECT_PROP1 ( "ERROR"  ,
&SoftSequence::getErr   
)

◆ OBJECT_PROP1() [2/22]

OBJECT_PROP1 ( "ERROR"  ,
&SoftSequence::getErrScan   
)

◆ OBJECT_PROP1() [3/22]

OBJECT_PROP1 ( "LOADED"  ,
&SoftSequence::isLoaded   
)

◆ OBJECT_PROP1() [4/22]

OBJECT_PROP1 ( "LOADED"  ,
&SoftSequence::stateChange   
)

◆ OBJECT_PROP1() [5/22]

OBJECT_PROP1 ( "LOAD"  ,
&SoftSequence::load   
)

◆ OBJECT_PROP1() [6/22]

OBJECT_PROP1 ( "UNLOAD"  ,
&SoftSequence::unload   
)

◆ OBJECT_PROP1() [7/22]

OBJECT_PROP1 ( "ENABLED"  ,
&SoftSequence::isEnabled   
)

◆ OBJECT_PROP1() [8/22]

OBJECT_PROP1 ( "ENABLED"  ,
&SoftSequence::stateChange   
)

◆ OBJECT_PROP1() [9/22]

OBJECT_PROP1 ( "ENABLE"  ,
&SoftSequence::enable   
)

◆ OBJECT_PROP1() [10/22]

OBJECT_PROP1 ( "DISABLE"  ,
&SoftSequence::disable   
)

◆ OBJECT_PROP1() [11/22]

OBJECT_PROP1 ( "COMMITTED"  ,
&SoftSequence::isCommited   
)

◆ OBJECT_PROP1() [12/22]

OBJECT_PROP1 ( "COMMITTED"  ,
&SoftSequence::stateChange   
)

◆ OBJECT_PROP1() [13/22]

OBJECT_PROP1 ( "COMMIT"  ,
&SoftSequence::commit   
)

◆ OBJECT_PROP1() [14/22]

OBJECT_PROP1 ( "SOFT_TRIG"  ,
&SoftSequence::softTrig   
)

◆ OBJECT_PROP1() [15/22]

OBJECT_PROP1 ( "TIMES"  ,
&SoftSequence::stateChange   
)

◆ OBJECT_PROP1() [16/22]

OBJECT_PROP1 ( "CODES"  ,
&SoftSequence::stateChange   
)

◆ OBJECT_PROP1() [17/22]

OBJECT_PROP1 ( "NUM_RUNS"  ,
&SoftSequence::counterEnd   
)

◆ OBJECT_PROP1() [18/22]

OBJECT_PROP1 ( "NUM_RUNS"  ,
&SoftSequence::counterEndScan   
)

◆ OBJECT_PROP1() [19/22]

OBJECT_PROP1 ( "NUM_STARTS"  ,
&SoftSequence::counterStart   
)

◆ OBJECT_PROP1() [20/22]

OBJECT_PROP1 ( "NUM_STARTS"  ,
&SoftSequence::counterStartScan   
)

◆ OBJECT_PROP1() [21/22]

OBJECT_PROP1 ( "TRIG_SRC"  ,
&SoftSequence::stateChange   
)

◆ OBJECT_PROP1() [22/22]

OBJECT_PROP1 ( "RUN_MODE"  ,
&SoftSequence::stateChange   
)

◆ OBJECT_PROP2() [1/5]

OBJECT_PROP2 ( "TIMES"  ,
&SoftSequence::getTimestamp  ,
&SoftSequence::setTimestamp   
)

◆ OBJECT_PROP2() [2/5]

OBJECT_PROP2 ( "CODES"  ,
&SoftSequence::getEventCode  ,
&SoftSequence::setEventCode   
)

◆ OBJECT_PROP2() [3/5]

◆ OBJECT_PROP2() [4/5]

OBJECT_PROP2 ( "TRIG_SRC"  ,
&SoftSequence::getTrigSrcCt  ,
&SoftSequence::setTrigSrc   
)

◆ OBJECT_PROP2() [5/5]

OBJECT_PROP2 ( "RUN_MODE"  ,
&SoftSequence::getRunModeCt  ,
&SoftSequence::setRunMode   
)

Variable Documentation

◆ SeqManagerDebug

int SeqManagerDebug

Definition at line 774 of file mrmSeq.cpp.