mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2025-11-15 07:38:12 +00:00
Compare commits
2 Commits
cfb2637b8b
...
0726462d3b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0726462d3b | ||
|
|
05f7631023 |
@@ -454,16 +454,16 @@ static void
|
||||
set_ctx_pkts_type (FpDeviceEgis0570 *self, guint8 * element_ptr)
|
||||
{
|
||||
self->pkt_type = -1;
|
||||
fp_dbg ("Error in indexing should not happen");
|
||||
for (guint8 i = 0; i < EGIS0570_CAL_STATIC_LIST_SIZEOF; i++)
|
||||
{
|
||||
if (EGIS0570_CAL_STATIC_LIST[i] == element_ptr)
|
||||
{
|
||||
self->pkt_type = i;
|
||||
fp_dbg ("said index %d", i);
|
||||
break;
|
||||
fp_dbg ("ptr said index %d", i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
fp_dbg ("messed up list for static packets");
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -527,7 +527,7 @@ apply_next_step_setting (FpiSsm *ssm, FpDeviceEgis0570 *self)
|
||||
|
||||
if (cal_ctx->cal_step == EGIS0570_CAL_PROC_SIZEOF)
|
||||
{
|
||||
fp_dbg ("something went wrong.");
|
||||
fp_dbg ("calibration step is higher thatn expected.");
|
||||
return;
|
||||
}
|
||||
fp_dbg ("Procedure Index %d", cal_ctx->cal_step);
|
||||
@@ -741,6 +741,7 @@ apply_next_step_setting (FpiSsm *ssm, FpDeviceEgis0570 *self)
|
||||
case CAL_BS_CHK_SET:
|
||||
if (cal_ctx->bs_condition && cal_ctx->bs_steps < 8)
|
||||
{
|
||||
cal_ctx->cal_img_idx = 0;
|
||||
cal_ctx->bs_steps++;
|
||||
fp_dbg ("CALIBERATION: BINARY SEARCH: CONDITION: %b, STEPS: %d", cal_ctx->bs_condition, cal_ctx->bs_steps);
|
||||
for (guint8 i = 0; i < EGIS0570_CAL_BS_ELM; i++)
|
||||
@@ -806,6 +807,8 @@ apply_next_step_setting (FpiSsm *ssm, FpDeviceEgis0570 *self)
|
||||
|
||||
|
||||
case CAL_PKT_15_0:
|
||||
cal_ctx->cal_img_idx = 0;
|
||||
|
||||
cal_ctx->rng_pkt_low = 0x15;
|
||||
cal_ctx->rng_pkt_high = 0x15;
|
||||
cal_ctx->req_packet[4] = 0x01;
|
||||
@@ -829,6 +832,8 @@ apply_next_step_setting (FpiSsm *ssm, FpDeviceEgis0570 *self)
|
||||
break;
|
||||
|
||||
case CAL_NO_IMG_CAP_AREA:
|
||||
cal_ctx->cal_img_idx = 0;
|
||||
|
||||
set_ctx_pkts_type (self, *EGIS0570_CAL_NO_IMAGE_CAPTURING_AREA);
|
||||
fpi_ssm_jump_to_state (ssm, SM_CAL_STATIC_PKT);
|
||||
break;
|
||||
@@ -880,8 +885,8 @@ apply_next_step_setting (FpiSsm *ssm, FpDeviceEgis0570 *self)
|
||||
cal_ctx->bs_zeros = 0;
|
||||
cal_ctx->bs_steps++;
|
||||
|
||||
fp_dbg ("CALIBERATION: NO IMAGE 14/16: CONDITION: %b, STEPS: %d", cal_ctx->bs_condition, cal_ctx->bs_steps);
|
||||
fp_dbg ("CALIBERATION: NO IMAGE 14/16: LOW: %x, HIGH: %x", cal_ctx->bs_lows[0], cal_ctx->bs_highs[0]);
|
||||
fp_dbg ("CALIBERATION: NO IMAGE 14: CONDITION: %b, STEPS: %d", cal_ctx->bs_condition, cal_ctx->bs_steps);
|
||||
fp_dbg ("CALIBERATION: NO IMAGE 14: LOW: %x, HIGH: %x", cal_ctx->bs_lows[0], cal_ctx->bs_highs[0]);
|
||||
|
||||
self->save_resp = FALSE;
|
||||
cal_ctx->rng_pkt_low = 0x14;
|
||||
@@ -905,8 +910,8 @@ apply_next_step_setting (FpiSsm *ssm, FpDeviceEgis0570 *self)
|
||||
cal_ctx->bs_zeros = 0;
|
||||
cal_ctx->bs_steps++;
|
||||
|
||||
fp_dbg ("CALIBERATION: NO IMAGE 14/16: CONDITION: %b, STEPS: %d", cal_ctx->bs_condition, cal_ctx->bs_steps);
|
||||
fp_dbg ("CALIBERATION: NO IMAGE 14/16: LOW: %x, HIGH: %x", cal_ctx->bs_lows[0], cal_ctx->bs_highs[0]);
|
||||
fp_dbg ("CALIBERATION: NO IMAGE 16: CONDITION: %b, STEPS: %d", cal_ctx->bs_condition, cal_ctx->bs_steps);
|
||||
fp_dbg ("CALIBERATION: NO IMAGE 16: LOW: %x, HIGH: %x", cal_ctx->bs_lows[0], cal_ctx->bs_highs[0]);
|
||||
|
||||
self->save_resp = FALSE;
|
||||
cal_ctx->rng_pkt_low = 0x15;
|
||||
@@ -982,7 +987,7 @@ apply_next_step_setting (FpiSsm *ssm, FpDeviceEgis0570 *self)
|
||||
else
|
||||
cal_ctx->bs_condition = 0x00;
|
||||
|
||||
fp_dbg ("no image bs 14/16: twos: %d, zeros: %d.", cal_ctx->bs_twos, cal_ctx->bs_zeros);
|
||||
fp_dbg ("no image bs 14: twos: %d, zeros: %d.", cal_ctx->bs_twos, cal_ctx->bs_zeros);
|
||||
|
||||
cal_ctx->cal_step = cal_ctx->cal_step - 4;// Based on calibration_procedure.
|
||||
fpi_ssm_jump_to_state (ssm, SM_CAL_STEP_LOGIC);
|
||||
@@ -997,7 +1002,7 @@ apply_next_step_setting (FpiSsm *ssm, FpDeviceEgis0570 *self)
|
||||
else
|
||||
cal_ctx->bs_condition = 0x00;
|
||||
|
||||
fp_dbg ("no image bs 14/16: twos: %d, zeros: %d.", cal_ctx->bs_twos, cal_ctx->bs_zeros);
|
||||
fp_dbg ("no image bs 16: twos: %d, zeros: %d.", cal_ctx->bs_twos, cal_ctx->bs_zeros);
|
||||
|
||||
cal_ctx->cal_step = cal_ctx->cal_step - 5;// Based on calibration_procedure.
|
||||
fpi_ssm_jump_to_state (ssm, SM_CAL_STEP_LOGIC);
|
||||
@@ -1374,10 +1379,10 @@ dev_deactivate (FpImageDevice *dev)
|
||||
*/
|
||||
|
||||
static const FpIdEntry id_table[] = {
|
||||
{ .vid = 0x1c7a, .pid = 0x0570, .driver_data = PACKET_VERSION_1},
|
||||
{ .vid = 0x1c7a, .pid = 0x0570, .driver_data = PACKET_CALIBRATION},
|
||||
{ .vid = 0x1c7a, .pid = 0x0571, .driver_data = PACKET_VERSION_1},
|
||||
// { .vid = 0x1c7a, .pid = 0x0570, .driver_data = PACKET_VERSION_1},
|
||||
{ .vid = 0x1c7a, .pid = 0x0571, .driver_data = PACKET_CALIBRATION},
|
||||
// { .vid = 0x1c7a, .pid = 0x0571, .driver_data = PACKET_VERSION_1},
|
||||
{ .vid = 0, .pid = 0, .driver_data = 0},
|
||||
};
|
||||
|
||||
|
||||
@@ -212,13 +212,13 @@ static unsigned char repeat_pkts[][EGIS0570_PKTSIZE] =
|
||||
// Calibration
|
||||
|
||||
enum driver_version {
|
||||
NONE,
|
||||
PACKET_VERSION_1,
|
||||
PACKET_CALIBRATION,
|
||||
PACKET_VERSION_1,
|
||||
NONE,
|
||||
};
|
||||
|
||||
#define PRESISTENT_DATA_LENGTH 9
|
||||
#define EGIS0570_CAL_IMG_TOT 124
|
||||
#define EGIS0570_CAL_IMG_TOT 22 //124
|
||||
#define EGIS0570_CAL_INPSIZE 6528
|
||||
#define EGIS0570_CAL_BS_ELM 7
|
||||
|
||||
|
||||
Reference in New Issue
Block a user