50#ifndef __LIBGPIV_TRIG_H__
51#define __LIBGPIV_TRIG_H__
61#define GPIV_TRIGPAR_DEFAULT__CAP 250
62#define GPIV_TRIGPAR_DEFAULT__LPW 0.02
63#define GPIV_TRIGPAR_DEFAULT__T2L 0.19
64#define GPIV_TRIGPAR_DEFAULT__DT 10
65#define GPIV_TRIGPAR_DEFAULT__MODE 2
66#define GPIV_TRIGPAR_DEFAULT__CYCLES 1
67#define GPIV_TRIGPAR_DEFAULT__INCR_DT 1
69#define GPIV_TRIGPAR_KEY "TRIG"
70#define GPIV_TRIGPAR_KEY__CAP "Ttime_cap"
71#define GPIV_TRIGPAR_KEY__LPW "Ttime_lpw"
72#define GPIV_TRIGPAR_KEY__T2L "Ttime_t2l"
73#define GPIV_TRIGPAR_KEY__DT "Ttime_dt"
74#define GPIV_TRIGPAR_KEY__MODE "Ttime_mode"
75#define GPIV_TRIGPAR_KEY__CYCLES "Ttime_cycles"
76#define GPIV_TRIGPAR_KEY__INCR_DT "Ttime_incr_dt"
78#define GPIV_TRIGPAR_CAP_MIN 100
79#define GPIV_TRIGPAR_LPW_MIN 0.02
80#define GPIV_TRIGPAR_T2L_MIN 0.19
81#define GPIV_TRIGPAR_DT_MIN 0.10
82#define GPIV_TRIGPAR_MODE_MIN 1
83#define GPIV_TRIGPAR_CYCLES_MIN 1
84#define GPIV_TRIGPAR_INCR_DT_MIN 0.01
86#define GPIV_TRIGPAR_CAP_MAX 1000
87#define GPIV_TRIGPAR_LPW_MAX 0.02
88#define GPIV_TRIGPAR_T2L_MAX 0.19
89#define GPIV_TRIGPAR_DT_MAX 100
90#define GPIV_TRIGPAR_MODE_MAX 6
91#define GPIV_TRIGPAR_CYCLES_MAX 1
92#define GPIV_TRIGPAR_INCR_DT_MAX 20
94#define GPIV_NANO2MILI 0.001 * 0.001
95#define GPIV_MILI2NANO 1000 * 1000
214 const gboolean verbose
void gpiv_trig_parameters_set(GpivTrigPar *trig_par, const gboolean flag)
Sets flags for __set variables of GpivTrigPar.
gint gpiv_trig_openrtfs(gint *init, gint *trig, gint *stop, gint *error)
Opens communication channels to camlasco-rtl kernel module.
gchar * gpiv_trig_test_parameter(const GpivTrigPar *trig_par)
Testing GpivTrigPar parameters on valid values.
gchar * gpiv_trig_check_parameters_read(GpivTrigPar *trig_par, const GpivTrigPar *trig_par_default)
Check out if all GpivTrigPar parameters have been read.
void gpiv_trig_default_parameters(GpivTrigPar *trig_par_default, const gboolean force)
Sets default GpivTrigPar parameter values.
void gpiv_trig_read_parameters(FILE *fp_par, GpivTrigPar *trig_par, const gboolean verbose)
Read all GpivTrigPar parameters.
@ GPIV_FIFO_START_COMMAND
@ GPIV_FIFO_TIMING_PARAMETER
GpivTimingMode
Operating mode.
@ GPIV_TIMER_MODE__ONE_SHOT_IRQ
Check.
@ GPIV_TIMER_MODE__PERIODIC
Indefinite until interrupted.
@ GPIV_TIMER_MODE__INCREMENT
Incremented __GpivTrigTime::dt.
@ GPIV_TIMER_MODE__DOUBLE
Check.
@ GPIV_TIMER_MODE__TRIGGER_IRQ
Check.
@ GPIV_TIMER_MODE__DURATION
During specific amount of cycles.
void gpiv_trig_print_parameters(FILE *fp_par_out, const GpivTrigPar *trig_par)
Prints GpivTrigPar parameters to fp_par_out.
Whether elements of __GpivTrigTime have been set.
gboolean ttime__dt__set
flag if dt has been defined
gboolean ttime__cam_acq_period__set
flag if cam_acq_period has been defined
gboolean ttime__laser_trig_pw__set
flag if laser_trig_pw has been defined
gboolean ttime__increment__set
flag if increment has been defined
gboolean ttime__time2laser__set
flag if time2laser has been defined
gboolean ttime__mode__set
flag if mode has been defined
gboolean ttime__cycles__set
flag if cycles has been defined
RTIME cam_acq_period
camera acquisition period time in ns (period)
RTIME increment
increment in dt (ms)
RTIME time2laser
time from laser trigger->Hi (tl) until laser pulse: 0.19 ms in ns
RTIME dt
time between 2 laser exposures in ns
RTIME laser_trig_pw
laser trigger pulse width in ns (tp)
gint cycles
number of cycles, equal to the number of image pairs to be recorded
enum GpivTimingMode mode
operating mode (indefinite/interrupt/definite)