KSFoundation  [October2024]
A platform for structured EPIC programming on GE MR systems
KS_WAIT Struct Reference

#include <KSFoundation.h>

Data Fields

KS_BASE base
 
KS_DESCRIPTION description
 
int pg_duration
 
int max_duration
 
KS_SEQLOClocs
 
WF_PULSE * wfpulse
 
KS_WFINSTANCEwfi
 
KS_RT_SCALE_LOG rtscaling
 

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, max_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

◆ pg_duration

int pg_duration

Duration of the wait object in when pg'd [us]

◆ max_duration

int max_duration

Maximum duration of the wait object in scan [us]

◆ locs

KS_SEQLOC* locs

◆ wfpulse

WF_PULSE* wfpulse

Internal use

◆ wfi

Internal use

◆ rtscaling

KS_RT_SCALE_LOG rtscaling

Internal use


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