KSFoundation  [April-2021]
A platform for simpler EPIC programming on GE MR systems
KS_WAIT Struct Reference

#include <KSFoundation.h>

Data Fields

KS_BASE base
 
KS_DESCRIPTION description
 
int duration
 
KS_SEQLOC locs [KS_MAXINSTANCES]
 
WF_PULSE * wfpulse
 
KS_WFINSTANCEwfi
 

Detailed Description

Core sequence object that adds wait periods in the pulse sequence (see ks_eval_wait(), ks_pg_wait()). Can be placed on any sequence board

KS_WAIT.png
KS_WAIT


It is a requirement that there is a (sequence generating) function in the @pg section (containing the ks_pg_wait() call(s)) that can be run on both HOST and TGT. This function should be called exactly once in cveval() (after ks_eval_wait() and other ks_eval_***() functions). ks_pg_wait() will throw an error on TGT if this has not been done.

Example

@ipgexport (HOST)
@host
cveval() {
ks_eval_wait(&mywait, "mywaitname", duration);
}
@pg
tmploc.pos = 10ms;
tmploc.board = XGRAD;
ks_pg_wait(&mywait, tmploc, &seqctrl); // first instance (#0) on XGRAD at 10ms
tmploc.board = YGRAD;
ks_pg_wait(&mywait, tmploc, &seqctrl); // a second instance (#1) on YGRAD at 10ms
tmploc.board = ZGRAD;
ks_pg_wait(&mywait, tmploc, &seqctrl); // a third instance (#2) on ZGRAD at 10ms
@rsp (TGT)
scan() {
ks_scan_wait(&mywait, INSTRALL, 2ms); // will change the period of all instances of this KS_WAIT object to 2 ms
}

Field Documentation

◆ base

KS_BASE base

Internal use

◆ description

KS_DESCRIPTION description

Descriptive string for the wait object

◆ duration

int duration

Duration of the wait object in [us]

◆ locs

◆ wfpulse

WF_PULSE* wfpulse

Internal use

◆ wfi

Internal use


The documentation for this struct was generated from the following file: