mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2025-11-15 07:38:12 +00:00
fix: calibration for egis0570
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -18,10 +18,13 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "drivers_api.h"
|
||||
|
||||
#ifndef __EGIS0570_H
|
||||
|
||||
#define __EGIS0570_H 1
|
||||
|
||||
|
||||
/*
|
||||
* Device data
|
||||
*/
|
||||
@@ -54,6 +57,33 @@
|
||||
|
||||
#define EGIS0570_INIT_TOTAL (sizeof ((init_pkts)) / sizeof ((init_pkts[0])))
|
||||
|
||||
// static unsigned char init_pkts[][EGIS0570_PKTSIZE] =
|
||||
// {
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x20, 0x3f },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x58, 0x3f },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x21, 0x09 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x57, 0x09 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x22, 0x03 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x56, 0x03 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x23, 0x01 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x55, 0x01 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x24, 0x01 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x54, 0x01 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x16, 0x3e },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x09, 0x0b },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x14, 0x03 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x15, 0x00 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x0f },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x10, 0x00 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x11, 0x38 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x12, 0x00 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x13, 0x71 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x03, 0x80 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x00, 0x02, 0x80 },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x2f },
|
||||
// { 0x45, 0x47, 0x49, 0x53, 0x06, 0x00, 0xfe } /* image returned after this packet */
|
||||
// };
|
||||
|
||||
static unsigned char init_pkts[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{ 0x45, 0x47, 0x49, 0x53, 0x01, 0x20, 0x3f },
|
||||
@@ -66,6 +96,8 @@ static unsigned char init_pkts[][EGIS0570_PKTSIZE] =
|
||||
{ 0x45, 0x47, 0x49, 0x53, 0x01, 0x55, 0x01 },
|
||||
{ 0x45, 0x47, 0x49, 0x53, 0x01, 0x24, 0x01 },
|
||||
{ 0x45, 0x47, 0x49, 0x53, 0x01, 0x54, 0x01 },
|
||||
{ 0x45, 0x47, 0x49, 0x53, 0x01, 0x25, 0x00 },
|
||||
{ 0x45, 0x47, 0x49, 0x53, 0x01, 0x53, 0x00 },
|
||||
{ 0x45, 0x47, 0x49, 0x53, 0x01, 0x16, 0x3e },
|
||||
{ 0x45, 0x47, 0x49, 0x53, 0x01, 0x09, 0x0b },
|
||||
{ 0x45, 0x47, 0x49, 0x53, 0x01, 0x14, 0x03 },
|
||||
@@ -175,3 +207,386 @@ static unsigned char repeat_pkts[][EGIS0570_PKTSIZE] =
|
||||
#define EGIS0570_RESIZE 2
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
// Calibration
|
||||
|
||||
enum driver_version {
|
||||
NONE,
|
||||
PACKET_VERSION_1,
|
||||
PACKET_CALIBRATION,
|
||||
};
|
||||
|
||||
#define PRESISTENT_DATA_LENGTH 9
|
||||
#define EGIS0570_CAL_IMG_TOT 124
|
||||
#define EGIS0570_CAL_INPSIZE 6528
|
||||
#define EGIS0570_CAL_BS_ELM 7
|
||||
|
||||
|
||||
#define IMG_COL_IGNORE 23
|
||||
#define TARGET_UPPER 80
|
||||
#define TARGET_LOWER 70
|
||||
// #define SIDE_DIFF (-10)
|
||||
#define SIDE_DIFF (+5)
|
||||
|
||||
/* static pkts */
|
||||
static guint8 EGIS0570_CAL_CONFIGURATION_MODE_PKT[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x0d, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x0e, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x1f},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x05, 0x08},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x03, 0xff}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_PKT_ZERO_RANGE[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x01, 0x10},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x03, 0x80},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x04, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x05, 0x08},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x06, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x07, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x08, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x09, 0x0a},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x0a, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x0b, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x0c, 0xff},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x0d, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x0e, 0x00}
|
||||
};
|
||||
|
||||
|
||||
static guint8 EGIS0570_CAL_CAPTURING_AREA[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x10, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x11, 0x38},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x12, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x13, 0x71}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_SENSOR_AND_EMITTER[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x14, 0x15},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x15, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x16, 0x08}
|
||||
};
|
||||
|
||||
|
||||
static guint8 EGIS0570_CAL_WHITE_SETTING[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x09, 0x0f},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x14, 0x3f},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x15, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x16, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x00, 0x02, 0x00}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_BLACK_WHITE_GET_IMAGE[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x20},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x06, 0x00, 0x33}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_BLACK_WHITE_AFTER_IMAGE[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x00}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_BLACK_SETTING[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x09, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x14, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x15, 0x03},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x16, 0xff},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x00, 0x02, 0xff}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_BLACK_WHITE_CLEAR[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x15, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x16, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x09, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x14, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x0f},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x03, 0x80},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x09, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x14, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x15, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x16, 0x00}
|
||||
};
|
||||
|
||||
|
||||
static guint8 EGIS0570_CAL_MIDDLE_BLACK_SETTING[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x09, 0x0a},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x15, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x16, 0x7f},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x00, 0x02, 0x7f},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x2f}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_GET_IMAGE[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x06, 0x00, 0x33}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_AFTER_IMAGE[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x0f}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_REPEAT[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x00, 0x02, 0x0f},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x2f}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_BORDER_WHITE_SETTING[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x09, 0x0a},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x15, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x16, 0x3f},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x00, 0x02, 0x3f},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x2f}
|
||||
};
|
||||
|
||||
|
||||
static guint8 EGIS0570_CAL_FIRST_BS_SETTING[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x15, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x16, 0x00},
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_BEFORE_GET_IMAGE[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x2f}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_NO_IMAGE_CAPTURING_AREA[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x10, 0x1c},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x11, 0x1c},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x12, 0x31},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x13, 0x40}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_NO_IMAGE_SETTING_0[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x09, 0x05},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x14, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x15, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x16, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x08, 0x1c}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_NO_IMAGE_BINARY_14_SETTING[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x0b, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x0c, 0xff},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x0d, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x0e, 0xff},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x02, 0x1d},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x04, 0x00}
|
||||
};
|
||||
|
||||
static guint8 EGIS0570_CAL_NO_IMAGE_PRE_FIRST[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x01, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x00, 0x01, 0x00}
|
||||
};
|
||||
|
||||
|
||||
static guint8 EGIS0570_CAL_NO_IMAGE_REQUEST[][EGIS0570_PKTSIZE] =
|
||||
{
|
||||
{0x45, 0x47, 0x49, 0x53, 0x01, 0x01, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x00, 0x01, 0x00},
|
||||
{0x45, 0x47, 0x49, 0x53, 0x00, 0x01, 0x00}
|
||||
};
|
||||
|
||||
|
||||
#define EGIS0570_CAL_STATIC_LIST_SIZEOF (sizeof ((EGIS0570_CAL_STATIC_LIST)) / sizeof ((EGIS0570_CAL_STATIC_LIST[0])))
|
||||
|
||||
static guint8 * EGIS0570_CAL_STATIC_LIST[] = {
|
||||
*EGIS0570_CAL_CONFIGURATION_MODE_PKT,
|
||||
*EGIS0570_CAL_PKT_ZERO_RANGE,
|
||||
*EGIS0570_CAL_CAPTURING_AREA,
|
||||
*EGIS0570_CAL_SENSOR_AND_EMITTER,
|
||||
*EGIS0570_CAL_WHITE_SETTING,
|
||||
*EGIS0570_CAL_BLACK_WHITE_GET_IMAGE,
|
||||
*EGIS0570_CAL_BLACK_WHITE_AFTER_IMAGE,
|
||||
*EGIS0570_CAL_BLACK_SETTING,
|
||||
*EGIS0570_CAL_BLACK_WHITE_CLEAR,
|
||||
*EGIS0570_CAL_MIDDLE_BLACK_SETTING,
|
||||
*EGIS0570_CAL_GET_IMAGE,
|
||||
*EGIS0570_CAL_AFTER_IMAGE,
|
||||
*EGIS0570_CAL_REPEAT,
|
||||
*EGIS0570_CAL_BORDER_WHITE_SETTING,
|
||||
*EGIS0570_CAL_FIRST_BS_SETTING,
|
||||
*EGIS0570_CAL_BEFORE_GET_IMAGE,
|
||||
*EGIS0570_CAL_NO_IMAGE_CAPTURING_AREA,
|
||||
*EGIS0570_CAL_NO_IMAGE_SETTING_0,
|
||||
*EGIS0570_CAL_NO_IMAGE_BINARY_14_SETTING,
|
||||
*EGIS0570_CAL_NO_IMAGE_PRE_FIRST,
|
||||
*EGIS0570_CAL_NO_IMAGE_REQUEST,
|
||||
};
|
||||
|
||||
|
||||
#define EGIS0570_HELPER_PKT_SIZEOF(x) (sizeof (x) / sizeof (x[0]))
|
||||
|
||||
static guint8 EGIS0570_CAL_STATIC_LIST_SIZE[] = {
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_CONFIGURATION_MODE_PKT),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_PKT_ZERO_RANGE),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_CAPTURING_AREA),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_SENSOR_AND_EMITTER),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_WHITE_SETTING),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_BLACK_WHITE_GET_IMAGE),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_BLACK_WHITE_AFTER_IMAGE),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_BLACK_SETTING),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_BLACK_WHITE_CLEAR),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_MIDDLE_BLACK_SETTING),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_GET_IMAGE),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_AFTER_IMAGE),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_REPEAT),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_BORDER_WHITE_SETTING),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_FIRST_BS_SETTING),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_BEFORE_GET_IMAGE),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_NO_IMAGE_CAPTURING_AREA),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_NO_IMAGE_SETTING_0),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_NO_IMAGE_BINARY_14_SETTING),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_NO_IMAGE_PRE_FIRST),
|
||||
EGIS0570_HELPER_PKT_SIZEOF (EGIS0570_CAL_NO_IMAGE_REQUEST),
|
||||
};
|
||||
|
||||
|
||||
/* Calibration logic */
|
||||
enum cal_proc_en {
|
||||
CAL_CONF_PKT,
|
||||
CAL_PKT_ZERO_RNG,
|
||||
CAL_CAPT_AREA,
|
||||
CAL_SENS_AND_EMIT,
|
||||
CAL_RNG_20_58,
|
||||
CAL_RNG_60_D0,
|
||||
CAL_WHITE_SET,
|
||||
CAL_BLACK_WHITE_GET_IMG,
|
||||
CAL_BLACK_WHITE_AFTER_IMAGE,
|
||||
CAL_BLACK_SET,
|
||||
CAL_CHECK_BLACK_WHITE,
|
||||
CAL_5_ROWS_ZEROS,
|
||||
CAL_BLACK_WHITE_CLEAR,
|
||||
CAL_RNG_60_D1,
|
||||
CAL_MID_BLACK_SET,
|
||||
CAL_GET_IMG,
|
||||
CAL_AFTER_IMG,
|
||||
CAL_GET_9,
|
||||
CAL_BORDER_WHITE_SET,
|
||||
CAL_FIRST_BS_SET,
|
||||
CAL_BS_CHK_SET,
|
||||
CAL_PKT_02,
|
||||
CAL_BEFORE_IMG,
|
||||
CAL_BS_JUMP,
|
||||
CAL_BS_END,
|
||||
CAL_PKT_15_0,
|
||||
CAL_PKT_16_3C,
|
||||
CAL_CHK_NEW_CONF,
|
||||
CAL_GET_21,
|
||||
CAL_NO_IMG_CAP_AREA,
|
||||
CAL_NO_IMG_SET_0,
|
||||
CAL_NO_IMG_03_1C,
|
||||
CAL_NO_CHK_03_80,
|
||||
CAL_NO_SET_03_80,
|
||||
CAL_NO_IMG_14_BS_SET,
|
||||
CAL_NO_IMG_14_BS_CHK_SET,
|
||||
CAL_NO_IMG_PRE_FIRST,
|
||||
CAL_NO_IMG_GET_8,
|
||||
CAL_NO_IMG_14_BS_JUMP,
|
||||
CAL_NO_IMG_14_BS_END,
|
||||
CAL_NO_IMG_16_BS_SET,
|
||||
CAL_NO_IMG_16_BS_CHK_SET_15,
|
||||
CAL_NO_IMG_16_BS_SET_16,
|
||||
CAL_NO_IMG_16_BS_JUMP,
|
||||
CAL_NO_IMG_16_BS_END,
|
||||
|
||||
|
||||
CAL_END,
|
||||
};
|
||||
|
||||
|
||||
#define EGIS0570_CAL_PROC_SIZEOF (sizeof ((calibration_procedure)) / sizeof ((calibration_procedure[0])))
|
||||
|
||||
static guint8 calibration_procedure[] = {
|
||||
// conf
|
||||
CAL_CONF_PKT,
|
||||
// sensor check
|
||||
CAL_PKT_ZERO_RNG,
|
||||
CAL_CAPT_AREA,
|
||||
CAL_SENS_AND_EMIT,
|
||||
CAL_RNG_20_58,
|
||||
CAL_RNG_60_D0,
|
||||
CAL_WHITE_SET,
|
||||
CAL_BLACK_WHITE_GET_IMG,
|
||||
CAL_BLACK_WHITE_AFTER_IMAGE,
|
||||
CAL_BLACK_SET,
|
||||
CAL_BLACK_WHITE_GET_IMG,
|
||||
CAL_BLACK_WHITE_AFTER_IMAGE,
|
||||
CAL_CHECK_BLACK_WHITE,
|
||||
// not binary 16
|
||||
CAL_CAPT_AREA,
|
||||
CAL_5_ROWS_ZEROS,
|
||||
CAL_BLACK_WHITE_CLEAR,
|
||||
CAL_RNG_20_58,
|
||||
CAL_RNG_60_D1,
|
||||
CAL_MID_BLACK_SET,
|
||||
CAL_GET_IMG,
|
||||
CAL_AFTER_IMG,
|
||||
CAL_GET_9,
|
||||
CAL_BORDER_WHITE_SET,
|
||||
CAL_GET_IMG,
|
||||
CAL_AFTER_IMG,
|
||||
CAL_GET_9,
|
||||
// binary
|
||||
CAL_FIRST_BS_SET,
|
||||
CAL_BS_CHK_SET, // 0
|
||||
CAL_PKT_02, // 1
|
||||
CAL_BEFORE_IMG, // 2
|
||||
CAL_GET_IMG, // 3
|
||||
CAL_AFTER_IMG, // 4
|
||||
CAL_GET_9, // 5
|
||||
CAL_BS_JUMP, // 6
|
||||
CAL_BS_END, // 7
|
||||
// check pictures.
|
||||
CAL_PKT_15_0,
|
||||
CAL_PKT_16_3C,
|
||||
CAL_CHK_NEW_CONF,
|
||||
CAL_PKT_02,
|
||||
CAL_BEFORE_IMG,
|
||||
CAL_GET_IMG,
|
||||
CAL_AFTER_IMG,
|
||||
CAL_GET_21,
|
||||
// no image 14
|
||||
CAL_NO_IMG_CAP_AREA,
|
||||
CAL_NO_IMG_SET_0,
|
||||
CAL_NO_IMG_03_1C,
|
||||
CAL_NO_CHK_03_80,
|
||||
CAL_NO_SET_03_80,
|
||||
CAL_NO_IMG_14_BS_SET,
|
||||
CAL_NO_IMG_14_BS_CHK_SET, // 0
|
||||
CAL_NO_IMG_PRE_FIRST, // 1
|
||||
CAL_NO_IMG_GET_8, // 2
|
||||
CAL_NO_IMG_14_BS_JUMP, // 3
|
||||
CAL_NO_IMG_14_BS_END, // 4
|
||||
// no image 16
|
||||
CAL_NO_IMG_16_BS_SET,
|
||||
CAL_NO_IMG_16_BS_CHK_SET_15, // 0
|
||||
CAL_NO_IMG_16_BS_SET_16, // 1
|
||||
CAL_NO_IMG_PRE_FIRST, // 2
|
||||
CAL_NO_IMG_GET_8, // 3
|
||||
CAL_NO_IMG_16_BS_JUMP, // 4
|
||||
CAL_NO_IMG_16_BS_END, // 5
|
||||
// end
|
||||
CAL_CONF_PKT,
|
||||
CAL_CONF_PKT,
|
||||
|
||||
CAL_END,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user