diff options
Diffstat (limited to 'spectro/i1d3.h')
-rw-r--r-- | spectro/i1d3.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/spectro/i1d3.h b/spectro/i1d3.h index 96de478..6d0eb85 100644 --- a/spectro/i1d3.h +++ b/spectro/i1d3.h @@ -80,7 +80,8 @@ typedef enum { i1d3_munkdisp = 1, /* ColorMunki Display */ i1d3_oem = 2, /* OEM */ i1d3_nec_ssp = 3, /* NEC SpectraSensor Pro */ - i1d3_quato_sh3 = 4 /* Quato Silver Haze 3 */ + i1d3_quato_sh3 = 4, /* Quato Silver Haze 3 */ + i1d3_hp_dreamc = 5 /* HP DreameColor */ } i1d3_dtype; /* Measurement mode */ @@ -106,6 +107,7 @@ struct _i1d3 { /* (Only accurate if it needed unlocking). */ int status; /* 0 if status is ok (not sure what this is) */ char serial_no[21]; /* "I1-11.A-01.100999.02" or "CM-11.A-01.100999.02" */ + char vers_no[11]; /* "A-01", "A-02" */ char prod_name[32]; /* "i1Display3 " or "ColorMunki Display" */ int prod_type; /* 16 bit product type number. i1d3_disppro = 0x0001, */ /* i1d3_munkdisp = 0x0002 */ @@ -126,9 +128,11 @@ struct _i1d3 { int icx; /* Internal calibration matrix index, 11 = Raw */ int cbid; /* calibration base ID, 0 if not a base */ int refrmode; /* nz if in refresh display mode/double int. time */ - double ccmat[3][3]; /* Optional colorimeter correction matrix */ icxObserverType obType; /* ccss observer to use */ xspect custObserver[3]; /* Custom ccss observer to use */ + double ccmat[3][3]; /* Optional colorimeter correction matrix, unity if none. */ + xspect *samples; /* Copy of current calibration spectral samples, NULL if none */ + int nsamp; /* Number of samples, 0 if none */ /* Computed factors and state */ int rrset; /* Flag, nz if the refresh rate has been determined */ @@ -136,8 +140,10 @@ struct _i1d3 { double refrate; /* Measured refresh rate in Hz */ int refrvalid; /* nz if refrate is valid */ double clk_freq; /* Clock frequency (12Mhz) */ + double omininttime; /* Override minimum integration time = 0.0 = none */ double dinttime; /* default integration time = 0.2 seconds */ - double inttime; /* current integration time = 0.2 seconds */ + double mininttime; /* current minimum integration time (doubled for refresh) */ + double inttime; /* current (quantized, doubled) integration time = 0.2 seconds */ double transblend; /* Blend between fixed and adaptive integration */ /* at low light levels */ @@ -147,6 +153,7 @@ struct _i1d3 { double led_period, led_on_time_prop, led_trans_time_prop; /* Pulse state */ athread *th; /* Diffuser position monitoring thread */ + volatile int th_en; /* Enable updating diffuser possition */ volatile int th_term; /* nz to terminate thread */ volatile int th_termed; /* nz when thread terminated */ int dpos; /* Diffuser position, 0 = display, 1 = ambient */ |