summaryrefslogtreecommitdiff
path: root/spectro/spyd2.h
diff options
context:
space:
mode:
Diffstat (limited to 'spectro/spyd2.h')
-rw-r--r--spectro/spyd2.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/spectro/spyd2.h b/spectro/spyd2.h
index 2c34d88..923234f 100644
--- a/spectro/spyd2.h
+++ b/spectro/spyd2.h
@@ -74,6 +74,9 @@
/* Configuration */
#define SPYD2_DISP_SEL_RANGE 0x40 /* Calibration selection is out of range */
+/* User errors */
+#define SPYD2_NO_REFRESH_DET 0x50 /* Calibration selection is out of range */
+
/* SPYD2/3 communication object */
struct _spyd2 {
INST_OBJ_BASE
@@ -94,6 +97,7 @@ struct _spyd2 {
/* Spyder2 = 3 */
/* Spyder3 = 4 */
/* Spyder4 = 7 */
+ /* Spyder5 = 10 */
unsigned int fbits; /* 6:B Feature bits 0,1,2,3 correspond to calibration types */
/* CRT/UNK, LCD/NORM, TOK, CRT/UNK */
@@ -131,7 +135,7 @@ struct _spyd2 {
/* This might be Y only weightings for the 7 sensor values, */
/* with no offset value (TOK type ?). */
- /* hwver 7 (Spyder 4) uses computed calibrations */
+ /* hwver 7 & 10 (Spyder 4/5) uses computed calibrations */
xspect sens[7]; /* Sensor sensitivity curves in Hz per mW/nm/m^2 */
/* Computed factors and state */
@@ -140,9 +144,11 @@ struct _spyd2 {
int ndtlist; /* Number of valid dtlist entries */
int refrmode; /* 0 for constant, 1 for refresh display */
- int cbid; /* calibration base ID, 0 if not a base */
+ int cbid; /* current calibration base ID, 0 if not a base */
+ int ucbid; /* Underlying base ID if being used for matrix, 0 othewise */
int icx; /* Bit 0: Cal table index, 0 = CRT, 1 = LCD/normal */
/* Bits 31-1: Spyder 4 spectral cal index, 0..spyd4_nocals-1 */
+ disptech dtech; /* Display technology enum */
int rrset; /* Flag, nz if the refresh rate has been determined */
double refrate; /* Current refresh rate. Set to DEFREFR if not measurable */
int refrvalid; /* nz if refrate was measured */
@@ -165,6 +171,11 @@ struct _spyd2 {
/* Constructor */
extern spyd2 *new_spyd2(icoms *icom, instType itype);
+/* PLD pattern loader */
+/* id = 0 for Spyder 1, 1 for Spyder 2 */
+/* Return 0 if Spyder firmware is not available */
+/* Return 1 if Spyder firmware is available */
+extern int setup_spyd2(int id);
#define SPYD2_H
#endif /* SPYD2_H */