Use a common backend type for the device and parser layers.
This commit is contained in:
parent
9136a52835
commit
163d383332
@ -51,7 +51,7 @@ static const char *g_cachedir = NULL;
|
||||
static int g_cachedir_read = 1;
|
||||
|
||||
typedef struct device_data_t {
|
||||
device_type_t backend;
|
||||
dc_family_t backend;
|
||||
device_devinfo_t devinfo;
|
||||
device_clock_t clock;
|
||||
} device_data_t;
|
||||
@ -70,36 +70,36 @@ typedef struct sample_data_t {
|
||||
|
||||
typedef struct backend_table_t {
|
||||
const char *name;
|
||||
device_type_t type;
|
||||
dc_family_t type;
|
||||
} backend_table_t;
|
||||
|
||||
static const backend_table_t g_backends[] = {
|
||||
{"solution", DEVICE_TYPE_SUUNTO_SOLUTION},
|
||||
{"eon", DEVICE_TYPE_SUUNTO_EON},
|
||||
{"vyper", DEVICE_TYPE_SUUNTO_VYPER},
|
||||
{"vyper2", DEVICE_TYPE_SUUNTO_VYPER2},
|
||||
{"d9", DEVICE_TYPE_SUUNTO_D9},
|
||||
{"aladin", DEVICE_TYPE_UWATEC_ALADIN},
|
||||
{"memomouse", DEVICE_TYPE_UWATEC_MEMOMOUSE},
|
||||
{"smart", DEVICE_TYPE_UWATEC_SMART},
|
||||
{"sensus", DEVICE_TYPE_REEFNET_SENSUS},
|
||||
{"sensuspro", DEVICE_TYPE_REEFNET_SENSUSPRO},
|
||||
{"sensusultra", DEVICE_TYPE_REEFNET_SENSUSULTRA},
|
||||
{"vtpro", DEVICE_TYPE_OCEANIC_VTPRO},
|
||||
{"veo250", DEVICE_TYPE_OCEANIC_VEO250},
|
||||
{"atom2", DEVICE_TYPE_OCEANIC_ATOM2},
|
||||
{"nemo", DEVICE_TYPE_MARES_NEMO},
|
||||
{"puck", DEVICE_TYPE_MARES_PUCK},
|
||||
{"darwin", DEVICE_TYPE_MARES_DARWIN},
|
||||
{"iconhd", DEVICE_TYPE_MARES_ICONHD},
|
||||
{"ostc", DEVICE_TYPE_HW_OSTC},
|
||||
{"frog", DEVICE_TYPE_HW_FROG},
|
||||
{"edy", DEVICE_TYPE_CRESSI_EDY},
|
||||
{"n2ition3", DEVICE_TYPE_ZEAGLE_N2ITION3},
|
||||
{"cobalt", DEVICE_TYPE_ATOMICS_COBALT}
|
||||
{"solution", DC_FAMILY_SUUNTO_SOLUTION},
|
||||
{"eon", DC_FAMILY_SUUNTO_EON},
|
||||
{"vyper", DC_FAMILY_SUUNTO_VYPER},
|
||||
{"vyper2", DC_FAMILY_SUUNTO_VYPER2},
|
||||
{"d9", DC_FAMILY_SUUNTO_D9},
|
||||
{"aladin", DC_FAMILY_UWATEC_ALADIN},
|
||||
{"memomouse", DC_FAMILY_UWATEC_MEMOMOUSE},
|
||||
{"smart", DC_FAMILY_UWATEC_SMART},
|
||||
{"sensus", DC_FAMILY_REEFNET_SENSUS},
|
||||
{"sensuspro", DC_FAMILY_REEFNET_SENSUSPRO},
|
||||
{"sensusultra", DC_FAMILY_REEFNET_SENSUSULTRA},
|
||||
{"vtpro", DC_FAMILY_OCEANIC_VTPRO},
|
||||
{"veo250", DC_FAMILY_OCEANIC_VEO250},
|
||||
{"atom2", DC_FAMILY_OCEANIC_ATOM2},
|
||||
{"nemo", DC_FAMILY_MARES_NEMO},
|
||||
{"puck", DC_FAMILY_MARES_PUCK},
|
||||
{"darwin", DC_FAMILY_MARES_DARWIN},
|
||||
{"iconhd", DC_FAMILY_MARES_ICONHD},
|
||||
{"ostc", DC_FAMILY_HW_OSTC},
|
||||
{"frog", DC_FAMILY_HW_FROG},
|
||||
{"edy", DC_FAMILY_CRESSI_EDY},
|
||||
{"n2ition3", DC_FAMILY_ZEAGLE_N2ITION3},
|
||||
{"cobalt", DC_FAMILY_ATOMICS_COBALT}
|
||||
};
|
||||
|
||||
static device_type_t
|
||||
static dc_family_t
|
||||
lookup_type (const char *name)
|
||||
{
|
||||
unsigned int nbackends = sizeof (g_backends) / sizeof (g_backends[0]);
|
||||
@ -108,11 +108,11 @@ lookup_type (const char *name)
|
||||
return g_backends[i].type;
|
||||
}
|
||||
|
||||
return DEVICE_TYPE_NULL;
|
||||
return DC_FAMILY_NULL;
|
||||
}
|
||||
|
||||
static const char *
|
||||
lookup_name (device_type_t type)
|
||||
lookup_name (dc_family_t type)
|
||||
{
|
||||
unsigned int nbackends = sizeof (g_backends) / sizeof (g_backends[0]);
|
||||
for (unsigned int i = 0; i < nbackends; ++i) {
|
||||
@ -160,7 +160,7 @@ fpconvert (const char *fingerprint)
|
||||
}
|
||||
|
||||
static dc_buffer_t *
|
||||
fpread (const char *dirname, device_type_t backend, unsigned int serial)
|
||||
fpread (const char *dirname, dc_family_t backend, unsigned int serial)
|
||||
{
|
||||
// Build the filename.
|
||||
char filename[1024] = {0};
|
||||
@ -189,7 +189,7 @@ fpread (const char *dirname, device_type_t backend, unsigned int serial)
|
||||
}
|
||||
|
||||
static void
|
||||
fpwrite (dc_buffer_t *buffer, const char *dirname, device_type_t backend, unsigned int serial)
|
||||
fpwrite (dc_buffer_t *buffer, const char *dirname, dc_family_t backend, unsigned int serial)
|
||||
{
|
||||
// Check the buffer size.
|
||||
if (dc_buffer_get_size (buffer) == 0)
|
||||
@ -291,68 +291,68 @@ doparse (FILE *fp, device_data_t *devdata, const unsigned char data[], unsigned
|
||||
parser_t *parser = NULL;
|
||||
dc_status_t rc = DC_STATUS_SUCCESS;
|
||||
switch (devdata->backend) {
|
||||
case DEVICE_TYPE_SUUNTO_SOLUTION:
|
||||
case DC_FAMILY_SUUNTO_SOLUTION:
|
||||
rc = suunto_solution_parser_create (&parser);
|
||||
break;
|
||||
case DEVICE_TYPE_SUUNTO_EON:
|
||||
case DC_FAMILY_SUUNTO_EON:
|
||||
rc = suunto_eon_parser_create (&parser, 0);
|
||||
break;
|
||||
case DEVICE_TYPE_SUUNTO_VYPER:
|
||||
case DC_FAMILY_SUUNTO_VYPER:
|
||||
if (devdata->devinfo.model == 0x01)
|
||||
rc = suunto_eon_parser_create (&parser, 1);
|
||||
else
|
||||
rc = suunto_vyper_parser_create (&parser);
|
||||
break;
|
||||
case DEVICE_TYPE_SUUNTO_VYPER2:
|
||||
case DEVICE_TYPE_SUUNTO_D9:
|
||||
case DC_FAMILY_SUUNTO_VYPER2:
|
||||
case DC_FAMILY_SUUNTO_D9:
|
||||
rc = suunto_d9_parser_create (&parser, devdata->devinfo.model);
|
||||
break;
|
||||
case DEVICE_TYPE_UWATEC_ALADIN:
|
||||
case DEVICE_TYPE_UWATEC_MEMOMOUSE:
|
||||
case DC_FAMILY_UWATEC_ALADIN:
|
||||
case DC_FAMILY_UWATEC_MEMOMOUSE:
|
||||
rc = uwatec_memomouse_parser_create (&parser, devdata->clock.devtime, devdata->clock.systime);
|
||||
break;
|
||||
case DEVICE_TYPE_UWATEC_SMART:
|
||||
case DC_FAMILY_UWATEC_SMART:
|
||||
rc = uwatec_smart_parser_create (&parser, devdata->devinfo.model, devdata->clock.devtime, devdata->clock.systime);
|
||||
break;
|
||||
case DEVICE_TYPE_REEFNET_SENSUS:
|
||||
case DC_FAMILY_REEFNET_SENSUS:
|
||||
rc = reefnet_sensus_parser_create (&parser, devdata->clock.devtime, devdata->clock.systime);
|
||||
break;
|
||||
case DEVICE_TYPE_REEFNET_SENSUSPRO:
|
||||
case DC_FAMILY_REEFNET_SENSUSPRO:
|
||||
rc = reefnet_sensuspro_parser_create (&parser, devdata->clock.devtime, devdata->clock.systime);
|
||||
break;
|
||||
case DEVICE_TYPE_REEFNET_SENSUSULTRA:
|
||||
case DC_FAMILY_REEFNET_SENSUSULTRA:
|
||||
rc = reefnet_sensusultra_parser_create (&parser, devdata->clock.devtime, devdata->clock.systime);
|
||||
break;
|
||||
case DEVICE_TYPE_OCEANIC_VTPRO:
|
||||
case DC_FAMILY_OCEANIC_VTPRO:
|
||||
rc = oceanic_vtpro_parser_create (&parser);
|
||||
break;
|
||||
case DEVICE_TYPE_OCEANIC_VEO250:
|
||||
case DC_FAMILY_OCEANIC_VEO250:
|
||||
rc = oceanic_veo250_parser_create (&parser, devdata->devinfo.model);
|
||||
break;
|
||||
case DEVICE_TYPE_OCEANIC_ATOM2:
|
||||
case DC_FAMILY_OCEANIC_ATOM2:
|
||||
rc = oceanic_atom2_parser_create (&parser, devdata->devinfo.model);
|
||||
break;
|
||||
case DEVICE_TYPE_MARES_NEMO:
|
||||
case DEVICE_TYPE_MARES_PUCK:
|
||||
case DC_FAMILY_MARES_NEMO:
|
||||
case DC_FAMILY_MARES_PUCK:
|
||||
rc = mares_nemo_parser_create (&parser, devdata->devinfo.model);
|
||||
break;
|
||||
case DEVICE_TYPE_MARES_DARWIN:
|
||||
case DC_FAMILY_MARES_DARWIN:
|
||||
rc = mares_darwin_parser_create (&parser, devdata->devinfo.model);
|
||||
break;
|
||||
case DEVICE_TYPE_MARES_ICONHD:
|
||||
case DC_FAMILY_MARES_ICONHD:
|
||||
rc = mares_iconhd_parser_create (&parser, devdata->devinfo.model);
|
||||
break;
|
||||
case DEVICE_TYPE_HW_OSTC:
|
||||
case DC_FAMILY_HW_OSTC:
|
||||
rc = hw_ostc_parser_create (&parser, 0);
|
||||
break;
|
||||
case DEVICE_TYPE_HW_FROG:
|
||||
case DC_FAMILY_HW_FROG:
|
||||
rc = hw_ostc_parser_create (&parser, 1);
|
||||
break;
|
||||
case DEVICE_TYPE_CRESSI_EDY:
|
||||
case DEVICE_TYPE_ZEAGLE_N2ITION3:
|
||||
case DC_FAMILY_CRESSI_EDY:
|
||||
case DC_FAMILY_ZEAGLE_N2ITION3:
|
||||
rc = cressi_edy_parser_create (&parser, devdata->devinfo.model);
|
||||
break;
|
||||
case DEVICE_TYPE_ATOMICS_COBALT:
|
||||
case DC_FAMILY_ATOMICS_COBALT:
|
||||
rc = atomics_cobalt_parser_create (&parser);
|
||||
break;
|
||||
default:
|
||||
@ -578,7 +578,7 @@ usage (const char *filename)
|
||||
|
||||
|
||||
static dc_status_t
|
||||
dowork (device_type_t backend, unsigned int model, const char *devname, const char *rawfile, const char *xmlfile, int memory, int dives, dc_buffer_t *fingerprint)
|
||||
dowork (dc_family_t backend, unsigned int model, const char *devname, const char *rawfile, const char *xmlfile, int memory, int dives, dc_buffer_t *fingerprint)
|
||||
{
|
||||
dc_status_t rc = DC_STATUS_SUCCESS;
|
||||
|
||||
@ -591,73 +591,73 @@ dowork (device_type_t backend, unsigned int model, const char *devname, const ch
|
||||
lookup_name (backend), devname ? devname : "null");
|
||||
device_t *device = NULL;
|
||||
switch (backend) {
|
||||
case DEVICE_TYPE_SUUNTO_SOLUTION:
|
||||
case DC_FAMILY_SUUNTO_SOLUTION:
|
||||
rc = suunto_solution_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_SUUNTO_EON:
|
||||
case DC_FAMILY_SUUNTO_EON:
|
||||
rc = suunto_eon_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_SUUNTO_VYPER:
|
||||
case DC_FAMILY_SUUNTO_VYPER:
|
||||
rc = suunto_vyper_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_SUUNTO_VYPER2:
|
||||
case DC_FAMILY_SUUNTO_VYPER2:
|
||||
rc = suunto_vyper2_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_SUUNTO_D9:
|
||||
case DC_FAMILY_SUUNTO_D9:
|
||||
rc = suunto_d9_device_open (&device, devname, model);
|
||||
break;
|
||||
case DEVICE_TYPE_UWATEC_ALADIN:
|
||||
case DC_FAMILY_UWATEC_ALADIN:
|
||||
rc = uwatec_aladin_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_UWATEC_MEMOMOUSE:
|
||||
case DC_FAMILY_UWATEC_MEMOMOUSE:
|
||||
rc = uwatec_memomouse_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_UWATEC_SMART:
|
||||
case DC_FAMILY_UWATEC_SMART:
|
||||
rc = uwatec_smart_device_open (&device);
|
||||
break;
|
||||
case DEVICE_TYPE_REEFNET_SENSUS:
|
||||
case DC_FAMILY_REEFNET_SENSUS:
|
||||
rc = reefnet_sensus_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_REEFNET_SENSUSPRO:
|
||||
case DC_FAMILY_REEFNET_SENSUSPRO:
|
||||
rc = reefnet_sensuspro_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_REEFNET_SENSUSULTRA:
|
||||
case DC_FAMILY_REEFNET_SENSUSULTRA:
|
||||
rc = reefnet_sensusultra_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_OCEANIC_VTPRO:
|
||||
case DC_FAMILY_OCEANIC_VTPRO:
|
||||
rc = oceanic_vtpro_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_OCEANIC_VEO250:
|
||||
case DC_FAMILY_OCEANIC_VEO250:
|
||||
rc = oceanic_veo250_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_OCEANIC_ATOM2:
|
||||
case DC_FAMILY_OCEANIC_ATOM2:
|
||||
rc = oceanic_atom2_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_MARES_NEMO:
|
||||
case DC_FAMILY_MARES_NEMO:
|
||||
rc = mares_nemo_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_MARES_PUCK:
|
||||
case DC_FAMILY_MARES_PUCK:
|
||||
rc = mares_puck_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_MARES_DARWIN:
|
||||
case DC_FAMILY_MARES_DARWIN:
|
||||
rc = mares_darwin_device_open (&device, devname, model);
|
||||
break;
|
||||
case DEVICE_TYPE_MARES_ICONHD:
|
||||
case DC_FAMILY_MARES_ICONHD:
|
||||
rc = mares_iconhd_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_HW_OSTC:
|
||||
case DC_FAMILY_HW_OSTC:
|
||||
rc = hw_ostc_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_HW_FROG:
|
||||
case DC_FAMILY_HW_FROG:
|
||||
rc = hw_frog_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_CRESSI_EDY:
|
||||
case DC_FAMILY_CRESSI_EDY:
|
||||
rc = cressi_edy_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_ZEAGLE_N2ITION3:
|
||||
case DC_FAMILY_ZEAGLE_N2ITION3:
|
||||
rc = zeagle_n2ition3_device_open (&device, devname);
|
||||
break;
|
||||
case DEVICE_TYPE_ATOMICS_COBALT:
|
||||
case DC_FAMILY_ATOMICS_COBALT:
|
||||
rc = atomics_cobalt_device_open (&device);
|
||||
break;
|
||||
default:
|
||||
@ -773,7 +773,7 @@ int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
// Default values.
|
||||
device_type_t backend = DEVICE_TYPE_NULL;
|
||||
dc_family_t backend = DC_FAMILY_NULL;
|
||||
const char *logfile = "output.log";
|
||||
const char *rawfile = "output.bin";
|
||||
const char *xmlfile = "output.xml";
|
||||
@ -836,7 +836,7 @@ main (int argc, char *argv[])
|
||||
}
|
||||
|
||||
// The backend is a mandatory argument.
|
||||
if (backend == DEVICE_TYPE_NULL) {
|
||||
if (backend == DC_FAMILY_NULL) {
|
||||
usage (argv[0]);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
@ -40,6 +40,42 @@ typedef enum dc_status_t {
|
||||
DC_STATUS_CANCELLED = -10
|
||||
} dc_status_t;
|
||||
|
||||
typedef enum dc_family_t {
|
||||
DC_FAMILY_NULL = 0,
|
||||
/* Suunto */
|
||||
DC_FAMILY_SUUNTO_SOLUTION = (1 << 16),
|
||||
DC_FAMILY_SUUNTO_EON,
|
||||
DC_FAMILY_SUUNTO_VYPER,
|
||||
DC_FAMILY_SUUNTO_VYPER2,
|
||||
DC_FAMILY_SUUNTO_D9,
|
||||
/* Reefnet */
|
||||
DC_FAMILY_REEFNET_SENSUS = (2 << 16),
|
||||
DC_FAMILY_REEFNET_SENSUSPRO,
|
||||
DC_FAMILY_REEFNET_SENSUSULTRA,
|
||||
/* Uwatec */
|
||||
DC_FAMILY_UWATEC_ALADIN = (3 << 16),
|
||||
DC_FAMILY_UWATEC_MEMOMOUSE,
|
||||
DC_FAMILY_UWATEC_SMART,
|
||||
/* Oceanic */
|
||||
DC_FAMILY_OCEANIC_VTPRO = (4 << 16),
|
||||
DC_FAMILY_OCEANIC_VEO250,
|
||||
DC_FAMILY_OCEANIC_ATOM2,
|
||||
/* Mares */
|
||||
DC_FAMILY_MARES_NEMO = (5 << 16),
|
||||
DC_FAMILY_MARES_PUCK,
|
||||
DC_FAMILY_MARES_DARWIN,
|
||||
DC_FAMILY_MARES_ICONHD,
|
||||
/* Heinrichs Weikamp */
|
||||
DC_FAMILY_HW_OSTC = (6 << 16),
|
||||
DC_FAMILY_HW_FROG,
|
||||
/* Cressi */
|
||||
DC_FAMILY_CRESSI_EDY = (7 << 16),
|
||||
/* Zeagle */
|
||||
DC_FAMILY_ZEAGLE_N2ITION3 = (8 << 16),
|
||||
/* Atomic Aquatics */
|
||||
DC_FAMILY_ATOMICS_COBALT = (9 << 16)
|
||||
} dc_family_t;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
@ -30,33 +30,6 @@
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
typedef enum device_type_t {
|
||||
DEVICE_TYPE_NULL = 0,
|
||||
DEVICE_TYPE_SUUNTO_SOLUTION,
|
||||
DEVICE_TYPE_SUUNTO_EON,
|
||||
DEVICE_TYPE_SUUNTO_VYPER,
|
||||
DEVICE_TYPE_SUUNTO_VYPER2,
|
||||
DEVICE_TYPE_SUUNTO_D9,
|
||||
DEVICE_TYPE_REEFNET_SENSUS,
|
||||
DEVICE_TYPE_REEFNET_SENSUSPRO,
|
||||
DEVICE_TYPE_REEFNET_SENSUSULTRA,
|
||||
DEVICE_TYPE_UWATEC_ALADIN,
|
||||
DEVICE_TYPE_UWATEC_MEMOMOUSE,
|
||||
DEVICE_TYPE_UWATEC_SMART,
|
||||
DEVICE_TYPE_OCEANIC_ATOM2,
|
||||
DEVICE_TYPE_OCEANIC_VEO250,
|
||||
DEVICE_TYPE_OCEANIC_VTPRO,
|
||||
DEVICE_TYPE_MARES_NEMO,
|
||||
DEVICE_TYPE_MARES_PUCK,
|
||||
DEVICE_TYPE_MARES_DARWIN,
|
||||
DEVICE_TYPE_MARES_ICONHD,
|
||||
DEVICE_TYPE_HW_OSTC,
|
||||
DEVICE_TYPE_HW_FROG,
|
||||
DEVICE_TYPE_CRESSI_EDY,
|
||||
DEVICE_TYPE_ZEAGLE_N2ITION3,
|
||||
DEVICE_TYPE_ATOMICS_COBALT
|
||||
} device_type_t;
|
||||
|
||||
typedef enum device_event_t {
|
||||
DEVICE_EVENT_WAITING = (1 << 0),
|
||||
DEVICE_EVENT_PROGRESS = (1 << 1),
|
||||
@ -88,7 +61,7 @@ typedef void (*device_event_callback_t) (device_t *device, device_event_t event,
|
||||
|
||||
typedef int (*dive_callback_t) (const unsigned char *data, unsigned int size, const unsigned char *fingerprint, unsigned int fsize, void *userdata);
|
||||
|
||||
device_type_t device_get_type (device_t *device);
|
||||
dc_family_t device_get_type (device_t *device);
|
||||
|
||||
dc_status_t device_set_cancel (device_t *device, device_cancel_callback_t callback, void *userdata);
|
||||
|
||||
|
||||
@ -29,28 +29,6 @@
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
typedef enum parser_type_t {
|
||||
PARSER_TYPE_NULL = 0,
|
||||
PARSER_TYPE_SUUNTO_SOLUTION,
|
||||
PARSER_TYPE_SUUNTO_EON,
|
||||
PARSER_TYPE_SUUNTO_VYPER,
|
||||
PARSER_TYPE_SUUNTO_D9,
|
||||
PARSER_TYPE_REEFNET_SENSUS,
|
||||
PARSER_TYPE_REEFNET_SENSUSPRO,
|
||||
PARSER_TYPE_REEFNET_SENSUSULTRA,
|
||||
PARSER_TYPE_UWATEC_MEMOMOUSE,
|
||||
PARSER_TYPE_UWATEC_SMART,
|
||||
PARSER_TYPE_MARES_NEMO,
|
||||
PARSER_TYPE_MARES_DARWIN,
|
||||
PARSER_TYPE_MARES_ICONHD,
|
||||
PARSER_TYPE_OCEANIC_VTPRO,
|
||||
PARSER_TYPE_OCEANIC_VEO250,
|
||||
PARSER_TYPE_OCEANIC_ATOM2,
|
||||
PARSER_TYPE_HW_OSTC,
|
||||
PARSER_TYPE_CRESSI_EDY,
|
||||
PARSER_TYPE_ATOMICS_COBALT
|
||||
} parser_type_t;
|
||||
|
||||
typedef enum parser_sample_type_t {
|
||||
SAMPLE_TYPE_TIME,
|
||||
SAMPLE_TYPE_DEPTH,
|
||||
@ -148,7 +126,7 @@ typedef struct parser_t parser_t;
|
||||
|
||||
typedef void (*sample_callback_t) (parser_sample_type_t type, parser_sample_value_t value, void *userdata);
|
||||
|
||||
parser_type_t
|
||||
dc_family_t
|
||||
parser_get_type (parser_t *device);
|
||||
|
||||
dc_status_t
|
||||
|
||||
@ -63,7 +63,7 @@ static dc_status_t atomics_cobalt_device_foreach (device_t *abstract, dive_callb
|
||||
static dc_status_t atomics_cobalt_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t atomics_cobalt_device_backend = {
|
||||
DEVICE_TYPE_ATOMICS_COBALT,
|
||||
DC_FAMILY_ATOMICS_COBALT,
|
||||
atomics_cobalt_device_set_fingerprint, /* set_fingerprint */
|
||||
atomics_cobalt_device_version, /* version */
|
||||
NULL, /* read */
|
||||
|
||||
@ -49,7 +49,7 @@ static dc_status_t atomics_cobalt_parser_samples_foreach (parser_t *abstract, sa
|
||||
static dc_status_t atomics_cobalt_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t atomics_cobalt_parser_backend = {
|
||||
PARSER_TYPE_ATOMICS_COBALT,
|
||||
DC_FAMILY_ATOMICS_COBALT,
|
||||
atomics_cobalt_parser_set_data, /* set_data */
|
||||
atomics_cobalt_parser_get_datetime, /* datetime */
|
||||
atomics_cobalt_parser_get_field, /* fields */
|
||||
|
||||
@ -62,7 +62,7 @@ static dc_status_t cressi_edy_device_foreach (device_t *abstract, dive_callback_
|
||||
static dc_status_t cressi_edy_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t cressi_edy_device_backend = {
|
||||
DEVICE_TYPE_CRESSI_EDY,
|
||||
DC_FAMILY_CRESSI_EDY,
|
||||
cressi_edy_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
cressi_edy_device_read, /* read */
|
||||
|
||||
@ -41,7 +41,7 @@ static dc_status_t cressi_edy_parser_samples_foreach (parser_t *abstract, sample
|
||||
static dc_status_t cressi_edy_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t cressi_edy_parser_backend = {
|
||||
PARSER_TYPE_CRESSI_EDY,
|
||||
DC_FAMILY_CRESSI_EDY,
|
||||
cressi_edy_parser_set_data, /* set_data */
|
||||
cressi_edy_parser_get_datetime, /* datetime */
|
||||
cressi_edy_parser_get_field, /* fields */
|
||||
|
||||
@ -49,7 +49,7 @@ struct device_t {
|
||||
};
|
||||
|
||||
struct device_backend_t {
|
||||
device_type_t type;
|
||||
dc_family_t type;
|
||||
|
||||
dc_status_t (*set_fingerprint) (device_t *device, const unsigned char data[], unsigned int size);
|
||||
|
||||
|
||||
@ -39,11 +39,11 @@ device_init (device_t *device, const device_backend_t *backend)
|
||||
}
|
||||
|
||||
|
||||
device_type_t
|
||||
dc_family_t
|
||||
device_get_type (device_t *device)
|
||||
{
|
||||
if (device == NULL)
|
||||
return DEVICE_TYPE_NULL;
|
||||
return DC_FAMILY_NULL;
|
||||
|
||||
return device->backend->type;
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ static dc_status_t hw_frog_device_foreach (device_t *abstract, dive_callback_t c
|
||||
static dc_status_t hw_frog_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t hw_frog_device_backend = {
|
||||
DEVICE_TYPE_HW_FROG,
|
||||
DC_FAMILY_HW_FROG,
|
||||
hw_frog_device_set_fingerprint, /* set_fingerprint */
|
||||
hw_frog_device_version, /* version */
|
||||
NULL, /* read */
|
||||
|
||||
@ -60,7 +60,7 @@ static dc_status_t hw_ostc_device_foreach (device_t *abstract, dive_callback_t c
|
||||
static dc_status_t hw_ostc_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t hw_ostc_device_backend = {
|
||||
DEVICE_TYPE_HW_OSTC,
|
||||
DC_FAMILY_HW_OSTC,
|
||||
hw_ostc_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
NULL, /* read */
|
||||
|
||||
@ -48,7 +48,7 @@ static dc_status_t hw_ostc_parser_samples_foreach (parser_t *abstract, sample_ca
|
||||
static dc_status_t hw_ostc_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t hw_ostc_parser_backend = {
|
||||
PARSER_TYPE_HW_OSTC,
|
||||
DC_FAMILY_HW_OSTC,
|
||||
hw_ostc_parser_set_data, /* set_data */
|
||||
hw_ostc_parser_get_datetime, /* datetime */
|
||||
hw_ostc_parser_get_field, /* fields */
|
||||
|
||||
@ -61,7 +61,7 @@ static dc_status_t mares_darwin_device_foreach (device_t *abstract, dive_callbac
|
||||
static dc_status_t mares_darwin_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t mares_darwin_device_backend = {
|
||||
DEVICE_TYPE_MARES_DARWIN,
|
||||
DC_FAMILY_MARES_DARWIN,
|
||||
mares_darwin_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
mares_common_device_read, /* read */
|
||||
|
||||
@ -47,7 +47,7 @@ static dc_status_t mares_darwin_parser_samples_foreach (parser_t *abstract, samp
|
||||
static dc_status_t mares_darwin_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t mares_darwin_parser_backend = {
|
||||
PARSER_TYPE_MARES_DARWIN,
|
||||
DC_FAMILY_MARES_DARWIN,
|
||||
mares_darwin_parser_set_data, /* set_data */
|
||||
mares_darwin_parser_get_datetime, /* datetime */
|
||||
mares_darwin_parser_get_field, /* fields */
|
||||
|
||||
@ -63,7 +63,7 @@ static dc_status_t mares_iconhd_device_foreach (device_t *abstract, dive_callbac
|
||||
static dc_status_t mares_iconhd_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t mares_iconhd_device_backend = {
|
||||
DEVICE_TYPE_MARES_ICONHD,
|
||||
DC_FAMILY_MARES_ICONHD,
|
||||
mares_iconhd_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
mares_iconhd_device_read, /* read */
|
||||
|
||||
@ -44,7 +44,7 @@ static dc_status_t mares_iconhd_parser_samples_foreach (parser_t *abstract, samp
|
||||
static dc_status_t mares_iconhd_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t mares_iconhd_parser_backend = {
|
||||
PARSER_TYPE_MARES_ICONHD,
|
||||
DC_FAMILY_MARES_ICONHD,
|
||||
mares_iconhd_parser_set_data, /* set_data */
|
||||
mares_iconhd_parser_get_datetime, /* datetime */
|
||||
mares_iconhd_parser_get_field, /* fields */
|
||||
|
||||
@ -59,7 +59,7 @@ static dc_status_t mares_nemo_device_foreach (device_t *abstract, dive_callback_
|
||||
static dc_status_t mares_nemo_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t mares_nemo_device_backend = {
|
||||
DEVICE_TYPE_MARES_NEMO,
|
||||
DC_FAMILY_MARES_NEMO,
|
||||
mares_nemo_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
NULL, /* read */
|
||||
|
||||
@ -59,7 +59,7 @@ static dc_status_t mares_nemo_parser_samples_foreach (parser_t *abstract, sample
|
||||
static dc_status_t mares_nemo_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t mares_nemo_parser_backend = {
|
||||
PARSER_TYPE_MARES_NEMO,
|
||||
DC_FAMILY_MARES_NEMO,
|
||||
mares_nemo_parser_set_data, /* set_data */
|
||||
mares_nemo_parser_get_datetime, /* datetime */
|
||||
mares_nemo_parser_get_field, /* fields */
|
||||
|
||||
@ -49,7 +49,7 @@ static dc_status_t mares_puck_device_foreach (device_t *abstract, dive_callback_
|
||||
static dc_status_t mares_puck_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t mares_puck_device_backend = {
|
||||
DEVICE_TYPE_MARES_PUCK,
|
||||
DC_FAMILY_MARES_PUCK,
|
||||
mares_puck_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
mares_common_device_read, /* read */
|
||||
|
||||
@ -54,7 +54,7 @@ static dc_status_t oceanic_atom2_device_write (device_t *abstract, unsigned int
|
||||
static dc_status_t oceanic_atom2_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t oceanic_atom2_device_backend = {
|
||||
DEVICE_TYPE_OCEANIC_ATOM2,
|
||||
DC_FAMILY_OCEANIC_ATOM2,
|
||||
oceanic_common_device_set_fingerprint, /* set_fingerprint */
|
||||
oceanic_atom2_device_version, /* version */
|
||||
oceanic_atom2_device_read, /* read */
|
||||
|
||||
@ -68,7 +68,7 @@ static dc_status_t oceanic_atom2_parser_samples_foreach (parser_t *abstract, sam
|
||||
static dc_status_t oceanic_atom2_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t oceanic_atom2_parser_backend = {
|
||||
PARSER_TYPE_OCEANIC_ATOM2,
|
||||
DC_FAMILY_OCEANIC_ATOM2,
|
||||
oceanic_atom2_parser_set_data, /* set_data */
|
||||
oceanic_atom2_parser_get_datetime, /* datetime */
|
||||
oceanic_atom2_parser_get_field, /* fields */
|
||||
|
||||
@ -54,7 +54,7 @@ static dc_status_t oceanic_veo250_device_read (device_t *abstract, unsigned int
|
||||
static dc_status_t oceanic_veo250_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t oceanic_veo250_device_backend = {
|
||||
DEVICE_TYPE_OCEANIC_VEO250,
|
||||
DC_FAMILY_OCEANIC_VEO250,
|
||||
oceanic_common_device_set_fingerprint, /* set_fingerprint */
|
||||
oceanic_veo250_device_version, /* version */
|
||||
oceanic_veo250_device_read, /* read */
|
||||
|
||||
@ -47,7 +47,7 @@ static dc_status_t oceanic_veo250_parser_samples_foreach (parser_t *abstract, sa
|
||||
static dc_status_t oceanic_veo250_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t oceanic_veo250_parser_backend = {
|
||||
PARSER_TYPE_OCEANIC_VEO250,
|
||||
DC_FAMILY_OCEANIC_VEO250,
|
||||
oceanic_veo250_parser_set_data, /* set_data */
|
||||
oceanic_veo250_parser_get_datetime, /* datetime */
|
||||
oceanic_veo250_parser_get_field, /* fields */
|
||||
|
||||
@ -54,7 +54,7 @@ static dc_status_t oceanic_vtpro_device_read (device_t *abstract, unsigned int a
|
||||
static dc_status_t oceanic_vtpro_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t oceanic_vtpro_device_backend = {
|
||||
DEVICE_TYPE_OCEANIC_VTPRO,
|
||||
DC_FAMILY_OCEANIC_VTPRO,
|
||||
oceanic_common_device_set_fingerprint, /* set_fingerprint */
|
||||
oceanic_vtpro_device_version, /* version */
|
||||
oceanic_vtpro_device_read, /* read */
|
||||
|
||||
@ -46,7 +46,7 @@ static dc_status_t oceanic_vtpro_parser_samples_foreach (parser_t *abstract, sam
|
||||
static dc_status_t oceanic_vtpro_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t oceanic_vtpro_parser_backend = {
|
||||
PARSER_TYPE_OCEANIC_VTPRO,
|
||||
DC_FAMILY_OCEANIC_VTPRO,
|
||||
oceanic_vtpro_parser_set_data, /* set_data */
|
||||
oceanic_vtpro_parser_get_datetime, /* datetime */
|
||||
oceanic_vtpro_parser_get_field, /* fields */
|
||||
|
||||
@ -40,7 +40,7 @@ struct parser_t {
|
||||
};
|
||||
|
||||
struct parser_backend_t {
|
||||
parser_type_t type;
|
||||
dc_family_t type;
|
||||
|
||||
dc_status_t (*set_data) (parser_t *parser, const unsigned char *data, unsigned int size);
|
||||
|
||||
|
||||
@ -33,11 +33,11 @@ parser_init (parser_t *parser, const parser_backend_t *backend)
|
||||
}
|
||||
|
||||
|
||||
parser_type_t
|
||||
dc_family_t
|
||||
parser_get_type (parser_t *parser)
|
||||
{
|
||||
if (parser == NULL)
|
||||
return PARSER_TYPE_NULL;
|
||||
return DC_FAMILY_NULL;
|
||||
|
||||
return parser->backend->type;
|
||||
}
|
||||
|
||||
@ -51,7 +51,7 @@ static dc_status_t reefnet_sensus_device_foreach (device_t *abstract, dive_callb
|
||||
static dc_status_t reefnet_sensus_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t reefnet_sensus_device_backend = {
|
||||
DEVICE_TYPE_REEFNET_SENSUS,
|
||||
DC_FAMILY_REEFNET_SENSUS,
|
||||
reefnet_sensus_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
NULL, /* read */
|
||||
|
||||
@ -53,7 +53,7 @@ static dc_status_t reefnet_sensus_parser_samples_foreach (parser_t *abstract, sa
|
||||
static dc_status_t reefnet_sensus_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t reefnet_sensus_parser_backend = {
|
||||
PARSER_TYPE_REEFNET_SENSUS,
|
||||
DC_FAMILY_REEFNET_SENSUS,
|
||||
reefnet_sensus_parser_set_data, /* set_data */
|
||||
reefnet_sensus_parser_get_datetime, /* datetime */
|
||||
reefnet_sensus_parser_get_field, /* fields */
|
||||
|
||||
@ -50,7 +50,7 @@ static dc_status_t reefnet_sensuspro_device_foreach (device_t *abstract, dive_ca
|
||||
static dc_status_t reefnet_sensuspro_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t reefnet_sensuspro_device_backend = {
|
||||
DEVICE_TYPE_REEFNET_SENSUSPRO,
|
||||
DC_FAMILY_REEFNET_SENSUSPRO,
|
||||
reefnet_sensuspro_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
NULL, /* read */
|
||||
|
||||
@ -52,7 +52,7 @@ static dc_status_t reefnet_sensuspro_parser_samples_foreach (parser_t *abstract,
|
||||
static dc_status_t reefnet_sensuspro_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t reefnet_sensuspro_parser_backend = {
|
||||
PARSER_TYPE_REEFNET_SENSUSPRO,
|
||||
DC_FAMILY_REEFNET_SENSUSPRO,
|
||||
reefnet_sensuspro_parser_set_data, /* set_data */
|
||||
reefnet_sensuspro_parser_get_datetime, /* datetime */
|
||||
reefnet_sensuspro_parser_get_field, /* fields */
|
||||
|
||||
@ -56,7 +56,7 @@ static dc_status_t reefnet_sensusultra_device_foreach (device_t *abstract, dive_
|
||||
static dc_status_t reefnet_sensusultra_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t reefnet_sensusultra_device_backend = {
|
||||
DEVICE_TYPE_REEFNET_SENSUSULTRA,
|
||||
DC_FAMILY_REEFNET_SENSUSULTRA,
|
||||
reefnet_sensusultra_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
NULL, /* read */
|
||||
|
||||
@ -52,7 +52,7 @@ static dc_status_t reefnet_sensusultra_parser_samples_foreach (parser_t *abstrac
|
||||
static dc_status_t reefnet_sensusultra_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t reefnet_sensusultra_parser_backend = {
|
||||
PARSER_TYPE_REEFNET_SENSUSULTRA,
|
||||
DC_FAMILY_REEFNET_SENSUSULTRA,
|
||||
reefnet_sensusultra_parser_set_data, /* set_data */
|
||||
reefnet_sensusultra_parser_get_datetime, /* datetime */
|
||||
reefnet_sensusultra_parser_get_field, /* fields */
|
||||
|
||||
@ -53,7 +53,7 @@ static dc_status_t suunto_d9_device_close (device_t *abstract);
|
||||
|
||||
static const suunto_common2_device_backend_t suunto_d9_device_backend = {
|
||||
{
|
||||
DEVICE_TYPE_SUUNTO_D9,
|
||||
DC_FAMILY_SUUNTO_D9,
|
||||
suunto_common2_device_set_fingerprint, /* set_fingerprint */
|
||||
suunto_common2_device_version, /* version */
|
||||
suunto_common2_device_read, /* read */
|
||||
|
||||
@ -64,7 +64,7 @@ static dc_status_t suunto_d9_parser_samples_foreach (parser_t *abstract, sample_
|
||||
static dc_status_t suunto_d9_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t suunto_d9_parser_backend = {
|
||||
PARSER_TYPE_SUUNTO_D9,
|
||||
DC_FAMILY_SUUNTO_D9,
|
||||
suunto_d9_parser_set_data, /* set_data */
|
||||
suunto_d9_parser_get_datetime, /* datetime */
|
||||
suunto_d9_parser_get_field, /* fields */
|
||||
|
||||
@ -46,7 +46,7 @@ static dc_status_t suunto_eon_device_foreach (device_t *abstract, dive_callback_
|
||||
static dc_status_t suunto_eon_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t suunto_eon_device_backend = {
|
||||
DEVICE_TYPE_SUUNTO_EON,
|
||||
DC_FAMILY_SUUNTO_EON,
|
||||
suunto_common_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
NULL, /* read */
|
||||
|
||||
@ -46,7 +46,7 @@ static dc_status_t suunto_eon_parser_samples_foreach (parser_t *abstract, sample
|
||||
static dc_status_t suunto_eon_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t suunto_eon_parser_backend = {
|
||||
PARSER_TYPE_SUUNTO_EON,
|
||||
DC_FAMILY_SUUNTO_EON,
|
||||
suunto_eon_parser_set_data, /* set_data */
|
||||
suunto_eon_parser_get_datetime, /* datetime */
|
||||
suunto_eon_parser_get_field, /* fields */
|
||||
|
||||
@ -48,7 +48,7 @@ static dc_status_t suunto_solution_device_foreach (device_t *abstract, dive_call
|
||||
static dc_status_t suunto_solution_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t suunto_solution_device_backend = {
|
||||
DEVICE_TYPE_SUUNTO_SOLUTION,
|
||||
DC_FAMILY_SUUNTO_SOLUTION,
|
||||
NULL, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
NULL, /* read */
|
||||
|
||||
@ -43,7 +43,7 @@ static dc_status_t suunto_solution_parser_samples_foreach (parser_t *abstract, s
|
||||
static dc_status_t suunto_solution_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t suunto_solution_parser_backend = {
|
||||
PARSER_TYPE_SUUNTO_SOLUTION,
|
||||
DC_FAMILY_SUUNTO_SOLUTION,
|
||||
suunto_solution_parser_set_data, /* set_data */
|
||||
NULL, /* datetime */
|
||||
suunto_solution_parser_get_field, /* fields */
|
||||
|
||||
@ -58,7 +58,7 @@ static dc_status_t suunto_vyper_device_foreach (device_t *abstract, dive_callbac
|
||||
static dc_status_t suunto_vyper_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t suunto_vyper_device_backend = {
|
||||
DEVICE_TYPE_SUUNTO_VYPER,
|
||||
DC_FAMILY_SUUNTO_VYPER,
|
||||
suunto_common_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
suunto_vyper_device_read, /* read */
|
||||
|
||||
@ -45,7 +45,7 @@ static dc_status_t suunto_vyper2_device_close (device_t *abstract);
|
||||
|
||||
static const suunto_common2_device_backend_t suunto_vyper2_device_backend = {
|
||||
{
|
||||
DEVICE_TYPE_SUUNTO_VYPER2,
|
||||
DC_FAMILY_SUUNTO_VYPER2,
|
||||
suunto_common2_device_set_fingerprint, /* set_fingerprint */
|
||||
suunto_common2_device_version, /* version */
|
||||
suunto_common2_device_read, /* read */
|
||||
|
||||
@ -44,7 +44,7 @@ static dc_status_t suunto_vyper_parser_samples_foreach (parser_t *abstract, samp
|
||||
static dc_status_t suunto_vyper_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t suunto_vyper_parser_backend = {
|
||||
PARSER_TYPE_SUUNTO_VYPER,
|
||||
DC_FAMILY_SUUNTO_VYPER,
|
||||
suunto_vyper_parser_set_data, /* set_data */
|
||||
suunto_vyper_parser_get_datetime, /* datetime */
|
||||
suunto_vyper_parser_get_field, /* fields */
|
||||
|
||||
@ -57,7 +57,7 @@ static dc_status_t uwatec_aladin_device_foreach (device_t *abstract, dive_callba
|
||||
static dc_status_t uwatec_aladin_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t uwatec_aladin_device_backend = {
|
||||
DEVICE_TYPE_UWATEC_ALADIN,
|
||||
DC_FAMILY_UWATEC_ALADIN,
|
||||
uwatec_aladin_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
NULL, /* read */
|
||||
|
||||
@ -55,7 +55,7 @@ static dc_status_t uwatec_memomouse_device_foreach (device_t *abstract, dive_cal
|
||||
static dc_status_t uwatec_memomouse_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t uwatec_memomouse_device_backend = {
|
||||
DEVICE_TYPE_UWATEC_MEMOMOUSE,
|
||||
DC_FAMILY_UWATEC_MEMOMOUSE,
|
||||
uwatec_memomouse_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
NULL, /* read */
|
||||
|
||||
@ -42,7 +42,7 @@ static dc_status_t uwatec_memomouse_parser_samples_foreach (parser_t *abstract,
|
||||
static dc_status_t uwatec_memomouse_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t uwatec_memomouse_parser_backend = {
|
||||
PARSER_TYPE_UWATEC_MEMOMOUSE,
|
||||
DC_FAMILY_UWATEC_MEMOMOUSE,
|
||||
uwatec_memomouse_parser_set_data, /* set_data */
|
||||
uwatec_memomouse_parser_get_datetime, /* datetime */
|
||||
uwatec_memomouse_parser_get_field, /* fields */
|
||||
|
||||
@ -50,7 +50,7 @@ static dc_status_t uwatec_smart_device_foreach (device_t *abstract, dive_callbac
|
||||
static dc_status_t uwatec_smart_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t uwatec_smart_device_backend = {
|
||||
DEVICE_TYPE_UWATEC_SMART,
|
||||
DC_FAMILY_UWATEC_SMART,
|
||||
uwatec_smart_device_set_fingerprint, /* set_fingerprint */
|
||||
uwatec_smart_device_version, /* version */
|
||||
NULL, /* read */
|
||||
|
||||
@ -56,7 +56,7 @@ static dc_status_t uwatec_smart_parser_samples_foreach (parser_t *abstract, samp
|
||||
static dc_status_t uwatec_smart_parser_destroy (parser_t *abstract);
|
||||
|
||||
static const parser_backend_t uwatec_smart_parser_backend = {
|
||||
PARSER_TYPE_UWATEC_SMART,
|
||||
DC_FAMILY_UWATEC_SMART,
|
||||
uwatec_smart_parser_set_data, /* set_data */
|
||||
uwatec_smart_parser_get_datetime, /* datetime */
|
||||
uwatec_smart_parser_get_field, /* fields */
|
||||
|
||||
@ -57,7 +57,7 @@ static dc_status_t zeagle_n2ition3_device_foreach (device_t *abstract, dive_call
|
||||
static dc_status_t zeagle_n2ition3_device_close (device_t *abstract);
|
||||
|
||||
static const device_backend_t zeagle_n2ition3_device_backend = {
|
||||
DEVICE_TYPE_ZEAGLE_N2ITION3,
|
||||
DC_FAMILY_ZEAGLE_N2ITION3,
|
||||
zeagle_n2ition3_device_set_fingerprint, /* set_fingerprint */
|
||||
NULL, /* version */
|
||||
zeagle_n2ition3_device_read, /* read */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user