mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2026-09-10 13:00:08 +00:00
mafpmoc: Cleanup code
This commit is contained in:
+135
-172
@@ -11,23 +11,23 @@ struct _FpiDeviceMafpmoc
|
|||||||
FpiUsbTransfer *cmd_transfer;
|
FpiUsbTransfer *cmd_transfer;
|
||||||
gboolean cmd_cancelable;
|
gboolean cmd_cancelable;
|
||||||
gboolean cmd_force_pass;
|
gboolean cmd_force_pass;
|
||||||
gint enroll_stage;
|
int enroll_stage;
|
||||||
gint max_enroll_stage;
|
int max_enroll_stage;
|
||||||
gint max_stored_prints;
|
int max_stored_prints;
|
||||||
guint8 interface_num;
|
uint8_t interface_num;
|
||||||
guint8 press_state;
|
uint8_t press_state;
|
||||||
gint32 finger_status;
|
uint32_t finger_status;
|
||||||
gchar *serial_number;
|
char *serial_number;
|
||||||
gint16 enroll_id;
|
uint16_t enroll_id;
|
||||||
gchar *enroll_user_id;
|
char *enroll_user_id;
|
||||||
guint enroll_identify_index;
|
unsigned enroll_identify_index;
|
||||||
guint16 enroll_identify_id;
|
uint16_t enroll_identify_id;
|
||||||
guint8 enroll_identify_state;
|
uint8_t enroll_identify_state;
|
||||||
guint8 enroll_dupl_del_state;
|
uint8_t enroll_dupl_del_state;
|
||||||
guint8 enroll_dupl_area_state;
|
uint8_t enroll_dupl_area_state;
|
||||||
pmafp_templates_t templates;
|
pmafp_templates_t templates;
|
||||||
gint16 search_id;
|
uint16_t search_id;
|
||||||
guint capture_cnt;
|
unsigned capture_cnt;
|
||||||
FpPrint *identify_new_print;
|
FpPrint *identify_new_print;
|
||||||
FpPrint *identify_match_print;
|
FpPrint *identify_match_print;
|
||||||
};
|
};
|
||||||
@@ -40,28 +40,25 @@ typedef void (*SynCmdMsgCallback) (FpiDeviceMafpmoc *self,
|
|||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
gint16 cmd;
|
uint16_t cmd;
|
||||||
SynCmdMsgCallback callback;
|
SynCmdMsgCallback callback;
|
||||||
FpiUsbTransfer *cmd_transfer;
|
FpiUsbTransfer *cmd_transfer;
|
||||||
gboolean cmd_cancelable;
|
gboolean cmd_cancelable;
|
||||||
guint16 cmd_request_len;
|
uint16_t cmd_request_len;
|
||||||
guint16 cmd_actual_len;
|
uint16_t cmd_actual_len;
|
||||||
uint8_t recv_buffer[MAFP_USB_BUFFER_SIZE];
|
uint8_t recv_buffer[MAFP_USB_BUFFER_SIZE];
|
||||||
gboolean cmd_force_pass;
|
gboolean cmd_force_pass;
|
||||||
guint16 crc;
|
uint16_t crc;
|
||||||
} CommandData;
|
} CommandData;
|
||||||
|
|
||||||
static void mafp_sensor_cmd (FpiDeviceMafpmoc *self,
|
static void mafp_sensor_cmd (FpiDeviceMafpmoc *self,
|
||||||
gint16 cmd,
|
uint16_t cmd,
|
||||||
const guint8 *data,
|
const uint8_t *data,
|
||||||
guint8 data_len,
|
uint8_t data_len,
|
||||||
SynCmdMsgCallback callback);
|
SynCmdMsgCallback callback);
|
||||||
|
|
||||||
static uint16_t
|
static uint16_t
|
||||||
ma_protocol_crc16_calc (
|
ma_protocol_crc16_calc ( uint8_t *data, uint32_t data_len, uint32_t start)
|
||||||
uint8_t *data,
|
|
||||||
uint32_t data_len,
|
|
||||||
uint32_t start)
|
|
||||||
{
|
{
|
||||||
const uint8_t *temp = data;
|
const uint8_t *temp = data;
|
||||||
uint32_t sum = 0;
|
uint32_t sum = 0;
|
||||||
@@ -75,9 +72,7 @@ ma_protocol_crc16_calc (
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
init_pack_header (
|
init_pack_header (ppack_header pheader, uint16_t frame_len)
|
||||||
ppack_header pheader,
|
|
||||||
uint16_t frame_len)
|
|
||||||
{
|
{
|
||||||
g_assert (pheader);
|
g_assert (pheader);
|
||||||
|
|
||||||
@@ -97,12 +92,11 @@ init_pack_header (
|
|||||||
* while cmd_len = 0, put flag(end or not) in data[0]
|
* while cmd_len = 0, put flag(end or not) in data[0]
|
||||||
*/
|
*/
|
||||||
static uint8_t *
|
static uint8_t *
|
||||||
ma_protocol_build_package (
|
ma_protocol_build_package (uint32_t package_len,
|
||||||
uint32_t package_len,
|
int16_t cmd,
|
||||||
int16_t cmd,
|
uint8_t cmd_len,
|
||||||
uint8_t cmd_len,
|
const uint8_t *data,
|
||||||
const uint8_t *data,
|
uint32_t data_len)
|
||||||
uint32_t data_len)
|
|
||||||
{
|
{
|
||||||
g_autofree uint8_t *ppackage = g_new0 (uint8_t, package_len);
|
g_autofree uint8_t *ppackage = g_new0 (uint8_t, package_len);
|
||||||
pack_header header;
|
pack_header header;
|
||||||
@@ -124,23 +118,13 @@ ma_protocol_build_package (
|
|||||||
ppackage[package_len - 2] = (crc >> 8) & 0xFF;
|
ppackage[package_len - 2] = (crc >> 8) & 0xFF;
|
||||||
ppackage[package_len - 1] = crc & 0xFF;
|
ppackage[package_len - 1] = crc & 0xFF;
|
||||||
|
|
||||||
/* gchar msg[1024] = {0};
|
|
||||||
gchar pack_str[16] = {0};
|
|
||||||
for (int i = 0; i < package_len; i++)
|
|
||||||
{
|
|
||||||
sprintf(pack_str, "0x%x ", ppackage[i]);
|
|
||||||
strcat(msg, pack_str);
|
|
||||||
}
|
|
||||||
fp_dbg("build pack %s", msg);
|
|
||||||
*/
|
|
||||||
return g_steal_pointer (&ppackage);
|
return g_steal_pointer (&ppackage);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ma_protocol_parse_header (
|
ma_protocol_parse_header ( uint8_t *buffer,
|
||||||
uint8_t *buffer,
|
uint32_t buffer_len,
|
||||||
uint32_t buffer_len,
|
pack_header *pheader)
|
||||||
pack_header *pheader)
|
|
||||||
{
|
{
|
||||||
if (!buffer || !pheader || buffer_len < PACKAGE_HEADER_SIZE)
|
if (!buffer || !pheader || buffer_len < PACKAGE_HEADER_SIZE)
|
||||||
return -1;
|
return -1;
|
||||||
@@ -150,19 +134,17 @@ ma_protocol_parse_header (
|
|||||||
}
|
}
|
||||||
|
|
||||||
static uint8_t
|
static uint8_t
|
||||||
get_one_bit_value (
|
get_one_bit_value ( uint8_t src,
|
||||||
uint8_t src,
|
uint8_t bit_num)
|
||||||
uint8_t bit_num)
|
|
||||||
{
|
{
|
||||||
return (uint8_t) ((src >> (bit_num - 1)) & 1);
|
return (uint8_t) ((src >> (bit_num - 1)) & 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ma_protocol_parse_body (
|
ma_protocol_parse_body ( int16_t cmd,
|
||||||
int16_t cmd,
|
uint8_t *buffer,
|
||||||
uint8_t *buffer,
|
uint16_t buffer_len,
|
||||||
uint16_t buffer_len,
|
pmafp_cmd_response_t presp)
|
||||||
pmafp_cmd_response_t presp)
|
|
||||||
{
|
{
|
||||||
const int data_len = buffer_len - 1 - PACKAGE_CRC_SIZE;
|
const int data_len = buffer_len - 1 - PACKAGE_CRC_SIZE;
|
||||||
|
|
||||||
@@ -231,11 +213,11 @@ mafp_clean_usb_bulk_in (FpDevice *device)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static G_GNUC_PRINTF (4, 5) void
|
static G_GNUC_PRINTF (4, 5) void
|
||||||
mafp_mark_failed (
|
mafp_mark_failed (FpDevice *dev,
|
||||||
FpDevice *dev,
|
FpiSsm *ssm,
|
||||||
FpiSsm *ssm,
|
uint8_t err_code,
|
||||||
guint8 err_code,
|
const char *msg,
|
||||||
const gchar *msg, ...)
|
...)
|
||||||
{
|
{
|
||||||
if (err_code == FP_DEVICE_ERROR_PROTO)
|
if (err_code == FP_DEVICE_ERROR_PROTO)
|
||||||
mafp_clean_usb_bulk_in (dev);
|
mafp_clean_usb_bulk_in (dev);
|
||||||
@@ -265,12 +247,11 @@ fp_cmd_receive_cb (FpiUsbTransfer *transfer,
|
|||||||
mafp_cmd_response_t cmd_reponse = {0, };
|
mafp_cmd_response_t cmd_reponse = {0, };
|
||||||
pack_header header;
|
pack_header header;
|
||||||
uint32_t data_index = 0;
|
uint32_t data_index = 0;
|
||||||
gchar msg[1024] = {0};
|
|
||||||
|
|
||||||
if (error)
|
if (error)
|
||||||
{
|
{
|
||||||
fp_dbg ("error: %d", error->code);
|
fp_dbg ("error: %d", error->code);
|
||||||
if (data->cmd_force_pass) //ex: G_USB_DEVICE_ERROR_TIMED_OUT
|
if (data->cmd_force_pass) /* ex: G_USB_DEVICE_ERROR_TIMED_OUT */
|
||||||
{
|
{
|
||||||
if (data->callback)
|
if (data->callback)
|
||||||
data->callback (self, &cmd_reponse, NULL);
|
data->callback (self, &cmd_reponse, NULL);
|
||||||
@@ -288,8 +269,6 @@ fp_cmd_receive_cb (FpiUsbTransfer *transfer,
|
|||||||
}
|
}
|
||||||
ssm_state = fpi_ssm_get_cur_state (transfer->ssm);
|
ssm_state = fpi_ssm_get_cur_state (transfer->ssm);
|
||||||
|
|
||||||
//fp_dbg("actual_length: %d", transfer->actual_length);
|
|
||||||
|
|
||||||
/* skip zero length package */
|
/* skip zero length package */
|
||||||
if (transfer->actual_length == 0)
|
if (transfer->actual_length == 0)
|
||||||
{
|
{
|
||||||
@@ -315,13 +294,6 @@ fp_cmd_receive_cb (FpiUsbTransfer *transfer,
|
|||||||
}
|
}
|
||||||
memcpy (data->recv_buffer + data->cmd_actual_len, transfer->buffer, transfer->actual_length);
|
memcpy (data->recv_buffer + data->cmd_actual_len, transfer->buffer, transfer->actual_length);
|
||||||
data->cmd_actual_len += transfer->actual_length - data_index;
|
data->cmd_actual_len += transfer->actual_length - data_index;
|
||||||
if (PRINT_CMD)
|
|
||||||
{
|
|
||||||
for (int i = 0; i < PACKAGE_HEADER_SIZE + data->cmd_actual_len && i < 1024; i++)
|
|
||||||
sprintf (msg + i * 3, "%02X ", data->recv_buffer[i]);
|
|
||||||
fp_dbg ("RECV: %s", msg);
|
|
||||||
}
|
|
||||||
// fp_dbg("cmd_request_len: %d, cmd_actual_len: %d", data->cmd_request_len, data->cmd_actual_len);
|
|
||||||
|
|
||||||
if (data->cmd_request_len <= data->cmd_actual_len)
|
if (data->cmd_request_len <= data->cmd_actual_len)
|
||||||
{
|
{
|
||||||
@@ -359,7 +331,6 @@ fp_cmd_run_state (FpiSsm *ssm,
|
|||||||
{
|
{
|
||||||
FpiUsbTransfer *transfer;
|
FpiUsbTransfer *transfer;
|
||||||
CommandData *data = fpi_ssm_get_data (ssm);
|
CommandData *data = fpi_ssm_get_data (ssm);
|
||||||
gchar msg[1024] = {0};
|
|
||||||
|
|
||||||
switch (fpi_ssm_get_cur_state (ssm))
|
switch (fpi_ssm_get_cur_state (ssm))
|
||||||
{
|
{
|
||||||
@@ -367,12 +338,6 @@ fp_cmd_run_state (FpiSsm *ssm,
|
|||||||
if (data->cmd_transfer)
|
if (data->cmd_transfer)
|
||||||
{
|
{
|
||||||
data->cmd_transfer->ssm = ssm;
|
data->cmd_transfer->ssm = ssm;
|
||||||
if (PRINT_CMD)
|
|
||||||
{
|
|
||||||
for (int i = 0; i < data->cmd_transfer->length && i < 1024; i++)
|
|
||||||
sprintf (msg + i * 3, "%02X ", data->cmd_transfer->buffer[i]);
|
|
||||||
fp_dbg ("SEND: %s", msg);
|
|
||||||
}
|
|
||||||
fpi_usb_transfer_submit (g_steal_pointer (&data->cmd_transfer),
|
fpi_usb_transfer_submit (g_steal_pointer (&data->cmd_transfer),
|
||||||
CMD_TIMEOUT, NULL, fpi_ssm_usb_transfer_cb, NULL);
|
CMD_TIMEOUT, NULL, fpi_ssm_usb_transfer_cb, NULL);
|
||||||
}
|
}
|
||||||
@@ -434,17 +399,17 @@ fp_cmd_ssm_done_data_free (CommandData *data)
|
|||||||
|
|
||||||
static FpiUsbTransfer *
|
static FpiUsbTransfer *
|
||||||
alloc_cmd_transfer (FpiDeviceMafpmoc *self,
|
alloc_cmd_transfer (FpiDeviceMafpmoc *self,
|
||||||
gint16 cmd,
|
uint16_t cmd,
|
||||||
guint8 cmd_len,
|
uint8_t cmd_len,
|
||||||
const guint8 *data,
|
const uint8_t *data,
|
||||||
guint32 data_len)
|
uint32_t data_len)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail (data || data_len == 0, NULL);
|
g_return_val_if_fail (data || data_len == 0, NULL);
|
||||||
FpDevice *dev = FP_DEVICE (self);
|
FpDevice *dev = FP_DEVICE (self);
|
||||||
|
|
||||||
g_autoptr(FpiUsbTransfer) transfer = fpi_usb_transfer_new (dev);
|
g_autoptr(FpiUsbTransfer) transfer = fpi_usb_transfer_new (dev);
|
||||||
uint32_t total_len = PACKAGE_HEADER_SIZE + cmd_len + data_len + PACKAGE_CRC_SIZE;
|
uint32_t total_len = PACKAGE_HEADER_SIZE + cmd_len + data_len + PACKAGE_CRC_SIZE;
|
||||||
guint8 *buffer = ma_protocol_build_package (total_len, cmd, cmd_len, data, data_len);
|
uint8_t *buffer = ma_protocol_build_package (total_len, cmd, cmd_len, data, data_len);
|
||||||
|
|
||||||
fpi_usb_transfer_fill_bulk_full (transfer, MAFP_EP_BULK_OUT, buffer, total_len, g_free);
|
fpi_usb_transfer_fill_bulk_full (transfer, MAFP_EP_BULK_OUT, buffer, total_len, g_free);
|
||||||
return g_steal_pointer (&transfer);
|
return g_steal_pointer (&transfer);
|
||||||
@@ -452,9 +417,9 @@ alloc_cmd_transfer (FpiDeviceMafpmoc *self,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
mafp_sensor_cmd (FpiDeviceMafpmoc *self,
|
mafp_sensor_cmd (FpiDeviceMafpmoc *self,
|
||||||
gint16 cmd,
|
uint16_t cmd,
|
||||||
const guint8 *data,
|
const uint8_t *data,
|
||||||
guint8 data_len,
|
uint8_t data_len,
|
||||||
SynCmdMsgCallback callback)
|
SynCmdMsgCallback callback)
|
||||||
{
|
{
|
||||||
g_autoptr(FpiUsbTransfer) transfer = alloc_cmd_transfer (self, cmd, (cmd < 0 ? 0 : 1), data, data_len);
|
g_autoptr(FpiUsbTransfer) transfer = alloc_cmd_transfer (self, cmd, (cmd < 0 ? 0 : 1), data, data_len);
|
||||||
@@ -479,11 +444,11 @@ mafp_sensor_cmd (FpiDeviceMafpmoc *self,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
mafp_sensor_control (FpiDeviceMafpmoc *self,
|
mafp_sensor_control (FpiDeviceMafpmoc *self,
|
||||||
guint8 request,
|
uint8_t request,
|
||||||
guint16 value,
|
uint16_t value,
|
||||||
FpiUsbTransferCallback callback,
|
FpiUsbTransferCallback callback,
|
||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
guint16 timeout)
|
uint16_t timeout)
|
||||||
{
|
{
|
||||||
FpiUsbTransfer *transfer = fpi_usb_transfer_new (FP_DEVICE (self));
|
FpiUsbTransfer *transfer = fpi_usb_transfer_new (FP_DEVICE (self));
|
||||||
|
|
||||||
@@ -499,7 +464,7 @@ mafp_sensor_control (FpiDeviceMafpmoc *self,
|
|||||||
static mafp_template_t
|
static mafp_template_t
|
||||||
mafp_template_from_print (FpPrint *print)
|
mafp_template_from_print (FpPrint *print)
|
||||||
{
|
{
|
||||||
const guint16 tpl_id;
|
const uint16_t tpl_id;
|
||||||
|
|
||||||
g_autoptr(GVariant) data = NULL;
|
g_autoptr(GVariant) data = NULL;
|
||||||
g_autoptr(GVariant) tpl_uid = NULL;
|
g_autoptr(GVariant) tpl_uid = NULL;
|
||||||
@@ -531,8 +496,8 @@ mafp_print_from_template (FpiDeviceMafpmoc *self, mafp_template_t template)
|
|||||||
GVariant *data;
|
GVariant *data;
|
||||||
GVariant *uid;
|
GVariant *uid;
|
||||||
GVariant *dev_sn;
|
GVariant *dev_sn;
|
||||||
guint user_id_len;
|
unsigned user_id_len;
|
||||||
guint serial_num_len;
|
unsigned serial_num_len;
|
||||||
|
|
||||||
print = fp_print_new (FP_DEVICE (self));
|
print = fp_print_new (FP_DEVICE (self));
|
||||||
|
|
||||||
@@ -560,8 +525,8 @@ static void
|
|||||||
mafp_load_enrolled_ids (FpiDeviceMafpmoc *self, mafp_cmd_response_t *resp)
|
mafp_load_enrolled_ids (FpiDeviceMafpmoc *self, mafp_cmd_response_t *resp)
|
||||||
{
|
{
|
||||||
uint16_t num = 0;
|
uint16_t num = 0;
|
||||||
gchar msg[1024] = {0};
|
char msg[1024] = {0};
|
||||||
gchar id_str[16] = {0};
|
char id_str[16] = {0};
|
||||||
|
|
||||||
for (uint16_t i = 0; i < sizeof (resp->tpl_table.list); i++)
|
for (uint16_t i = 0; i < sizeof (resp->tpl_table.list); i++)
|
||||||
{
|
{
|
||||||
@@ -598,7 +563,7 @@ fp_init_handeshake_cb (FpiDeviceMafpmoc *self,
|
|||||||
resp->handshake.code[1] == MAFP_HANDSHAKE_CODE2)
|
resp->handshake.code[1] == MAFP_HANDSHAKE_CODE2)
|
||||||
{
|
{
|
||||||
self->max_enroll_stage = DEFAULT_ENROLL_SAMPLES;
|
self->max_enroll_stage = DEFAULT_ENROLL_SAMPLES;
|
||||||
gchar * value = getenv (MAFP_ENV_ENROLL_SAMPLES);
|
char * value = getenv (MAFP_ENV_ENROLL_SAMPLES);
|
||||||
if (value)
|
if (value)
|
||||||
self->max_enroll_stage = g_ascii_strtoll (value, NULL, 10);
|
self->max_enroll_stage = g_ascii_strtoll (value, NULL, 10);
|
||||||
fp_dbg ("max_enroll_stage: %d", self->max_enroll_stage);
|
fp_dbg ("max_enroll_stage: %d", self->max_enroll_stage);
|
||||||
@@ -758,8 +723,8 @@ fp_enroll_read_tpl_cb (FpiDeviceMafpmoc *self,
|
|||||||
}
|
}
|
||||||
fp_dbg ("result: %d", resp->result);
|
fp_dbg ("result: %d", resp->result);
|
||||||
|
|
||||||
guint8 *resp_buff = (guint8 *) resp;
|
uint8_t *resp_buff = (uint8_t *) resp;
|
||||||
guint16 max_id = 0;
|
uint16_t max_id = 0;
|
||||||
|
|
||||||
if (resp->result == MAFP_SUCCESS)
|
if (resp->result == MAFP_SUCCESS)
|
||||||
{
|
{
|
||||||
@@ -799,7 +764,6 @@ fp_enroll_get_image_cb (FpiDeviceMafpmoc *self,
|
|||||||
|
|
||||||
FpEnrollState nextState = FP_ENROLL_VERIFY_GET_IMAGE;
|
FpEnrollState nextState = FP_ENROLL_VERIFY_GET_IMAGE;
|
||||||
|
|
||||||
//fp_dbg("result: %d, press_state: %d", resp->result, self->press_state);
|
|
||||||
if (self->press_state == MAFP_PRESS_WAIT_DOWN)
|
if (self->press_state == MAFP_PRESS_WAIT_DOWN)
|
||||||
{
|
{
|
||||||
fp_dbg ("wait finger down state %d", resp->result);
|
fp_dbg ("wait finger down state %d", resp->result);
|
||||||
@@ -945,7 +909,7 @@ fp_enroll_gen_feature_cb (FpiDeviceMafpmoc *self,
|
|||||||
if (self->enroll_dupl_area_state == MAFP_ENROLL_DUPLICATE_AREA_DENY)
|
if (self->enroll_dupl_area_state == MAFP_ENROLL_DUPLICATE_AREA_DENY)
|
||||||
{
|
{
|
||||||
int remain_stage = self->max_enroll_stage - self->enroll_stage;
|
int remain_stage = self->max_enroll_stage - self->enroll_stage;
|
||||||
//check duplicate area in last 3 times
|
/* check duplicate area in last 3 times */
|
||||||
if (remain_stage > 0 && remain_stage <= 3)
|
if (remain_stage > 0 && remain_stage <= 3)
|
||||||
{
|
{
|
||||||
fpi_ssm_next_state (self->task_ssm);
|
fpi_ssm_next_state (self->task_ssm);
|
||||||
@@ -1011,10 +975,10 @@ fp_enroll_save_tpl_cb (FpiDeviceMafpmoc *self,
|
|||||||
GVariant *uid = NULL;
|
GVariant *uid = NULL;
|
||||||
GVariant *data = NULL;
|
GVariant *data = NULL;
|
||||||
GVariant *dev_sn;
|
GVariant *dev_sn;
|
||||||
guint user_id_len;
|
unsigned user_id_len;
|
||||||
guint serial_num_len;
|
unsigned serial_num_len;
|
||||||
gchar *user_id = NULL;
|
char *user_id = NULL;
|
||||||
gchar *serial_num = NULL;
|
char *serial_num = NULL;
|
||||||
|
|
||||||
if (error)
|
if (error)
|
||||||
{
|
{
|
||||||
@@ -1093,7 +1057,7 @@ mafp_pwr_btn_shield_off_cb (FpiUsbTransfer *transfer,
|
|||||||
fpi_ssm_mark_failed (transfer->ssm, error);
|
fpi_ssm_mark_failed (transfer->ssm, error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
guint8 para = 0;
|
uint8_t para = 0;
|
||||||
|
|
||||||
mafp_sensor_cmd (self, MOC_CMD_SLEEP, ¶, 1, mafp_sleep_cb);
|
mafp_sensor_cmd (self, MOC_CMD_SLEEP, ¶, 1, mafp_sleep_cb);
|
||||||
}
|
}
|
||||||
@@ -1244,7 +1208,7 @@ fp_enroll_wait_int (FpiDeviceMafpmoc *self)
|
|||||||
static int
|
static int
|
||||||
load_fp_data (FpDevice *dev)
|
load_fp_data (FpDevice *dev)
|
||||||
{
|
{
|
||||||
const gchar *filename = NULL;
|
const char *filename = NULL;
|
||||||
gboolean fp_exist = false;
|
gboolean fp_exist = false;
|
||||||
GDir *dir = g_dir_open (FPRINT_DATA_PATH, 0, NULL);
|
GDir *dir = g_dir_open (FPRINT_DATA_PATH, 0, NULL);
|
||||||
|
|
||||||
@@ -1260,11 +1224,11 @@ load_fp_data (FpDevice *dev)
|
|||||||
}
|
}
|
||||||
while (NULL != (filename = g_dir_read_name (dir)))
|
while (NULL != (filename = g_dir_read_name (dir)))
|
||||||
{
|
{
|
||||||
g_autofree gchar *user_path = g_strconcat (FPRINT_DATA_PATH, filename, NULL);
|
g_autofree char *user_path = g_strconcat (FPRINT_DATA_PATH, filename, NULL);
|
||||||
if (g_file_test (user_path, G_FILE_TEST_IS_DIR))
|
if (g_file_test (user_path, G_FILE_TEST_IS_DIR))
|
||||||
{
|
{
|
||||||
FpDeviceClass *cls = FP_DEVICE_GET_CLASS (dev);
|
FpDeviceClass *cls = FP_DEVICE_GET_CLASS (dev);
|
||||||
g_autofree gchar *module_path = g_strconcat (user_path, "/", cls->id, NULL);
|
g_autofree char *module_path = g_strconcat (user_path, "/", cls->id, NULL);
|
||||||
fp_dbg ("found data path: %s", module_path);
|
fp_dbg ("found data path: %s", module_path);
|
||||||
if (g_file_test (module_path, G_FILE_TEST_IS_DIR))
|
if (g_file_test (module_path, G_FILE_TEST_IS_DIR))
|
||||||
{
|
{
|
||||||
@@ -1301,9 +1265,9 @@ mafp_check_empty (FpiDeviceMafpmoc *self)
|
|||||||
fpi_ssm_next_state (self->task_ssm);
|
fpi_ssm_next_state (self->task_ssm);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
const gchar * str_ubuntu = "ubuntu";
|
const char * str_ubuntu = "ubuntu";
|
||||||
GString *version = g_string_new (sysinfo.version);
|
GString *version = g_string_new (sysinfo.version);
|
||||||
gchar *sys_ver = g_string_ascii_down (version)->str;
|
char *sys_ver = g_string_ascii_down (version)->str;
|
||||||
|
|
||||||
fp_dbg ("check system: %s", g_strrstr (sys_ver, str_ubuntu) ? "ubuntu" : "other");
|
fp_dbg ("check system: %s", g_strrstr (sys_ver, str_ubuntu) ? "ubuntu" : "other");
|
||||||
gboolean empty = (g_strrstr (sys_ver, str_ubuntu) && !load_fp_data (dev));
|
gboolean empty = (g_strrstr (sys_ver, str_ubuntu) && !load_fp_data (dev));
|
||||||
@@ -1325,7 +1289,7 @@ static void
|
|||||||
fp_enroll_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
fp_enroll_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
||||||
{
|
{
|
||||||
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
||||||
guint8 para[PACKAGE_DATA_SIZE_MAX] = { 0 };
|
uint8_t para[PACKAGE_DATA_SIZE_MAX] = { 0 };
|
||||||
FpPrint *print = NULL;
|
FpPrint *print = NULL;
|
||||||
uint16_t range = 1000;
|
uint16_t range = 1000;
|
||||||
|
|
||||||
@@ -1340,8 +1304,8 @@ fp_enroll_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_ENROLL_TEMPLATE_TABLE:
|
case FP_ENROLL_TEMPLATE_TABLE:
|
||||||
para[0] = 0; //page no.
|
para[0] = 0; /* page no. */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_TABLE, (const guint8 *) ¶, 1, fp_enroll_tpl_table_cb);
|
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_TABLE, (const uint8_t *) ¶, 1, fp_enroll_tpl_table_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_ENROLL_READ_TEMPLATE:
|
case FP_ENROLL_READ_TEMPLATE:
|
||||||
@@ -1381,8 +1345,8 @@ fp_enroll_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_ENROLL_VERIFY_GENERATE_FEATURE:
|
case FP_ENROLL_VERIFY_GENERATE_FEATURE:
|
||||||
para[0] = self->enroll_stage + 1; //verify buffer id start from 1
|
para[0] = self->enroll_stage + 1; /* verify buffer id start from 1 */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_GEN_FEATURE, (const guint8 *) ¶, 1, fp_enroll_gen_feature_cb);
|
mafp_sensor_cmd (self, MOC_CMD_GEN_FEATURE, (const uint8_t *) ¶, 1, fp_enroll_gen_feature_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_ENROLL_VERIFY_DUPLICATE_AREA:
|
case FP_ENROLL_VERIFY_DUPLICATE_AREA:
|
||||||
@@ -1390,41 +1354,41 @@ fp_enroll_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_ENROLL_VERIFY_SEARCH:
|
case FP_ENROLL_VERIFY_SEARCH:
|
||||||
para[0] = 1; //buffer id
|
para[0] = 1; /* buffer id */
|
||||||
para[1] = 0; //start id high
|
para[1] = 0; /* start id high */
|
||||||
para[2] = 0; //start id low
|
para[2] = 0; /* start id low */
|
||||||
para[3] = (range >> 8) & 0xff; //range high
|
para[3] = (range >> 8) & 0xff; /* range high */
|
||||||
para[4] = range & 0xff; //range low
|
para[4] = range & 0xff; /* range low */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_SEARCH, (const guint8 *) ¶, 5, fp_enroll_verify_search_cb);
|
mafp_sensor_cmd (self, MOC_CMD_SEARCH, (const uint8_t *) ¶, 5, fp_enroll_verify_search_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_ENROLL_GET_TEMPLATE_INFO:
|
case FP_ENROLL_GET_TEMPLATE_INFO:
|
||||||
para[0] = (self->search_id >> 8) & 0xff; //fp id high
|
para[0] = (self->search_id >> 8) & 0xff; /* fp id high */
|
||||||
para[1] = self->search_id & 0xff; //fp id low
|
para[1] = self->search_id & 0xff; /* fp id low */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_INFO, (const guint8 *) ¶, 2, fp_enroll_get_tpl_info_cb);
|
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_INFO, (const uint8_t *) ¶, 2, fp_enroll_get_tpl_info_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_ENROLL_SAVE_TEMPLATE_INFO:
|
case FP_ENROLL_SAVE_TEMPLATE_INFO:
|
||||||
fpi_device_get_enroll_data (device, &print);
|
fpi_device_get_enroll_data (device, &print);
|
||||||
self->enroll_user_id = fpi_print_generate_user_id (print);
|
self->enroll_user_id = fpi_print_generate_user_id (print);
|
||||||
para[0] = (self->enroll_id >> 8) & 0xff; //fp id high
|
para[0] = (self->enroll_id >> 8) & 0xff; /* fp id high */
|
||||||
para[1] = self->enroll_id & 0xff; //fp id low
|
para[1] = self->enroll_id & 0xff; /* fp id low */
|
||||||
memcpy (para + 2, self->enroll_user_id, strlen (self->enroll_user_id));
|
memcpy (para + 2, self->enroll_user_id, strlen (self->enroll_user_id));
|
||||||
fp_dbg ("user_id: %s", self->enroll_user_id);
|
fp_dbg ("user_id: %s", self->enroll_user_id);
|
||||||
mafp_sensor_cmd (self, MOC_CMD_SAVE_TEMPLATE_INFO, (const guint8 *) ¶, 2 + TEMPLATE_UID_SIZE, fp_enroll_save_tpl_info_cb);
|
mafp_sensor_cmd (self, MOC_CMD_SAVE_TEMPLATE_INFO, (const uint8_t *) ¶, 2 + TEMPLATE_UID_SIZE, fp_enroll_save_tpl_info_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_ENROLL_SAVE_TEMPLATE:
|
case FP_ENROLL_SAVE_TEMPLATE:
|
||||||
para[0] = 1; //buffer id
|
para[0] = 1; /* buffer id */
|
||||||
para[1] = (self->enroll_id >> 8) & 0xff; //fp id high
|
para[1] = (self->enroll_id >> 8) & 0xff; /* fp id high */
|
||||||
para[2] = self->enroll_id & 0xff; //fp id low
|
para[2] = self->enroll_id & 0xff; /* fp id low */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_SAVE_TEMPLATE, (const guint8 *) ¶, 3, fp_enroll_save_tpl_cb);
|
mafp_sensor_cmd (self, MOC_CMD_SAVE_TEMPLATE, (const uint8_t *) ¶, 3, fp_enroll_save_tpl_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_ENROLL_DELETE_TEMPLATE_INFO_IF_FAILED:
|
case FP_ENROLL_DELETE_TEMPLATE_INFO_IF_FAILED:
|
||||||
para[0] = (self->enroll_id >> 8) & 0xff; //fp id high
|
para[0] = (self->enroll_id >> 8) & 0xff; /* fp id high */
|
||||||
para[1] = self->enroll_id & 0xff; //fp id low
|
para[1] = self->enroll_id & 0xff; /* fp id low */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_SAVE_TEMPLATE_INFO, (const guint8 *) ¶, 130, fp_enroll_del_tpl_info_cb);
|
mafp_sensor_cmd (self, MOC_CMD_SAVE_TEMPLATE_INFO, (const uint8_t *) ¶, 130, fp_enroll_del_tpl_info_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_ENROLL_EXIT:
|
case FP_ENROLL_EXIT:
|
||||||
@@ -1487,7 +1451,6 @@ fp_verify_get_image_cb (FpiDeviceMafpmoc *self,
|
|||||||
}
|
}
|
||||||
FpVerifyState nextState = FP_VERIFY_GET_IMAGE;
|
FpVerifyState nextState = FP_VERIFY_GET_IMAGE;
|
||||||
|
|
||||||
//fp_dbg("result: %d, press_state: %d", resp->result, self->press_state);
|
|
||||||
if (self->press_state == MAFP_PRESS_WAIT_DOWN)
|
if (self->press_state == MAFP_PRESS_WAIT_DOWN)
|
||||||
{
|
{
|
||||||
fp_dbg ("wait finger down state %d", resp->result);
|
fp_dbg ("wait finger down state %d", resp->result);
|
||||||
@@ -1802,7 +1765,7 @@ static void
|
|||||||
fp_verify_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
fp_verify_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
||||||
{
|
{
|
||||||
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
||||||
guint8 para[PACKAGE_DATA_SIZE_MAX] = { 0 };
|
uint8_t para[PACKAGE_DATA_SIZE_MAX] = { 0 };
|
||||||
GPtrArray *prints = NULL;
|
GPtrArray *prints = NULL;
|
||||||
FpPrint *print = NULL;
|
FpPrint *print = NULL;
|
||||||
|
|
||||||
@@ -1813,8 +1776,8 @@ fp_verify_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_VERIFY_TEMPLATE_TABLE:
|
case FP_VERIFY_TEMPLATE_TABLE:
|
||||||
para[0] = 0; //page no.
|
para[0] = 0; /* page no. */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_TABLE, (const guint8 *) ¶, 1, fp_verify_tpl_table_cb);
|
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_TABLE, (const uint8_t *) ¶, 1, fp_verify_tpl_table_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_VERIFY_GET_STARTUP_RESULT:
|
case FP_VERIFY_GET_STARTUP_RESULT:
|
||||||
@@ -1854,8 +1817,8 @@ fp_verify_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_VERIFY_GENERATE_FEATURE:
|
case FP_VERIFY_GENERATE_FEATURE:
|
||||||
para[0] = 1; //buffer id
|
para[0] = 1; /* buffer id */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_GEN_FEATURE, (const guint8 *) ¶, 1, fp_verify_gen_feature_cb);
|
mafp_sensor_cmd (self, MOC_CMD_GEN_FEATURE, (const uint8_t *) ¶, 1, fp_verify_gen_feature_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_VERIFY_SEARCH_STEP:
|
case FP_VERIFY_SEARCH_STEP:
|
||||||
@@ -1884,7 +1847,7 @@ fp_verify_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
|||||||
self->search_id = tpl.id;
|
self->search_id = tpl.id;
|
||||||
para[0] = (tpl.id >> 8) & 0xff;
|
para[0] = (tpl.id >> 8) & 0xff;
|
||||||
para[1] = tpl.id & 0xff;
|
para[1] = tpl.id & 0xff;
|
||||||
mafp_sensor_cmd (self, MOC_CMD_MATCH_WITHFID, (const guint8 *) ¶, 2, fp_verify_search_step_cb);
|
mafp_sensor_cmd (self, MOC_CMD_MATCH_WITHFID, (const uint8_t *) ¶, 2, fp_verify_search_step_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_VERIFY_GET_TEMPLATE_INFO:
|
case FP_VERIFY_GET_TEMPLATE_INFO:
|
||||||
@@ -1896,9 +1859,9 @@ fp_verify_sm_run_state (FpiSsm *ssm, FpDevice *device)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
para[0] = (self->search_id >> 8) & 0xff; //fp id high
|
para[0] = (self->search_id >> 8) & 0xff; /* fp id high */
|
||||||
para[1] = self->search_id & 0xff; //fp id low
|
para[1] = self->search_id & 0xff; /* fp id low */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_INFO, (const guint8 *) ¶, 2, fp_verify_get_tpl_info_cb);
|
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_INFO, (const uint8_t *) ¶, 2, fp_verify_get_tpl_info_cb);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -2005,19 +1968,19 @@ static void
|
|||||||
fp_list_run_state (FpiSsm *ssm, FpDevice *device)
|
fp_list_run_state (FpiSsm *ssm, FpDevice *device)
|
||||||
{
|
{
|
||||||
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
||||||
guint8 para[PACKAGE_DATA_SIZE_MAX] = { 0 };
|
uint8_t para[PACKAGE_DATA_SIZE_MAX] = { 0 };
|
||||||
|
|
||||||
switch (fpi_ssm_get_cur_state (ssm))
|
switch (fpi_ssm_get_cur_state (ssm))
|
||||||
{
|
{
|
||||||
case FP_LIST_TEMPLATE_TABLE:
|
case FP_LIST_TEMPLATE_TABLE:
|
||||||
para[0] = 0; //page no.
|
para[0] = 0; /* page no. */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_TABLE, (const guint8 *) ¶, 1, fp_list_tpl_table_cb);
|
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_TABLE, (const uint8_t *) ¶, 1, fp_list_tpl_table_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_LIST_GET_TEMPLATE_INFO:
|
case FP_LIST_GET_TEMPLATE_INFO:
|
||||||
para[0] = (self->templates->total_list[self->templates->index].id >> 8) & 0xff; //fp id high
|
para[0] = (self->templates->total_list[self->templates->index].id >> 8) & 0xff; /* fp id high */
|
||||||
para[1] = self->templates->total_list[self->templates->index].id & 0xff; //fp id low
|
para[1] = self->templates->total_list[self->templates->index].id & 0xff; /* fp id low */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_INFO, (const guint8 *) ¶, 2, fp_list_get_tpl_info_cb);
|
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_INFO, (const uint8_t *) ¶, 2, fp_list_get_tpl_info_cb);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2102,7 +2065,7 @@ fp_delete_get_tpl_info_cb (FpiDeviceMafpmoc *self,
|
|||||||
"Failed to match device serial number");
|
"Failed to match device serial number");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (g_strcmp0 (resp->tpl_info.uid, tpl.uid) != 0)
|
if (!g_str_equal (resp->tpl_info.uid, tpl.uid))
|
||||||
{
|
{
|
||||||
mafp_mark_failed (dev, self->task_ssm, FP_DEVICE_ERROR_GENERAL,
|
mafp_mark_failed (dev, self->task_ssm, FP_DEVICE_ERROR_GENERAL,
|
||||||
"Failed to match template uid");
|
"Failed to match template uid");
|
||||||
@@ -2167,7 +2130,7 @@ static void
|
|||||||
fp_delete_run_state (FpiSsm *ssm, FpDevice *device)
|
fp_delete_run_state (FpiSsm *ssm, FpDevice *device)
|
||||||
{
|
{
|
||||||
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
||||||
guint8 para[PACKAGE_DATA_SIZE_MAX] = { 0 };
|
uint8_t para[PACKAGE_DATA_SIZE_MAX] = { 0 };
|
||||||
FpPrint *print = NULL;
|
FpPrint *print = NULL;
|
||||||
|
|
||||||
fpi_device_get_delete_data (device, &print);
|
fpi_device_get_delete_data (device, &print);
|
||||||
@@ -2176,28 +2139,28 @@ fp_delete_run_state (FpiSsm *ssm, FpDevice *device)
|
|||||||
switch (fpi_ssm_get_cur_state (ssm))
|
switch (fpi_ssm_get_cur_state (ssm))
|
||||||
{
|
{
|
||||||
case FP_DELETE_TEMPLATE_TABLE:
|
case FP_DELETE_TEMPLATE_TABLE:
|
||||||
para[0] = 0; //page no.
|
para[0] = 0; /* page no. */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_TABLE, (const guint8 *) ¶, 1, fp_delete_tpl_table_cb);
|
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_TABLE, (const uint8_t *) ¶, 1, fp_delete_tpl_table_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_DELETE_GET_TEMPLATE_INFO:
|
case FP_DELETE_GET_TEMPLATE_INFO:
|
||||||
para[0] = (delete_tpl.id >> 8) & 0xff; //fp id high
|
para[0] = (delete_tpl.id >> 8) & 0xff; /* fp id high */
|
||||||
para[1] = delete_tpl.id & 0xff; //fp id low
|
para[1] = delete_tpl.id & 0xff; /* fp id low */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_INFO, (const guint8 *) ¶, 2, fp_delete_get_tpl_info_cb);
|
mafp_sensor_cmd (self, MOC_CMD_GET_TEMPLATE_INFO, (const uint8_t *) ¶, 2, fp_delete_get_tpl_info_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_DELETE_CLEAR_TEMPLATE_INFO:
|
case FP_DELETE_CLEAR_TEMPLATE_INFO:
|
||||||
para[0] = (delete_tpl.id >> 8) & 0xff; //fp id high
|
para[0] = (delete_tpl.id >> 8) & 0xff; /* fp id high */
|
||||||
para[1] = delete_tpl.id & 0xff; //fp id low
|
para[1] = delete_tpl.id & 0xff; /* fp id low */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_SAVE_TEMPLATE_INFO, (const guint8 *) ¶, 130, fp_delete_clear_tpl_info_cb);
|
mafp_sensor_cmd (self, MOC_CMD_SAVE_TEMPLATE_INFO, (const uint8_t *) ¶, 130, fp_delete_clear_tpl_info_cb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FP_DELETE_TEMPLATE:
|
case FP_DELETE_TEMPLATE:
|
||||||
para[0] = (delete_tpl.id >> 8) & 0xff; //tpl id high
|
para[0] = (delete_tpl.id >> 8) & 0xff; /* tpl id high */
|
||||||
para[1] = delete_tpl.id & 0xff; //tpl id low
|
para[1] = delete_tpl.id & 0xff; /* tpl id low */
|
||||||
para[2] = 0; //range high
|
para[2] = 0; /* range high */
|
||||||
para[3] = 1; //range low
|
para[3] = 1; /* range low */
|
||||||
mafp_sensor_cmd (self, MOC_CMD_DELETE_TEMPLATE, (const guint8 *) ¶, 4, fp_delete_tpl_cb);
|
mafp_sensor_cmd (self, MOC_CMD_DELETE_TEMPLATE, (const uint8_t *) ¶, 4, fp_delete_tpl_cb);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2273,14 +2236,14 @@ fp_delete_all_ssm_done (FpiSsm *ssm, FpDevice *dev, GError *error)
|
|||||||
static void
|
static void
|
||||||
mafp_probe (FpDevice *device)
|
mafp_probe (FpDevice *device)
|
||||||
{
|
{
|
||||||
fp_dbg ("mafp_probe");
|
g_autoptr(GUsbInterface) interface = NULL;
|
||||||
GUsbDevice *usb_dev;
|
GUsbDevice *usb_dev;
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
||||||
g_autofree gchar *serial = NULL;
|
g_autofree char *serial = NULL;
|
||||||
|
uint64_t driver_data;
|
||||||
|
|
||||||
g_autoptr(GUsbInterface) interface = NULL;
|
fp_dbg ("mafp_probe");
|
||||||
guint64 driver_data;
|
|
||||||
|
|
||||||
usb_dev = fpi_device_get_usb_device (device);
|
usb_dev = fpi_device_get_usb_device (device);
|
||||||
if (!g_usb_device_open (usb_dev, &error))
|
if (!g_usb_device_open (usb_dev, &error))
|
||||||
@@ -2347,7 +2310,7 @@ mafp_init (FpDevice *device)
|
|||||||
fp_dbg ("mafp_init");
|
fp_dbg ("mafp_init");
|
||||||
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
FpiDeviceMafpmoc *self = FPI_DEVICE_MAFPMOC (device);
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
guint64 driver_data;
|
uint64_t driver_data;
|
||||||
|
|
||||||
driver_data = fpi_device_get_driver_data (device);
|
driver_data = fpi_device_get_driver_data (device);
|
||||||
fp_dbg ("driver_data 0x%zx", driver_data);
|
fp_dbg ("driver_data 0x%zx", driver_data);
|
||||||
@@ -2527,4 +2490,4 @@ fpi_device_mafpmoc_class_init (FpiDeviceMafpmocClass *klass)
|
|||||||
dev_class->list = mafp_template_list;
|
dev_class->list = mafp_template_list;
|
||||||
|
|
||||||
fpi_device_class_auto_initialize_features (dev_class);
|
fpi_device_class_auto_initialize_features (dev_class);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user