From 22f703cab05b7cd368f4de9e03991b7664dc5022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 1 Sep 2014 13:56:46 +0200 Subject: Initial import of argyll version 1.5.1-8 --- spectro/dtp20.h | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 spectro/dtp20.h (limited to 'spectro/dtp20.h') diff --git a/spectro/dtp20.h b/spectro/dtp20.h new file mode 100644 index 0000000..f1e578a --- /dev/null +++ b/spectro/dtp20.h @@ -0,0 +1,139 @@ +#ifndef DTP41_H + +/* + * Argyll Color Correction System + * + * Xrite DTP20 related defines + * + * Author: Graeme W. Gill + * Date: 10/1/2007 + * + * 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 take 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" + +/* Fake Error codes */ +#define DTP20_INTERNAL_ERROR 0x81 /* Internal software error */ +#define DTP20_COMS_FAIL 0x82 /* Communication failure */ +#define DTP20_UNKNOWN_MODEL 0x83 /* Not a DPT51 or DTP52 */ +#define DTP20_DATA_PARSE_ERROR 0x84 /* Read data parsing error */ + +#define DTP20_NOT_EMPTY 0x89 /* Trying to read strips when not empty */ +#define DTP20_UNEXPECTED_STATUS 0x90 /* Instrument has unexpected status */ + +/* Real error code */ +#define DTP20_OK 0x00 + +#define DTP20_MEASUREMENT_STATUS 0x01 + +#define DTP20_BAD_COMMAND 0x11 +#define DTP20_BAD_PARAMETERS 0x12 +#define DTP20_PRM_RANGE_ERROR 0x13 +#define DTP20_BUSY 0x14 + +#define DTP20_MEASUREMENT_ERROR 0x20 +#define DTP20_TIMEOUT 0x21 +#define DTP20_BAD_STRIP 0x22 + +#define DTP20_NEEDS_CAL_ERROR 0x28 +#define DTP20_CAL_FAILURE_ERROR 0x29 + +#define DTP20_INSTRUMENT_ERROR 0x30 +#define DTP20_LAMP_ERROR 0x31 + +#define DTP20_BAD_TID 0x33 +#define DTP20_FLASH_ERASE_FAILURE 0x34 +#define DTP20_FLASH_WRITE_FAILURE 0x35 +#define DTP20_FLASH_VERIFY_FAILURE 0x36 +#define DTP20_MEMORY_ERROR 0x37 +#define DTP20_ADC_ERROR 0x38 +#define DTP20_PROCESSOR_ERROR 0x39 +#define DTP20_BATTERY_ERROR 0x3A +#define DTP20_BATTERY_LOW_ERROR 0x3B +#define DTP20_INPUT_POWER_ERROR 0x3C + +#define DTP20_BATTERY_ABSENT_ERROR 0x3E +#define DTP20_BAD_CONFIGURATION 0x3F + +#define DTP20_BAD_SPOT 0x41 +#define DTP20_END_OF_DATA 0x42 +#define DTP20_DBASE_PROFILE_NOT_EMPTY 0x43 +#define DTP20_MEMORY_OVERFLOW_ERROR 0x44 +#define DTP20_BAD_CALIBRATION 0x45 + +#define DTP20_CYAN_CAL_ERROR 0x50 +#define DTP20_MAGENTA_CAL_ERROR 0x51 +#define DTP20_YELLOW_CAL_ERROR 0x52 +#define DTP20_PATCH_SIZE_ERROR 0x53 +#define DTP20_FAIL_PAPER_CHECK 0x54 +#define DTP20_SHORT_SCAN_ERROR 0x55 +#define DTP20_STRIP_READ_ERROR 0x56 +#define DTP20_SHORT_TID_ERROR 0x57 +#define DTP20_SHORT_STRIP_ERROR 0x58 +#define DTP20_EDGE_COLOR_ERROR 0x59 +#define DTP20_SPEED_ERROR 0x5A +#define DTP20_UNDEFINED_SCAN_ERROR 0x5B +#define DTP20_INVALID_STRIP_ID 0x5C +#define DTP20_BAD_SERIAL_NUMBER 0x5D +#define DTP20_TID_ALREADY_SCANNED 0x5E +#define DTP20_PROFILE_DATABASE_FULL 0x5F + +#define DTP20_SPOT_DATABASE_FULL 0x60 +#define DTP20_TID_STRIP_MIN_ERROR 0x61 +#define DTP20_REREAD_DATABASE_FULL 0x62 +#define DTP20_STRIP_DEFINE_TOO_SHORT 0x63 +#define DTP20_STRIP_DEFINE_TOO_LONG 0x64 +#define DTP20_BAD_STRIP_DEFINE 0x65 + +#define DTP20_BOOTLOADER_MODE 0x7F + +/* DTP20 communication object */ +struct _dtp20 { + /* **** base instrument class **** */ + INST_OBJ_BASE + + /* *** DTP20 private data **** */ + inst_mode cap; /* Instrument mode capability */ + inst2_capability cap2; /* Instrument capability 2 */ + inst3_capability cap3; /* Instrument capability 3 */ + inst_mode mode; /* Currently instrument mode */ + + int need_cal; /* Got a need_cal error */ + inst_opt_type trig; /* Reading trigger mode */ + + int savix; /* Index of last saved spot reading read */ + +}; typedef struct _dtp20 dtp20; + +/* Constructor */ +extern dtp20 *new_dtp20(icoms *icom, instType itype); + + + +#define DTP20_H +#endif /* DTP20_H */ -- cgit v1.2.3