125 lines
3.7 KiB
C
125 lines
3.7 KiB
C
#ifndef DTP41_H
|
|
|
|
/*
|
|
* Argyll Color Management System
|
|
*
|
|
* Xrite DTP41 related defines
|
|
*
|
|
* Author: Graeme W. Gill
|
|
* Date: 10/3/2001
|
|
*
|
|
* Copyright 1996 - 2013 Graeme W. Gill
|
|
* All rights reserved.
|
|
*
|
|
* This material is licenced under the GNU GENERAL PUBLIC LICENSE Version 2 or later :-
|
|
* see the License2.txt file for licencing details.
|
|
*
|
|
* Derived from DTP51.h
|
|
*/
|
|
|
|
/*
|
|
If you make use of the instrument driver code here, please note
|
|
that it is the author(s) of the code who are responsibility
|
|
for its operation. Any problems or queries regarding driving
|
|
instruments with the Argyll drivers, should be directed to
|
|
the Argyll's author(s), and not to any other party.
|
|
|
|
If there is some instrument feature or function that you
|
|
would like supported here, it is recommended that you
|
|
contact Argyll's author(s) first, rather than attempt to
|
|
modify the software yourself, if you don't have firm knowledge
|
|
of the instrument communicate protocols. There is a chance
|
|
that an instrument could be damaged by an incautious command
|
|
sequence, and the instrument companies generally cannot and
|
|
will not support developers that they have not qualified
|
|
and agreed to support.
|
|
*/
|
|
|
|
#include "inst.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Fake Error codes */
|
|
#define DTP41_INTERNAL_ERROR 0x61 /* Internal software error */
|
|
#define DTP41_COMS_FAIL 0x62 /* Communication failure */
|
|
#define DTP41_UNKNOWN_MODEL 0x63 /* Not a DPT51 or DTP52 */
|
|
#define DTP41_DATA_PARSE_ERROR 0x64 /* Read data parsing error */
|
|
|
|
/* Real error code */
|
|
#define DTP41_OK 0x00
|
|
|
|
#define DTP41_MEASUREMENT_STATUS 0x01
|
|
#define DTP41_CALIBRATION_STATUS 0x02
|
|
#define DTP41_KEYPRESS_STATUS 0x03
|
|
#define DTP41_DEFAULTS_LOADED_STATUS 0x04
|
|
|
|
#define DTP41_BAD_COMMAND 0x11
|
|
#define DTP41_BAD_PARAMETERS 0x12
|
|
#define DTP41_PRM_RANGE_ERROR 0x13
|
|
#define DTP41_BUSY 0x14
|
|
|
|
#define DTP41_MEASUREMENT_ERROR 0x20
|
|
#define DTP41_TIMEOUT 0x21
|
|
#define DTP41_BAD_STRIP 0x22
|
|
#define DTP41_BAD_COLOR 0x23
|
|
#define DTP41_BAD_STEP 0x24
|
|
#define DTP41_BAD_PASS 0x25
|
|
#define DTP41_BAD_PATCHES 0x26
|
|
#define DTP41_BAD_READING 0x27
|
|
#define DTP41_NEEDS_CAL_ERROR 0x28
|
|
#define DTP41_CAL_FAILURE_ERROR 0x29
|
|
|
|
#define DTP41_INSTRUMENT_ERROR 0x30
|
|
#define DTP41_LAMP_ERROR 0x31
|
|
#define DTP41_FILTER_ERROR 0x32
|
|
#define DTP41_FILTER_MOTOR_ERROR 0x33
|
|
#define DTP41_DRIVE_MOTOR_ERROR 0x34
|
|
#define DTP41_KEYPAD_ERROR 0x35
|
|
#define DTP41_DISPLAY_ERROR 0x36
|
|
#define DTP41_MEMORY_ERROR 0x37
|
|
#define DTP41_ADC_ERROR 0x38
|
|
#define DTP41_PROCESSOR_ERROR 0x39
|
|
#define DTP41_BATTERY_ERROR 0x3A
|
|
#define DTP41_BATTERY_LOW_ERROR 0x3B
|
|
#define DTP41_INPUT_POWER_ERROR 0x3C
|
|
#define DTP41_TEMPERATURE_ERROR 0x3D
|
|
#define DTP41_BATTERY_ABSENT_ERROR 0x3E
|
|
#define DTP41_TRAN_LAMP_ERROR 0x3F
|
|
#define DTP41_INVALID_COMMAND_ERROR 0x40
|
|
|
|
/* DTP41 communication object */
|
|
struct _dtp41 {
|
|
/* **** base instrument class **** */
|
|
INST_OBJ_BASE
|
|
|
|
/* *** DTP41 private data **** */
|
|
inst_mode cap; /* Instrument mode capability */
|
|
inst2_capability cap2; /* Instrument capability */
|
|
inst3_capability cap3; /* Instrument capability 3 */
|
|
inst_mode mode; /* Currently instrument mode */
|
|
inst_mode lastmode; /* Last requested mode */
|
|
|
|
int nstaticr; /* Number of static readings */
|
|
int need_cal; /* needs calibration */
|
|
inst_opt_type trig; /* Reading trigger mode */
|
|
|
|
xcalstd native_calstd; /* Instrument native calibration standard */
|
|
xcalstd target_calstd; /* Returned calibration standard */
|
|
|
|
int custfilt_en; /* Custom filter enabled */
|
|
xspect custfilt; /* Custom filter */
|
|
|
|
}; typedef struct _dtp41 dtp41;
|
|
|
|
/* Constructor */
|
|
extern dtp41 *new_dtp41(icoms *icom, instType itype);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#define DTP41_H
|
|
#endif /* DTP41_H */
|