Main Page | Files | Data Structures | Functions | Global Variables |
gpiv-trig.h File Reference

module for triggering lightsource(s) and camera(s) using RTAI More...

Go to the source code of this file.

Data Structures

struct  __GpivTrigTime
 Trigger parameters. More...
 
struct  __GpivTrigPar
 Whether elements of __GpivTrigTime have been set. More...
 

Macros

#define GPIV_TRIGPAR_DEFAULT__CAP   250
 Default parameter for cam_acq_period of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_DEFAULT__LPW   0.02
 Default parameter for laser_trig_pw of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_DEFAULT__T2L   0.19
 Default parameter for time2laser of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_DEFAULT__DT   10
 Default parameter for dt of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_DEFAULT__MODE   2
 Default parameter for mode of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_DEFAULT__CYCLES   1
 Default parameter for cycles of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_DEFAULT__INCR_DT   1
 Default parameter for increment of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_KEY   "TRIG"
 Key of trigger parameters. More...
 
#define GPIV_TRIGPAR_KEY__CAP   "Ttime_cap"
 Key for cam_acq_period of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_KEY__LPW   "Ttime_lpw"
 Key for laser_trig_pw of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_KEY__T2L   "Ttime_t2l"
 Key for time2laser of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_KEY__DT   "Ttime_dt"
 Key for dt of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_KEY__MODE   "Ttime_mode"
 Key for mode of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_KEY__CYCLES   "Ttime_cycles"
 Key for cycles of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_KEY__INCR_DT   "Ttime_incr_dt"
 Key for increment of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_CAP_MIN   100
 Minimum value for cam_acq_period of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_LPW_MIN   0.02
 Minimum value for laser_trig_pw of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_T2L_MIN   0.19
 Minimum value for time2laser of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_DT_MIN   0.10
 Minimum value for dt of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_MODE_MIN   1
 Minimum value for mode of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_CYCLES_MIN   1
 Minimum value for cycles of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_INCR_DT_MIN   0.01
 Minimum value for increment of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_CAP_MAX   1000
 Maximum value for cam_acq_period of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_LPW_MAX   0.02
 Maximum value for laser_trig_pw of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_T2L_MAX   0.19
 Maximum value for time2laser of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_DT_MAX   100
 Maximum value for dt of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_MODE_MAX   6
 Maximum value for mode of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_CYCLES_MAX   1
 Maximum value for cycles of __GpivTrigTime. More...
 
#define GPIV_TRIGPAR_INCR_DT_MAX   20
 Maximum value for increment of __GpivTrigTime. More...
 
#define GPIV_NANO2MILI   0.001 * 0.001
 Constant to convert from nano ro milliseconds. More...
 
#define GPIV_MILI2NANO   1000 * 1000
 Constant to convert from milli to nanseconds. More...
 

Typedefs

typedef struct __GpivTrigTime GpivTrigTime
 
typedef struct __GpivTrigPar GpivTrigPar
 

Enumerations

enum  GpivFifo {
  GPIV_FIFO_TIMING_PARAMETER = 1, GPIV_FIFO_START_COMMAND, GPIV_FIFO_STOP_COMMAND, GPIV_FIFO_ERROR,
  GPIV_FIFO_JITTER
}
 Fifo values. More...
 
enum  GpivTimingMode {
  GPIV_TIMER_MODE__PERIODIC = 1, GPIV_TIMER_MODE__DURATION, GPIV_TIMER_MODE__ONE_SHOT_IRQ, GPIV_TIMER_MODE__TRIGGER_IRQ,
  GPIV_TIMER_MODE__INCREMENT, GPIV_TIMER_MODE__DOUBLE
}
 Operating mode. More...
 

Functions

gint gpiv_trig_openrtfs (gint *init, gint *trig, gint *stop, gint *error)
 Opens communication channels to camlasco-rtl kernel module. More...
 
void gpiv_trig_default_parameters (GpivTrigPar *trig_par_default, const gboolean force)
 Sets default GpivTrigPar parameter values. More...
 
void gpiv_trig_read_parameters (FILE *fp_par, GpivTrigPar *trig_par, const gboolean verbose)
 Read all GpivTrigPar parameters. More...
 
gchar * gpiv_trig_check_parameters_read (GpivTrigPar *trig_par, const GpivTrigPar *trig_par_default)
 Check out if all GpivTrigPar parameters have been read. More...
 
void gpiv_trig_parameters_set (GpivTrigPar *trig_par, const gboolean flag)
 Sets flags for __set variables of GpivTrigPar. More...
 
gchar * gpiv_trig_test_parameter (const GpivTrigPar *trig_par)
 Testing GpivTrigPar parameters on valid values. More...
 
void gpiv_trig_print_parameters (FILE *fp_par_out, const GpivTrigPar *trig_par)
 Prints GpivTrigPar parameters to fp_par_out. More...
 

Detailed Description

module for triggering lightsource(s) and camera(s) using RTAI

SOURCES: lib/trig.c, lib/trig_par.c

LAST MODIFICATION DATE:

Id
gpiv-trig.h,v 1.2 2008-04-09 06:10:28 gerber Exp

Definition in file gpiv-trig.h.

Macro Definition Documentation

◆ GPIV_MILI2NANO

#define GPIV_MILI2NANO   1000 * 1000

Constant to convert from milli to nanseconds.

Definition at line 95 of file gpiv-trig.h.

◆ GPIV_NANO2MILI

#define GPIV_NANO2MILI   0.001 * 0.001

Constant to convert from nano ro milliseconds.

Definition at line 94 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_CAP_MAX

#define GPIV_TRIGPAR_CAP_MAX   1000

Maximum value for cam_acq_period of __GpivTrigTime.

Definition at line 86 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_CAP_MIN

#define GPIV_TRIGPAR_CAP_MIN   100

Minimum value for cam_acq_period of __GpivTrigTime.

Definition at line 78 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_CYCLES_MAX

#define GPIV_TRIGPAR_CYCLES_MAX   1

Maximum value for cycles of __GpivTrigTime.

Definition at line 91 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_CYCLES_MIN

#define GPIV_TRIGPAR_CYCLES_MIN   1

Minimum value for cycles of __GpivTrigTime.

Definition at line 83 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_DEFAULT__CAP

#define GPIV_TRIGPAR_DEFAULT__CAP   250

Default parameter for cam_acq_period of __GpivTrigTime.

Definition at line 61 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_DEFAULT__CYCLES

#define GPIV_TRIGPAR_DEFAULT__CYCLES   1

Default parameter for cycles of __GpivTrigTime.

Definition at line 66 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_DEFAULT__DT

#define GPIV_TRIGPAR_DEFAULT__DT   10

Default parameter for dt of __GpivTrigTime.

Definition at line 64 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_DEFAULT__INCR_DT

#define GPIV_TRIGPAR_DEFAULT__INCR_DT   1

Default parameter for increment of __GpivTrigTime.

Definition at line 67 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_DEFAULT__LPW

#define GPIV_TRIGPAR_DEFAULT__LPW   0.02

Default parameter for laser_trig_pw of __GpivTrigTime.

Definition at line 62 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_DEFAULT__MODE

#define GPIV_TRIGPAR_DEFAULT__MODE   2

Default parameter for mode of __GpivTrigTime.

Definition at line 65 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_DEFAULT__T2L

#define GPIV_TRIGPAR_DEFAULT__T2L   0.19

Default parameter for time2laser of __GpivTrigTime.

Definition at line 63 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_DT_MAX

#define GPIV_TRIGPAR_DT_MAX   100

Maximum value for dt of __GpivTrigTime.

Definition at line 89 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_DT_MIN

#define GPIV_TRIGPAR_DT_MIN   0.10

Minimum value for dt of __GpivTrigTime.

Definition at line 81 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_INCR_DT_MAX

#define GPIV_TRIGPAR_INCR_DT_MAX   20

Maximum value for increment of __GpivTrigTime.

Definition at line 92 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_INCR_DT_MIN

#define GPIV_TRIGPAR_INCR_DT_MIN   0.01

Minimum value for increment of __GpivTrigTime.

Definition at line 84 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_KEY

#define GPIV_TRIGPAR_KEY   "TRIG"

Key of trigger parameters.

Definition at line 69 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_KEY__CAP

#define GPIV_TRIGPAR_KEY__CAP   "Ttime_cap"

Key for cam_acq_period of __GpivTrigTime.

Definition at line 70 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_KEY__CYCLES

#define GPIV_TRIGPAR_KEY__CYCLES   "Ttime_cycles"

Key for cycles of __GpivTrigTime.

Definition at line 75 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_KEY__DT

#define GPIV_TRIGPAR_KEY__DT   "Ttime_dt"

Key for dt of __GpivTrigTime.

Definition at line 73 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_KEY__INCR_DT

#define GPIV_TRIGPAR_KEY__INCR_DT   "Ttime_incr_dt"

Key for increment of __GpivTrigTime.

Definition at line 76 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_KEY__LPW

#define GPIV_TRIGPAR_KEY__LPW   "Ttime_lpw"

Key for laser_trig_pw of __GpivTrigTime.

Definition at line 71 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_KEY__MODE

#define GPIV_TRIGPAR_KEY__MODE   "Ttime_mode"

Key for mode of __GpivTrigTime.

Definition at line 74 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_KEY__T2L

#define GPIV_TRIGPAR_KEY__T2L   "Ttime_t2l"

Key for time2laser of __GpivTrigTime.

Definition at line 72 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_LPW_MAX

#define GPIV_TRIGPAR_LPW_MAX   0.02

Maximum value for laser_trig_pw of __GpivTrigTime.

Definition at line 87 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_LPW_MIN

#define GPIV_TRIGPAR_LPW_MIN   0.02

Minimum value for laser_trig_pw of __GpivTrigTime.

Definition at line 79 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_MODE_MAX

#define GPIV_TRIGPAR_MODE_MAX   6

Maximum value for mode of __GpivTrigTime.

Definition at line 90 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_MODE_MIN

#define GPIV_TRIGPAR_MODE_MIN   1

Minimum value for mode of __GpivTrigTime.

Definition at line 82 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_T2L_MAX

#define GPIV_TRIGPAR_T2L_MAX   0.19

Maximum value for time2laser of __GpivTrigTime.

Definition at line 88 of file gpiv-trig.h.

◆ GPIV_TRIGPAR_T2L_MIN

#define GPIV_TRIGPAR_T2L_MIN   0.19

Minimum value for time2laser of __GpivTrigTime.

Definition at line 80 of file gpiv-trig.h.

Typedef Documentation

◆ GpivTrigPar

typedef struct __GpivTrigPar GpivTrigPar

Definition at line 148 of file gpiv-trig.h.

◆ GpivTrigTime

typedef struct __GpivTrigTime GpivTrigTime

Definition at line 126 of file gpiv-trig.h.

Enumeration Type Documentation

◆ GpivFifo

enum GpivFifo

Fifo values.

Enumerator
GPIV_FIFO_TIMING_PARAMETER 
GPIV_FIFO_START_COMMAND 
GPIV_FIFO_STOP_COMMAND 
GPIV_FIFO_ERROR 
GPIV_FIFO_JITTER 

Definition at line 102 of file gpiv-trig.h.

◆ GpivTimingMode

Operating mode.

Enumerator
GPIV_TIMER_MODE__PERIODIC 

Indefinite until interrupted.

GPIV_TIMER_MODE__DURATION 

During specific amount of cycles.

GPIV_TIMER_MODE__ONE_SHOT_IRQ 

Check.

Single shot after irq signal

GPIV_TIMER_MODE__TRIGGER_IRQ 

Check.

Trigger on irq signal

GPIV_TIMER_MODE__INCREMENT 

Incremented __GpivTrigTime::dt.

GPIV_TIMER_MODE__DOUBLE 

Check.

Double exposure

Definition at line 113 of file gpiv-trig.h.

Function Documentation

◆ gpiv_trig_check_parameters_read()

gchar* gpiv_trig_check_parameters_read ( GpivTrigPar trig_par,
const GpivTrigPar trig_par_default 
)

Check out if all GpivTrigPar parameters have been read.

Parameters
[in]trig_par_defaultdefault trigger parameters. If NULL, library default values are used.
[out]trig_partrigger parameters
Returns
NULL on success or *err_msg on failure

◆ gpiv_trig_default_parameters()

void gpiv_trig_default_parameters ( GpivTrigPar trig_par_default,
const gboolean  force 
)

Sets default GpivTrigPar parameter values.

Parameters
[in]forceflag to enforce parameters set to defaults
[out]trig_par_defaultstructure of triggering parameters
Returns
void

◆ gpiv_trig_openrtfs()

gint gpiv_trig_openrtfs ( gint *  init,
gint *  trig,
gint *  stop,
gint *  error 
)

Opens communication channels to camlasco-rtl kernel module.

Parameters
[in]initinitialization or uploading of trigger parameters
[in]trigtrigger signel
[in]stopstop signal
[in]errorerror signal
Returns
void

◆ gpiv_trig_parameters_set()

void gpiv_trig_parameters_set ( GpivTrigPar trig_par,
const gboolean  flag 
)

Sets flags for __set variables of GpivTrigPar.

Parameters
[in]flagflag to be set
[out]trig_partriggering parameters
Returns
void

◆ gpiv_trig_print_parameters()

void gpiv_trig_print_parameters ( FILE *  fp_par_out,
const GpivTrigPar trig_par 
)

Prints GpivTrigPar parameters to fp_par_out.

Parameters
[in]fp_par_outoutput file
[in]trig_partriggering parameters
Returns
void

◆ gpiv_trig_read_parameters()

void gpiv_trig_read_parameters ( FILE *  fp_par,
GpivTrigPar trig_par,
const gboolean  verbose 
)

Read all GpivTrigPar parameters.

Parameters
[in]fp_parfile pointer to parameter file
[out]trig_partriggering parameters
[in]verboseflag to print parametrs to stdout
Returns
void

◆ gpiv_trig_test_parameter()

gchar* gpiv_trig_test_parameter ( const GpivTrigPar trig_par)

Testing GpivTrigPar parameters on valid values.

Parameters
[in]trig_partrigger parameters
[out]trig_partrigger parameters
Returns
NULL on success or *err_msg on failure

Generated for libgpiv-0.6.1 by doxygen 1.8.13