more postponing of fixed point, and rework possibly buggy voter selection
[sparrow.git] / calibrate.h
blobd46b79bc4c66472abec591fbbddfa835a28d2dd1
1 #ifndef __SPARROW_CALIBRATE_H__
2 #define __SPARROW_CALIBRATE_H__
5 #define CALIBRATE_ON_MIN_T 2
6 #define CALIBRATE_ON_MAX_T 7
7 #define CALIBRATE_OFF_MIN_T 2
8 #define CALIBRATE_OFF_MAX_T 9
9 #define CALIBRATE_SELF_SIZE 24
11 #define CALIBRATE_MAX_VOTE_ERROR 5
12 #define CALIBRATE_MAX_BEST_ERROR 2
13 #define CALIBRATE_INITIAL_WAIT 72
14 #define CALIBRATE_RETRY_WAIT 16
16 #define CALIBRATE_SIGNAL_THRESHOLD 200
18 #define MAX_CALIBRATE_SHAPES 4
20 #define WAIT_COUNTDOWN (MAX(CALIBRATE_OFF_MAX_T, CALIBRATE_ON_MAX_T) + 3)
22 #define MAX_CALIBRATION_LAG 12
23 typedef struct lag_times_s {
24 //guint32 hits;
25 guint64 record;
26 } lag_times_t;
28 enum calibration_shape {
29 NO_SHAPE = 0,
30 RECTANGLE,
33 typedef struct sparrow_shape_s {
34 /*Calibration shape definition -- a rectangle.*/
35 enum calibration_shape shape;
36 gint x;
37 gint y;
38 gint w;
39 gint h;
40 } sparrow_shape_t;
43 typedef struct sparrow_calibrate_s {
44 /*calibration state, and shape and pattern definition */
45 gboolean on; /*for calibration pattern */
46 gint wait;
47 guint32 transitions;
48 guint32 incolour;
49 guint32 outcolour;
50 sparrow_shape_t shapes[MAX_CALIBRATE_SHAPES];
51 int n_shapes;
53 IplImage *in_ipl[SPARROW_N_IPL_IN];
54 lag_times_t *lag_table;
55 guint64 lag_record;
57 } sparrow_calibrate_t;
60 #endif