Relacs
0.9.8
|
#include <trigger.h>
Classes | |
struct | HoopParams |
Public Member Functions | |
Trigger (void) | |
Trigger (const string &deviceclass) | |
void | setCrossing (int mode, double level) |
void | setRising (double level) |
void | setFalling (double level) |
void | setCrossing (int amode, double alevel, int bmode, double blevel) |
void | setRisingHysteresis (double alevel, double blevel) |
void | setFallingHysteresis (double alevel, double blevel) |
void | setWindow (double alevel, double blevel) |
void | setPeakTrough (double threshold, int peakamode, int troughamode, double alevel, int peakbmode, int troughbmode, double blevel) |
void | setPeak (double threshold) |
void | setTrough (double threshold) |
void | setPeak (double threshold, double level) |
void | setTrough (double threshold, double level) |
void | setPeak (double threshold, double alevel, double blevel) |
void | setTrough (double threshold, double alevel, double blevel) |
int | set (void) |
int | addHoop (double delay, double width) |
void | clear (void) |
void | setSettings (void) |
virtual int | activate (void)=0 |
virtual int | disable (void)=0 |
virtual int | reset (void) |
Public Member Functions inherited from Device | |
Device (int type=MiscellaneousType) | |
Device (const string &deviceclass, int type=MiscellaneousType) | |
virtual | ~Device (void) |
virtual int | open (const string &device) |
virtual int | open (Device &device) |
virtual bool | isOpen (void) const =0 |
virtual void | close (void)=0 |
virtual const Options & | info (void) const |
virtual const Options & | settings (void) const |
int | deviceType (void) const |
string | deviceTypeStr (void) const |
string | deviceClass (void) const |
string | deviceFile (void) const |
string | deviceName (void) const |
string | deviceVendor (void) const |
string | deviceIdent (void) const |
virtual void | setDeviceIdent (const string &ident) |
virtual void | clearError (void) |
virtual string | errorStr (void) const |
void | setErrorStr (const string &strg) |
void | addErrorStr (const string &strg) |
void | setErrorStr (int errnum) |
void | addErrorStr (int errnum) |
virtual bool | success (void) const |
virtual bool | failed (void) const |
Public Member Functions inherited from Options | |
Options (void) | |
Options (const Options &o) | |
Options (const Options &o, int flags) | |
Options (const string &name, const string &type, int flags, int style) | |
Options (const Str &opttxt, const string &assignment=":=", const string &separator=",;") | |
Options (const StrQueue &sq, const string &assignment=":=") | |
Options (istream &str, const string &assignment=":=", const string &comment="#", const string &stop="", string *line=0) | |
virtual | ~Options (void) |
Options & | operator= (const Options &o) |
Options & | assign (const Options &o) |
Options & | append (const Options &o) |
Options & | add (const Options &o) |
Options & | insert (const Options &o, const string &atname="") |
Options & | assign (const Options &o, int flags) |
Options & | copy (Options &o, int flags) |
Options & | append (const Options &o, int flags) |
Options & | add (const Options &o, int flags) |
Options & | insert (const Options &o, int flags, const string &atname="") |
Parameter * | assign (const string &name, const string &value) |
Options * | parentSection (void) |
const Options * | parentSection (void) const |
void | setParentSection (Options *parentsection) |
void | resetParents (void) |
Options * | rootSection (void) |
const Options * | rootSection (void) const |
string | name (void) const |
virtual void | setName (const string &name) |
virtual void | setName (const string &name, const string &type) |
string | type (void) const |
void | setType (const string &type) |
string | include (void) const |
void | setInclude (const string &include) |
void | setInclude (const string &url, const string &name) |
int | flag (void) const |
bool | flag (int selectflag) const |
Options & | setFlag (int flag) |
Options & | addFlag (int flag) |
Options & | delFlag (int flag) |
Options & | clearFlag (void) |
int | style (void) const |
Options & | setStyle (int style) |
Options & | addStyle (int style) |
Options & | delStyle (int style) |
Options & | clearStyle (void) |
bool | checkType (int mask) const |
Str | warning (void) const |
iterator | begin (void) |
iterator | end (void) |
const_iterator | begin (void) const |
const_iterator | end (void) const |
section_iterator | sectionsBegin (void) |
section_iterator | sectionsEnd (void) |
const_section_iterator | sectionsBegin (void) const |
const_section_iterator | sectionsEnd (void) const |
const_iterator | find (const string &pattern, int level=-1) const |
iterator | find (const string &pattern, int level=-1) |
const_iterator | rfind (const string &pattern, int level=-1) const |
iterator | rfind (const string &pattern, int level=-1) |
const_section_iterator | findSection (const string &pattern, int level=-1) const |
section_iterator | findSection (const string &pattern, int level=-1) |
const_section_iterator | rfindSection (const string &pattern, int level=-1) const |
section_iterator | rfindSection (const string &pattern, int level=-1) |
const Parameter & | operator[] (int i) const |
Parameter & | operator[] (int i) |
const Parameter & | operator[] (const string &name) const |
Parameter & | operator[] (const string &name) |
const Options & | section (int i) const |
Options & | section (int i) |
const Options & | section (const string &name) const |
Options & | section (const string &name) |
Str | request (const string &name) const |
Parameter & | setRequest (const string &name, const string &request) |
Parameter::ValueType | valueType (const string &name) const |
Parameter & | setValueType (const string &name, Parameter::ValueType type) |
int | flags (const string &name) const |
bool | flags (const string &name, int flag) const |
Parameter & | setFlags (const string &name, int flags) |
Parameter & | addFlags (const string &name, int flags) |
Parameter & | delFlags (const string &name, int flags) |
Parameter & | clearFlags (const string &name) |
bool | changed (const string &name) |
int | style (const string &name) const |
Parameter & | setStyle (const string &name, int style) |
Parameter & | addStyle (const string &name, int style) |
Parameter & | delStyle (const string &name, int style) |
Str | format (const string &name) const |
Parameter & | setFormat (const string &name, int width=0, int prec=-1, char fmt='g') |
Parameter & | setFormat (const string &name, const string &format) |
int | formatWidth (const string &name) const |
int | size (const string &name) const |
Parameter & | add (const Parameter &np) |
Parameter & | insert (const Parameter &np, const string &atname="") |
Parameter & | addText (const string &name, const string &request, const string &dflt, int flags=0, int style=0) |
Parameter & | addText (const string &name, const string &dflt="", int flags=0, int style=0) |
Parameter & | insertText (const string &name, const string &atname, const string &request, const string &dflt, int flags=0, int style=0) |
Parameter & | insertText (const string &name, const string &atname="", const string &dflt="", int flags=0, int style=0) |
Str | text (const string &name, int index, const string &dflt="", const string &format="", const string &unit="") const |
Str | text (const string &name, const string &dflt="", const string &format="", const string &unit="") const |
void | texts (const string &name, vector< string > &s, const string &format="", const string &unit="") const |
Str | allText (const string &name, const string &dflt="", const string &format="", const string &unit="", const string &separator=", ") const |
Parameter & | setText (const string &name, const string &strg) |
Parameter & | setText (const string &name, const Parameter &p) |
Parameter & | pushText (const string &name, const string &strg) |
Str | defaultText (const string &name, const string &format="", const string &unit="") const |
Parameter & | setDefaultText (const string &name, const string &dflt) |
Parameter & | addSelection (const string &name, const string &request, const string &selection, int flags=0, int style=0) |
Parameter & | addSelection (const string &name, const string &selection="", int flags=0, int style=0) |
Parameter & | insertSelection (const string &name, const string &atname, const string &request, const string &selection, int flags=0, int style=0) |
Parameter & | insertSelection (const string &name, const string &atname="", const string &selection="", int flags=0, int style=0) |
Parameter & | selectText (const string &name, const string &strg, int add=0) |
Parameter & | selectText (const string &name, int index) |
int | index (const string &name) const |
int | index (const string &name, const string &strg) const |
Parameter & | addNumber (const string &name, const string &request, double dflt, double minimum, double maximum=MAXDOUBLE, double step=1.0, const string &unit="", const string &outputunit="", const string &format="", int flags=0, int style=0) |
Parameter & | addNumber (const string &name, const string &request, double dflt, const string &unit="", const string &format="", int flags=0, int style=0) |
Parameter & | addNumber (const string &name, double dflt, const string &unit="", const string &format="", int flags=0, int style=0) |
Parameter & | addNumber (const string &name, double dflt, const string &unit, int flags, int style=0) |
Parameter & | addNumber (const string &name, double dflt, double error, const string &unit="", const string &format="", int flags=0, int style=0) |
Parameter & | addNumber (const string &name, const string &unit="", const string &format="", int flags=0, int style=0) |
Parameter & | insertNumber (const string &name, const string &atname, const string &request, double dflt, double minimum, double maximum=MAXDOUBLE, double step=1.0, const string &unit="", const string &outputunit="", const string &format="", int flags=0, int style=0) |
Parameter & | insertNumber (const string &name, const string &atname, const string &request, double dflt, const string &unit="", const string &format="", int flags=0, int style=0) |
Parameter & | insertNumber (const string &name, const string &atname, double dflt, const string &unit="", const string &format="", int flags=0, int style=0) |
Parameter & | insertNumber (const string &name, const string &atname, const string &unit="", const string &format="", int flags=0, int style=0) |
double | number (const string &name, double dflt=0.0, const string &unit="", int index=0) const |
double | number (const string &name, const string &unit, double dflt=0.0, int index=0) const |
double | number (const string &name, int index, double dflt=0.0, const string &unit="") const |
double | number (const string &name, int index, const string &unit, double dflt=0.0) const |
void | numbers (const string &name, vector< double > &n, const string &unit="") const |
double | error (const string &name, const string &unit="", int index=0) const |
double | error (const string &name, int index, const string &unit="") const |
void | errors (const string &name, vector< double > &n, const string &unit="") const |
Parameter & | setNumber (const string &name, double number, double error, const string &unit="") |
Parameter & | setNumber (const string &name, double number, const string &unit="") |
Parameter & | pushNumber (const string &name, double number, double error=-1.0, const string &unit="") |
Parameter & | pushNumber (const string &name, double number, const string &unit) |
Parameter & | setNumber (const string &name, const Parameter &p) |
double | defaultNumber (const string &name, const string &unit="") const |
Parameter & | setDefaultNumber (const string &name, double dflt, const string &unit="") |
double | minimum (const string &name, const string &unit="") const |
double | maximum (const string &name, const string &unit="") const |
double | step (const string &name, const string &unit="") const |
Parameter & | setStep (const string &name, double step, const string &unit="") |
Parameter & | setMinMax (const string &name, double minimum=-MAXDOUBLE, double maximum=MAXDOUBLE, double step=1.0, const string &unit="") |
Str | unit (const string &name) const |
Str | outUnit (const string &name) const |
Parameter & | setUnit (const string &name, const string &internunit, const string &outunit="") |
Parameter & | setOutUnit (const string &name, const string &outputunit) |
Parameter & | changeUnit (const string &name, const string &internunit) |
Parameter & | addInteger (const string &name, const string &request, long dflt, long minimum=LONG_MIN, long maximum=LONG_MAX, long step=1, const string &unit="", const string &outputunit="", int width=0, int flags=0, int style=0) |
Parameter & | addInteger (const string &name, long dflt, const string &unit="", int width=0, int flags=0, int style=0) |
Parameter & | addInteger (const string &name, const string &unit="") |
Parameter & | insertInteger (const string &name, const string &atname, const string &request, long dflt, long minimum=LONG_MIN, long maximum=LONG_MAX, long step=1, const string &unit="", const string &outputunit="", int width=0, int flags=0, int style=0) |
Parameter & | insertInteger (const string &name, const string &atname, long dflt, const string &unit="", int width=0, int flags=0, int style=0) |
Parameter & | insertInteger (const string &name, const string &atname, const string &unit="", int width=0, int flags=0, int style=0) |
long | integer (const string &name, const string &unit="", long dflt=0, int index=0) const |
long | integer (const string &name, int index, long dflt=0, const string &unit="") const |
long | integer (const string &name, int index, const string &unit, long dflt=0) const |
void | integers (const string &name, vector< long > &n, const string &unit="") const |
void | integers (const string &name, vector< int > &n, const string &unit="") const |
Parameter & | setInteger (const string &name, long number, long error, const string &unit="") |
Parameter & | setInteger (const string &name, long number, const string &unit="") |
Parameter & | pushInteger (const string &name, long number, long error, const string &unit="") |
Parameter & | pushInteger (const string &name, long number, const string &unit="") |
Parameter & | setInteger (const string &name, const Parameter &p) |
long | defaultInteger (const string &name, const string &unit="") const |
Parameter & | setDefaultInteger (const string &name, long dflt, const string &unit="") |
Parameter & | setMinMax (const string &name, long minimum=LONG_MIN, long maximum=LONG_MAX, long step=1, const string &unit="") |
Parameter & | setMinMax (const string &name, int minimum, int maximum, int step=1, const string &unit="") |
Parameter & | addBoolean (const string &name, const string &request, bool dflt, int flags=0, int style=0) |
Parameter & | addBoolean (const char *name, const char *request, bool dflt, int flags=0, int style=0) |
Parameter & | addBoolean (const string &name, bool dflt, int flags=0, int style=0) |
Parameter & | addBoolean (const char *name, bool dflt, int flags=0, int style=0) |
Parameter & | insertBoolean (const string &name, const string &atname="", const string &request="", bool dflt=false, int flags=0, int style=0) |
Parameter & | insertBoolean (const string &name, const string &atname, int flags=0, int style=0) |
bool | boolean (const string &name, bool dflt=false, int index=0) const |
bool | boolean (const string &name, int index, bool dflt=false) const |
void | booleans (const string &name, vector< bool > &n) const |
Parameter & | setBoolean (const string &name, bool b) |
Parameter & | setBoolean (const string &name, const Parameter &p) |
bool | defaultBoolean (const string &name) const |
Parameter & | setDefaultBoolean (const string &name, bool dflt) |
Parameter & | addDate (const string &name, const string &request, int year=0, int month=0, int day=0, int flags=0, int style=0) |
Parameter & | addDate (const string &name, int year, int month, int day, int flags=0, int style=0) |
Parameter & | addDate (const string &name, int flags=0, int style=0) |
Parameter & | insertDate (const string &name, const string &atname="", const string &request="", int year=0, int month=0, int day=0, int flags=0, int style=0) |
Parameter & | insertDate (const string &name, const string &atname, int year=0, int month=0, int day=0, int flags=0, int style=0) |
Parameter & | insertDate (const string &name, const string &atname, int flags=0, int style=0) |
const Parameter & | date (const string &name, int index, int &year, int &month, int &day) const |
Parameter & | setDate (const string &name, int year, int month, int day) |
Parameter & | setDate (const string &name, const string &date) |
Parameter & | setDate (const string &name, const struct tm &date) |
Parameter & | setDate (const string &name, const time_t &time) |
Parameter & | setCurrentDate (const string &name) |
Parameter & | setDate (const string &name, const Parameter &p) |
const Parameter & | defaultDate (const string &name, int index, int &year, int &month, int &day) const |
Parameter & | setDefaultDate (const string &name, int year, int month, int day) |
Parameter & | addTime (const string &name, const string &request, int hour=0, int minutes=0, int seconds=0, int milliseconds=0, int flags=0, int style=0) |
Parameter & | addTime (const string &name, int hour, int minutes, int seconds, int milliseconds=0, int flags=0, int style=0) |
Parameter & | addTime (const string &name, int flags=0, int style=0) |
Parameter & | insertTime (const string &name, const string &atname="", const string &request="", int hour=0, int minutes=0, int seconds=0, int milliseconds=0, int flags=0, int style=0) |
Parameter & | insertTime (const string &name, const string &atname, int hour=0, int minutes=0, int seconds=0, int milliseconds=0, int flags=0, int style=0) |
Parameter & | insertTime (const string &name, const string &atname, int flags=0, int style=0) |
const Parameter & | time (const string &name, int index, int &hour, int &minutes, int &seconds, int &milliseconds) const |
Parameter & | setTime (const string &name, int hour, int minutes, int seconds, int milliseconds=0) |
Parameter & | setTime (const string &name, const string &time) |
Parameter & | setTime (const string &name, const struct tm &time) |
Parameter & | setTime (const string &name, const time_t &time) |
Parameter & | setCurrentTime (const string &name) |
Parameter & | setTime (const string &name, const Parameter &p) |
const Parameter & | defaultTime (const string &name, int index, int &hour, int &minutes, int &seconds, int &milliseconds) const |
Parameter & | setDefaultTime (const string &name, int hour, int minutes, int seconds, int milliseconds=0) |
Options & | newSection (int level, const string &name, const string &type="", int flag=0, int style=0) |
Options & | newSection (int level, const string &name, int flag, int style=0) |
Options & | newSection (const string &name, const string &type="", int flag=0, int style=0) |
Options & | newSection (const string &name, int flag, int style=0) |
Options & | newSubSection (const string &name, const string &type="", int flag=0, int style=0) |
Options & | newSubSection (const string &name, int flag, int style=0) |
Options & | newSubSubSection (const string &name, const string &type="", int flag=0, int style=0) |
Options & | newSubSubSection (const string &name, int flag, int style=0) |
Options & | addSection (const string &name, const string &type="", int flag=0, int style=0) |
Options & | addSection (const string &name, int flag, int style=0) |
Options & | insertSection (const string &name, const string &atpattern, const string &type="", int flag=0, int style=0) |
Options & | insertSection (const string &name, const string &atpattern, int flag, int style=0) |
Options & | newSection (int level, const Options &opt, int selectmask, const string &name="", const string &type="", int flag=0, int style=0) |
Options & | newSection (int level, const Options &opt, const string &name="", const string &type="", int flag=0, int style=0) |
Options & | newSection (int level, const Options &opt, const string &name, int flag, int style=0) |
Options & | newSection (const Options &opt, int selectmask, const string &name="", const string &type="", int flag=0, int style=0) |
Options & | newSection (const Options &opt, const string &name="", const string &type="", int flag=0, int style=0) |
Options & | newSection (const Options &opt, const string &name, int flag, int style=0) |
Options & | newSubSection (const Options &opt, int selectmask, const string &name="", const string &type="", int flag=0, int style=0) |
Options & | newSubSection (const Options &opt, const string &name="", const string &type="", int flag=0, int style=0) |
Options & | newSubSection (const Options &opt, const string &name, int flag, int style=0) |
Options & | newSubSubSection (const Options &opt, int selectmask, const string &name="", const string &type="", int flag=0, int style=0) |
Options & | newSubSubSection (const Options &opt, const string &name="", const string &type="", int flag=0, int style=0) |
Options & | newSubSubSection (const Options &opt, const string &name, int flag, int style=0) |
Options & | addSection (const Options &opt, int selectmask, const string &name="", const string &type="", int flag=0, int style=0) |
Options & | addSection (const Options &opt, const string &name="", const string &type="", int flag=0, int style=0) |
Options & | addSection (const Options &opt, const string &name, int flag, int style=0) |
Options & | insertSection (const Options &opt, int selectmask, const string &name, const string &atpattern, const string &type="", int flag=0, int style=0) |
Options & | insertSection (const Options &opt, const string &name, const string &atpattern, const string &type="", int flag=0, int style=0) |
Options & | insertSection (const Options &opt, const string &name, const string &atpattern, int flag, int style=0) |
Options & | newSection (Options *opt, bool newparent=false) |
Options & | addSection (Options *opt, bool newparent=false) |
Options & | insertSection (Options *opt, const string &atpattern, bool newparent=false) |
Options & | newSections (Options *opt, bool newparent=false) |
void | endSection (void) |
void | clearSections (void) |
void | setSection (Options &opt) |
void | lastSection (void) |
int | up (void) |
int | down (void) |
Parameter & | setDefault (const string &name) |
Options & | setDefaults (int flags=0) |
Parameter & | setToDefault (const string &name) |
Options & | setToDefaults (int flags=0) |
Options & | erase (iterator p) |
Options & | erase (section_iterator p) |
Options & | erase (Options *s) |
Options & | erase (const string &pattern) |
Options & | erase (int selectflag) |
Options & | pop (void) |
Options & | popSection (void) |
Options & | flatten (Options *root=0) |
Options & | clear (bool revert=true) |
int | size (void) const |
int | size (int selectflag) const |
bool | empty (void) const |
int | parameterSize (void) const |
int | parameterSize (int flags) const |
int | sectionsSize (void) const |
int | sectionsSize (int flags) const |
bool | exist (const string &pattern) const |
bool | existSection (const string &pattern) const |
Options & | setFlags (int flags, int selectflag=0) |
Options & | addFlags (int flags, int selectflag=0) |
Options & | delFlags (int flags, int selectflag=0) |
Options & | setValueTypeFlags (int flags, int typemask) |
Options & | addValueTypeFlags (int flags, int typemask) |
Options & | delValueTypeFlags (int flags, int typemask) |
Options & | setStyles (int style, int selectflag=0) |
Options & | addStyles (int style, int selectflag=0) |
Options & | delStyles (int style, int selectflag=0) |
int | styleSize (int style) const |
Options & | setValueTypeStyles (int style, int typemask) |
Options & | addValueTypeStyles (int style, int typemask) |
Options & | delValueTypeStyles (int style, int typemask) |
int | nameWidth (int selectmask=0, bool detailed=false, bool escape=false) const |
string | save (int selectmask=0, int flags=0) const |
ostream & | save (ostream &str, const string &start="", int selectmask=0, int flags=0, int width=-1) const |
ostream & | save (ostream &str, const string &textformat, const string &numberformat, const string &boolformat="%i=%b", const string &dateformat="%i=%04Y-%02m-%02d", const string &timeformat="%i=%02H:%02M:%02S", const string §ionformat="%i", int selectmask=0, const string &start="") const |
ostream & | saveXML (ostream &str, int selectmask=0, int flags=0, int level=0, int indent=4) const |
Options & | read (const string &opttxt, int flag, const string &assignment=":=", const string &separator=",;", int *indent=0) |
Options & | read (const string &opttxt, const string &assignment=":=", const string &separator=",;") |
istream & | read (istream &str, int flag, const string &assignment=":=", const string &comment="#", const string &stop="", Str *line=0) |
istream & | read (istream &str, const string &assignment=":=", const string &comment="#", const string &stop="", Str *line=0) |
Options & | read (const StrQueue &sq, int flag=0, const string &assignment=":=") |
bool | read (const Parameter &p, int flag=0) |
Options & | read (const Options &o, int flags=0, int flag=0) |
bool | readAppend (const Parameter &p) |
Options & | readAppend (const Options &o, int flags=0) |
Options & | load (const Str &opttxt, const string &assignment=":=", const string &separator=",;", int *indent=0, int *indentspacing=0, int *level=0) |
istream & | load (istream &str, const string &assignment=":=", const string &comment="#", const string &stop="", string *line=0) |
Options & | load (const StrQueue &sq, const string &assignment=":=") |
virtual void | notify (void) |
void | callNotifies (void) |
bool | setNotify (bool notify=true) |
bool | unsetNotify (void) |
bool | notifying (void) const |
Protected Member Functions | |
virtual void | initOptions (void) |
Protected Member Functions inherited from Device | |
void | setDeviceType (int type) |
void | setDeviceClass (const string &deviceclass) |
void | setDeviceFile (const string &devicefile) |
void | setDeviceName (const string &devicename) |
void | setDeviceVendor (const string &devicevendor) |
void | addInfo (void) |
void | lock (void) const |
void | unlock (void) const |
QMutex * | mutex (void) const |
Protected Attributes | |
HoopParams | Hoop [MaxHoops] |
int | Hoops |
Protected Attributes inherited from Device | |
Options | Info |
Options | Settings |
Static Protected Attributes | |
static const int | MaxHoops = 5 |
Additional Inherited Members | |
Static Public Member Functions inherited from Device | |
static int | deviceTypes (void) |
static string | deviceTypeStr (int type) |
static string | getErrorStr (int ern) |
Static Public Member Functions inherited from Options | |
static double | floorLog10 (double v) |
static double | floor10 (double v, double scale=1.0) |
static double | ceil10 (double v, double scale=1.0) |
Static Public Attributes inherited from Device | |
static const int | NotOpen = -1 |
static const int | InvalidDevice = -2 |
static const int | ReadError = -3 |
static const int | WriteError = -4 |
static const int | InvalidParam = -5 |
Static Public Attributes inherited from Options | |
static const int | NonDefault = Parameter::NonDefault |
static const long | TabSection = 0x04000000 |
Virtual class for setting up an analog trigger device.
A trigger device sets it output to high if a certain type of event was detected on its input. On a different type of input event the output is set back to low. The event types supported by the Trigger interface are threshold crossings, peaks, and troughs. By the setCrossing() and setPeakTrough() functions, these events can be associated with the actions "set output to high" (AboveSet, BelowSet), "set output to low" (AboveReset, BelowReset), or "ignore" (AboveIgnore, BelowIgnore). Always call clear() before specifying new trigger settings with setCrossing() or setPeakTrough()!
The trigger settings need to be activated by calling activate(). The trigger device can be stopped to emit trigger signals by calling disable().
Only the activate() and disable() functions need to be implemented along with the open(), isOpen(), and close() functions. Towards the end of the open() function you should call set() for setting trigger parameters from the supplied options, followed by activate().
In case you want to use a trigger device within RELACS, your DigitalIO implementation needs to provide a void default constructor (i.e. with no parameters) that does not open the device. Also, include the header file <relacs/relacsplugin.h>
and make the Trigger device known to RELACS with the addTrigger
( ClassNameOfYourTriggerImplementation, PluginSetName ) macro.
enum BelowActions |
The actions to be taken for a trigger event that falls below the corresponding threshold level (threshold crossing from above, peak/trough below threshold).
Enumerator | |
---|---|
BelowIgnore |
Ignore the event. |
BelowSet |
Set the level of the trigger output to high. |
BelowReset |
Reset the level of the trigger output to low. |
BelowMask |
Bitmask for the BelowActions. |
enum AboveActions |
The actions to be taken for a trigger event that falls above the corresponding threshold level (threshold crossing from below, peak/trough above threshold).
Enumerator | |
---|---|
AboveIgnore |
Ignore the event. |
AboveSet |
Set the level of the trigger output to high. |
AboveReset |
Reset the level of the trigger output to low. |
AboveMask |
Bitmask for the AboveActions. |
Trigger | ( | void | ) |
References Trigger::initOptions().
Trigger | ( | const string & | deviceclass | ) |
Construct a Trigger Device with class deviceclass.
References Trigger::initOptions().
void setCrossing | ( | int | mode, |
double | level | ||
) |
Setup a single threshold crossing detector.
[in] | level | is the threshold level. |
[in] | mode | determines what to do if the signal crosses the threshold. It is a combination (OR) of one of the BelowActions and one of the AboveActions. |
References Trigger::HoopParams::ACrossing, Trigger::HoopParams::ALevel, Trigger::HoopParams::APeak, Trigger::HoopParams::ATrough, Trigger::HoopParams::BCrossing, Trigger::HoopParams::BLevel, Trigger::HoopParams::BPeak, Trigger::HoopParams::BTrough, Trigger::Hoop, and Trigger::Hoops.
Referenced by Trigger::setFalling(), Trigger::setFallingHysteresis(), Trigger::setRising(), Trigger::setRisingHysteresis(), and Trigger::setWindow().
void setRising | ( | double | level | ) |
Setup the trigger output to be high as long as the signal is above the threshold (high mode). This is a shortcut for setCrossing( AboveSet | BelowReset, level ).
[in] | level | the level of the threshold. |
References Trigger::AboveSet, Trigger::BelowReset, and Trigger::setCrossing().
Referenced by Trigger::set().
void setFalling | ( | double | level | ) |
Setup the trigger output to be high as long as the signal is below the threshold (low mode). This is a shortcut for setCrossing( AboveReset | BelowSet, level ).
[in] | level | the level of the threshold. |
References Trigger::AboveReset, Trigger::BelowSet, and Trigger::setCrossing().
Referenced by Trigger::set().
void setCrossing | ( | int | amode, |
double | alevel, | ||
int | bmode, | ||
double | blevel | ||
) |
Setup a two-threshold crossing detector.
[in] | alevel | is the level of the lower of the two thresholds. |
[in] | amode | determines what to do if the signal crosses the lower threshold. It is a combination (OR) of one of the BelowActions and one of the AboveActions. |
[in] | blevel | is the level of the higher of the two thresholds. |
[in] | bmode | determines what to do if the signal crosses the higher threshold. It is a combination (OR) of one of the BelowActions and one of the AboveActions. |
References Trigger::HoopParams::ACrossing, Trigger::HoopParams::ALevel, Trigger::HoopParams::BCrossing, Trigger::HoopParams::BLevel, Trigger::Hoop, and Trigger::Hoops.
void setRisingHysteresis | ( | double | alevel, |
double | blevel | ||
) |
Setup the trigger output to be high if the signal is above the higher threshold. The trigger output is set low if the signal falls below the lower threshold (hysteresis high mode). This is a shortcut for setCrossing( BelowReset, alevel, AboveSet, blevel ).
[in] | alevel | the level of the lower threshold. |
[in] | blevel | the level of the higher threshold. |
References Trigger::AboveSet, Trigger::BelowReset, and Trigger::setCrossing().
Referenced by Trigger::set().
void setFallingHysteresis | ( | double | alevel, |
double | blevel | ||
) |
Setup the trigger output to be high if the signal is below the lower threshold. The trigger output is set low if the signal rises above the higher threshold (hysteresis low mode). This is a shortcut for setCrossing( BelowSet, alevel, AboveReset, blevel ).
[in] | alevel | the level of the lower threshold. |
[in] | blevel | the level of the higher threshold. |
References Trigger::AboveReset, Trigger::BelowSet, and Trigger::setCrossing().
Referenced by Trigger::set().
void setWindow | ( | double | alevel, |
double | blevel | ||
) |
Setup the trigger output to be high if the signal is inbetween the lower and the higher threshold. Above the higher threshold and below the lower threshold the trigger output is set low (middle mode or window mode). This is a shortcut for setCrossing( AboveSet | BelowReset, alevel, AboveReset | BelowSet, blevel ).
[in] | alevel | the level of the lower threshold. |
[in] | blevel | the level of the higher threshold. |
References Trigger::AboveReset, Trigger::AboveSet, Trigger::BelowReset, Trigger::BelowSet, and Trigger::setCrossing().
Referenced by Trigger::set().
void setPeakTrough | ( | double | threshold, |
int | peakamode, | ||
int | troughamode, | ||
double | alevel, | ||
int | peakbmode, | ||
int | troughbmode, | ||
double | blevel | ||
) |
Setup a peak/trough detector.
[in] | threshold | is the threshold used for detecting peaks and troughs (only peaks and troughs that differ by more than threshold are detected. If threshold is zero, all peaks and troughs are detected.) |
[in] | alevel | is the level of the lower of the two thresholds. |
[in] | peakamode | determines what to do if a peak is above or below the lower threshold. |
[in] | troughamode | determines what to do if a trough is above or below the lower threshold. |
[in] | blevel | is the level of the higher of the two thresholds. |
[in] | peakbmode | determines what to do if a peak is above or below the higher threshold. |
[in] | troughbmode | determines what to do if a trough is above or below the higher threshold. |
peakamode, troughamode, peakbmode, and troughbmode are all combinations (OR) of one of the BelowActions and one of the AboveActions.
References Trigger::HoopParams::ALevel, Trigger::HoopParams::APeak, Trigger::HoopParams::ATrough, Trigger::HoopParams::BLevel, Trigger::HoopParams::BPeak, Trigger::HoopParams::BTrough, Trigger::Hoop, Trigger::Hoops, and Trigger::HoopParams::Threshold.
Referenced by Trigger::setPeak(), and Trigger::setTrough().
void setPeak | ( | double | threshold | ) |
Trigger at any detected peak. Shortcut for setPeakTrough( threshold, AboveSet | BelowSet, AboveReset | BelowReset, 0.0, 0, 0, 0.0 ).
[in] | threshold | is the threshold used for detecting peaks and troughs (only peaks and troughs that differ by more than threshold are detected. |
References Trigger::AboveReset, Trigger::AboveSet, Trigger::BelowReset, Trigger::BelowSet, and Trigger::setPeakTrough().
Referenced by Trigger::set().
void setTrough | ( | double | threshold | ) |
Trigger at any detected trough. Shortcut for setPeakTrough( threshold, AboveReset | BelowReset, AboveSet | BelowSet, 0.0, 0, 0, 0.0 ).
[in] | threshold | is the threshold used for detecting peaks and troughs (only peaks and troughs that differ by more than threshold are detected. |
References Trigger::AboveReset, Trigger::AboveSet, Trigger::BelowReset, Trigger::BelowSet, and Trigger::setPeakTrough().
Referenced by Trigger::set().
void setPeak | ( | double | threshold, |
double | level | ||
) |
Trigger at detected peaks that are above the specified level. Shortcut for setPeakTrough( threshold, AboveSet, AboveReset | BelowReset, level, 0, 0, 0.0 ).
[in] | threshold | is the threshold used for detecting peaks and troughs (only peaks and troughs that differ by more than threshold are detected. |
[in] | level | the peak must be above this level. |
References Trigger::AboveReset, Trigger::AboveSet, Trigger::BelowReset, and Trigger::setPeakTrough().
void setTrough | ( | double | threshold, |
double | level | ||
) |
Trigger at detected troughs that are below the specified level. Shortcut for setPeakTrough( threshold, AboveReset | BelowReset, BelowSet, level, 0, 0, 0.0 ).
[in] | threshold | is the threshold used for detecting peaks and troughs (only peaks and troughs that differ by more than threshold are detected. |
[in] | level | the trough must be below this level. |
References Trigger::AboveReset, Trigger::BelowReset, Trigger::BelowSet, and Trigger::setPeakTrough().
void setPeak | ( | double | threshold, |
double | alevel, | ||
double | blevel | ||
) |
Trigger at detected peaks that are above the specified level alevel and below the specified level blevel. Shortcut for setPeakTrough( threshold, AboveSet | BelowReset, AboveReset | BelowReset, alevel, AboveReset | BelowSet, 0, blevel ).
[in] | threshold | is the threshold used for detecting peaks and troughs (only peaks and troughs that differ by more than threshold are detected. |
[in] | alevel | the peak must be above this level. |
[in] | blevel | the peak must be below this level (alevel < blevel). |
References Trigger::AboveReset, Trigger::AboveSet, Trigger::BelowReset, Trigger::BelowSet, and Trigger::setPeakTrough().
void setTrough | ( | double | threshold, |
double | alevel, | ||
double | blevel | ||
) |
Trigger at detected troughs that are above the specified level alevel and below the specified level blevel. Shortcut for setPeakTrough( threshold, AboveReset | BelowReset, AboveSet | BelowReset, alevel, 0, AboveReset | BelowSet, blevel ).
[in] | threshold | is the threshold used for detecting peaks and troughs (only peaks and troughs that differ by more than threshold are detected. |
[in] | alevel | the trough must be above this level. |
[in] | blevel | the trough must be below this level (alevel < blevel). |
References Trigger::AboveReset, Trigger::AboveSet, Trigger::BelowReset, Trigger::BelowSet, and Trigger::setPeakTrough().
int set | ( | void | ) |
Read parameter from opts and call the corresponding setCrossing() or setPeakTrough() function. The following parameter are used:
type:
the type of the trigger event ("rising", "falling", "risinghysteresis", "fallinghysteresis", "window", "peak", "trough", "peakabove", "troughbelow", "peakwindow", "troughwindow", corresponding to the setRising(), setFalling(), setRisingHysteresis(), setFallingHysteresis(), setWindow(), setPeak( double ), setTrough( double ), setPeak( double, double ), setTrough( double, double ), setPeak( double, double, double ), setTrough( double, double, double ), respectively. level:
the level for the trigger events that take one level into account. alevel:
the lower level for the trigger events that take two levels into account. blevel:
the higher level for the trigger events that take two levels into account. threshold:
the threshold parameter for detecting peak and troughs. References Trigger::clear(), Options::number(), Trigger::setFalling(), Trigger::setFallingHysteresis(), Trigger::setPeak(), Trigger::setRising(), Trigger::setRisingHysteresis(), Trigger::setTrough(), Trigger::setWindow(), and Options::text().
int addHoop | ( | double | delay, |
double | width | ||
) |
Add a new hoop to the trigger chain. All subsequent calls to the set* functions configure the new hoop.
[in] | delay | the time relative to the first trigger event after which the trigger of this hoop has to occur. |
[in] | width | the time interval during which the trigger of this hoop has to occur. |
References Trigger::HoopParams::ACrossing, Trigger::HoopParams::ALevel, Trigger::HoopParams::APeak, Trigger::HoopParams::ATrough, Trigger::HoopParams::BCrossing, Trigger::HoopParams::BLevel, Trigger::HoopParams::BPeak, Trigger::HoopParams::BTrough, Trigger::HoopParams::Delay, Trigger::Hoop, Trigger::Hoops, Trigger::MaxHoops, Trigger::HoopParams::Threshold, and Trigger::HoopParams::Width.
void clear | ( | void | ) |
Clear all settings. The next call of a set* function will specify the first hoop.
References Trigger::HoopParams::ACrossing, Trigger::HoopParams::ALevel, Trigger::HoopParams::APeak, Trigger::HoopParams::ATrough, Trigger::HoopParams::BCrossing, Trigger::HoopParams::BLevel, Trigger::HoopParams::BPeak, Trigger::HoopParams::BTrough, Trigger::Hoop, Trigger::Hoops, and Trigger::HoopParams::Threshold.
Referenced by Trigger::reset(), and Trigger::set().
void setSettings | ( | void | ) |
Update the settings() of the device with the current trigger parameter.
References Options::addText(), and Options::clear().
|
pure virtual |
Call this function to transfer all settings to the trigger device and to activate them.
The implementation of this function has to read out the Hoop array and configure the device accordingly. Note that the number of configured hoops is Hoops plus one. Any functionality of this interface that is not supported by the device should be gracefully ignored. Also the settings of the device should be updated, e.g. by calling setSettings().
|
pure virtual |
Disable the trigger device, i.e. no more trigger events will be emitted.
Referenced by Trigger::reset().
|
virtual |
Disables the trigger device and clears all hoops.
Reimplemented from Device.
References Trigger::clear(), and Trigger::disable().
|
protectedvirtual |
Intializes available options
Reimplemented from Device.
References Options::addNumber(), and Options::addSelection().
Referenced by Trigger::Trigger().
|
staticprotected |
Maximum number of supported trigger hoops.
Referenced by Trigger::addHoop().
|
protected |
The parameter of the trigger hoops.
Referenced by Trigger::addHoop(), Trigger::clear(), Trigger::setCrossing(), and Trigger::setPeakTrough().
|
protected |
The number of hoops minus one.
Referenced by Trigger::addHoop(), Trigger::clear(), Trigger::setCrossing(), and Trigger::setPeakTrough().