BFLinux
Data Structures | Typedefs | Enumerations | Functions
Timing Sequencer control

Data Structures

struct  tCITSentry
 Entry structure used to read and write sequences to the Timing Sequencer. More...
 

Typedefs

typedef struct tCITSentrytCITSEP
 

Enumerations

enum  tCItimingSequencerEnum { kBFTSmain = 0, kBFTSaux }
 Timing Sequencer selection. More...
 
enum  tCITStrigTypeEnum {
  kBFTSTtrigSel = 0, kBFTSTencASel, kBFTSTencBSel, kBFTSTencQSel,
  kBFTSTgatedTrig, kBFTSTencDivSel, kBFTSTsof, kBFTSTeof,
  kBFTSTsol, kBFTSTeol, kBFTSTfvalRising, kBFTSTfvalFalling,
  kBFTSTlvalRising, kBFTSTlvalFalling, kBFTSTunknown = 0xffff
}
 Timing Sequencer Trigger sources. More...
 
enum  tCITSwaitForTriggerTypeEnum {
  kBFTSnoWait = 0, kBFTSrisingEdge, kBFTSfallingEdge, kBFTShigh,
  kBFTSlow, kBFTSeitherEdge, kBFTStrigUnknown = 0xffff
}
 Trigger conditions for Timing Sequencer. More...
 

Functions

tCIRC CiTSsequenceGet (tCIp cip, tCIU32 sequencer, tCIU32 *tsArySize, tCITSEP tsAry, tCIU32 *preTrigCT0, tCIU32 *preTrigCT1, tCIU32 *preTrigCT2, tCIU32 *preTrigCT3, tCIU32 *triggerSrc)
 Get a sequence in the timing sequencer, returning an array of segments. More...
 
tCIRC CiTSsequenceSet (tCIp cip, tCIU32 sequencer, tCIU32 tsArySize, tCITSEP tsAry, tCIU32 preTrigCT0, tCIU32 preTrigCT1, tCIU32 preTrigCT2, tCIU32 preTrigCT3, tCIU32 triggerSrc)
 Set a sequence in the timing sequencer from a linked list of segments. More...
 

Detailed Description

Typedef Documentation

◆ tCITSEP

typedef struct tCITSentry * tCITSEP

Enumeration Type Documentation

◆ tCItimingSequencerEnum

Timing Sequencer selection.

Enumerator
kBFTSmain 

The main timing sequencer.

kBFTSaux 

The auxiliary timing sequencer.

◆ tCITStrigTypeEnum

Timing Sequencer Trigger sources.

Enumerator
kBFTSTtrigSel 

Trigger Select.

kBFTSTencASel 

Encoder A Select.

kBFTSTencBSel 

Encoder B Select.

kBFTSTencQSel 

Quadrature Encoder.

kBFTSTgatedTrig 

Gated Trigger.

kBFTSTencDivSel 

Encoder Divider.

kBFTSTsof 

Start-of-Frame.

kBFTSTeof 

End-of-Frame.

kBFTSTsol 

Start-of-Line.

kBFTSTeol 

End-of-Line.

kBFTSTfvalRising 
kBFTSTfvalFalling 
kBFTSTlvalRising 
kBFTSTlvalFalling 
kBFTSTunknown 

◆ tCITSwaitForTriggerTypeEnum

Trigger conditions for Timing Sequencer.

Enumerator
kBFTSnoWait 

No wait/no trigger.

kBFTSrisingEdge 

Rising edge.

kBFTSfallingEdge 

Falling edge.

kBFTShigh 

Trigger high.

kBFTSlow 

Trigger low.

kBFTSeitherEdge 

Either edge.

kBFTStrigUnknown 

Function Documentation

◆ CiTSsequenceGet()

tCIRC CiTSsequenceGet ( tCIp  cip,
tCIU32  sequencer,
tCIU32 tsArySize,
tCITSEP  tsAry,
tCIU32 preTrigCT0,
tCIU32 preTrigCT1,
tCIU32 preTrigCT2,
tCIU32 preTrigCT3,
tCIU32 triggerSrc 
)

Get a sequence in the timing sequencer, returning an array of segments.

NOTE: The inputs state change times are in milliseconds, this can translate into more than one TS segment. For example: 234.56789 msec = 2 ** 100 ms + 345 ** 100 us + 678 ** 100 nsec The granularity is 100 nanoseconds

NOTE: Passing a NULL pointer to any return argument is allowed. However, tsAry requires tsArySize, which contains the array size as an input (and the required array size as an output). If the input tsAry length N is too short, the first N segments will be returned.

Parameters
cipthis frame grabber
sequencerwhich sequencer to read (kBFTSmain, kBFTSaux)
tsArySizeas input, tsAry byte size. rtns tsAry byte size required.
tsAryrtns array of sequence segments
preTrigCT0rtns value of CT0 before trigger
preTrigCT1rtns value of CT1 before trigger
preTrigCT2rtns value of CT2 before trigger
preTrigCT3rtns value of CT3 before trigger
triggerSrcrtns trigger source (see tCITStrigTypeEnum)

◆ CiTSsequenceSet()

tCIRC CiTSsequenceSet ( tCIp  cip,
tCIU32  sequencer,
tCIU32  tsArySize,
tCITSEP  tsAry,
tCIU32  preTrigCT0,
tCIU32  preTrigCT1,
tCIU32  preTrigCT2,
tCIU32  preTrigCT3,
tCIU32  triggerSrc 
)

Set a sequence in the timing sequencer from a linked list of segments.

NOTE: The inputs state change times are in milliseconds, this can translate into more than one TS segment. For example: 234.56789 msec = 2 ** 100 ms + 345 ** 100 us + 678 ** 100 nsec The granularity is 100 nanoseconds

Parameters
cipthis frame grabber
sequencerwhich sequencer to program (kBFTSmain, kBFTSaux)
tsArySizetsAry byte size
tsAryarray of sequence segments
preTrigCT0value of CT0 before trigger
preTrigCT1value of CT1 before trigger
preTrigCT2value of CT2 before trigger
preTrigCT3value of CT3 before trigger
triggerSrctrigger source (see tCITStrigTypeEnum)