Add a parameter with the model number.
This commit is contained in:
parent
9bae07551f
commit
b41ecd0c15
@ -106,7 +106,7 @@ parse (dc_buffer_t *buffer, dc_context_t *context, dc_descriptor_t *descriptor,
|
||||
rc = reefnet_sensusultra_parser_create (&parser, context, devtime, systime);
|
||||
break;
|
||||
case DC_FAMILY_OCEANIC_VTPRO:
|
||||
rc = oceanic_vtpro_parser_create (&parser, context);
|
||||
rc = oceanic_vtpro_parser_create2 (&parser, context, model);
|
||||
break;
|
||||
case DC_FAMILY_OCEANIC_VEO250:
|
||||
rc = oceanic_veo250_parser_create (&parser, context, model);
|
||||
|
||||
@ -33,6 +33,9 @@ extern "C" {
|
||||
dc_status_t
|
||||
oceanic_vtpro_device_open (dc_device_t **device, dc_context_t *context, const char *name);
|
||||
|
||||
dc_status_t
|
||||
oceanic_vtpro_device_open2 (dc_device_t **device, dc_context_t *context, const char *name, unsigned int model);
|
||||
|
||||
dc_status_t
|
||||
oceanic_vtpro_device_version (dc_device_t *device, unsigned char data[], unsigned int size);
|
||||
|
||||
@ -42,6 +45,9 @@ oceanic_vtpro_device_keepalive (dc_device_t *device);
|
||||
dc_status_t
|
||||
oceanic_vtpro_parser_create (dc_parser_t **parser, dc_context_t *context);
|
||||
|
||||
dc_status_t
|
||||
oceanic_vtpro_parser_create2 (dc_parser_t **parser, dc_context_t *context, unsigned int model);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
@ -129,7 +129,7 @@ dc_device_open (dc_device_t **out, dc_context_t *context, dc_descriptor_t *descr
|
||||
rc = reefnet_sensusultra_device_open (&device, context, name);
|
||||
break;
|
||||
case DC_FAMILY_OCEANIC_VTPRO:
|
||||
rc = oceanic_vtpro_device_open (&device, context, name);
|
||||
rc = oceanic_vtpro_device_open2 (&device, context, name, dc_descriptor_get_model (descriptor));
|
||||
break;
|
||||
case DC_FAMILY_OCEANIC_VEO250:
|
||||
rc = oceanic_veo250_device_open (&device, context, name);
|
||||
|
||||
@ -58,6 +58,7 @@ mares_nemo_parser_create
|
||||
mares_darwin_parser_create
|
||||
mares_iconhd_parser_create
|
||||
oceanic_vtpro_parser_create
|
||||
oceanic_vtpro_parser_create2
|
||||
oceanic_veo250_parser_create
|
||||
oceanic_atom2_parser_create
|
||||
hw_ostc_parser_create
|
||||
@ -102,6 +103,7 @@ oceanic_veo250_device_open
|
||||
oceanic_veo250_device_version
|
||||
oceanic_veo250_device_keepalive
|
||||
oceanic_vtpro_device_open
|
||||
oceanic_vtpro_device_open2
|
||||
oceanic_vtpro_device_version
|
||||
oceanic_vtpro_device_keepalive
|
||||
reefnet_sensus_device_open
|
||||
|
||||
@ -43,6 +43,7 @@
|
||||
typedef struct oceanic_vtpro_device_t {
|
||||
oceanic_common_device_t base;
|
||||
dc_serial_t *port;
|
||||
unsigned int model;
|
||||
} oceanic_vtpro_device_t;
|
||||
|
||||
static dc_status_t oceanic_vtpro_device_read (dc_device_t *abstract, unsigned int address, unsigned char data[], unsigned int size);
|
||||
@ -256,6 +257,13 @@ oceanic_vtpro_calibrate (oceanic_vtpro_device_t *device)
|
||||
|
||||
dc_status_t
|
||||
oceanic_vtpro_device_open (dc_device_t **out, dc_context_t *context, const char *name)
|
||||
{
|
||||
return oceanic_vtpro_device_open2 (out, context, name, 0);
|
||||
}
|
||||
|
||||
|
||||
dc_status_t
|
||||
oceanic_vtpro_device_open2 (dc_device_t **out, dc_context_t *context, const char *name, unsigned int model)
|
||||
{
|
||||
dc_status_t status = DC_STATUS_SUCCESS;
|
||||
oceanic_vtpro_device_t *device = NULL;
|
||||
@ -278,6 +286,7 @@ oceanic_vtpro_device_open (dc_device_t **out, dc_context_t *context, const char
|
||||
|
||||
// Set the default values.
|
||||
device->port = NULL;
|
||||
device->model = model;
|
||||
|
||||
// Open the device.
|
||||
status = dc_serial_open (&device->port, context, name);
|
||||
|
||||
@ -35,6 +35,7 @@ typedef struct oceanic_vtpro_parser_t oceanic_vtpro_parser_t;
|
||||
|
||||
struct oceanic_vtpro_parser_t {
|
||||
dc_parser_t base;
|
||||
unsigned int model;
|
||||
// Cached fields.
|
||||
unsigned int cached;
|
||||
unsigned int divetime;
|
||||
@ -59,6 +60,13 @@ static const dc_parser_vtable_t oceanic_vtpro_parser_vtable = {
|
||||
|
||||
dc_status_t
|
||||
oceanic_vtpro_parser_create (dc_parser_t **out, dc_context_t *context)
|
||||
{
|
||||
return oceanic_vtpro_parser_create2 (out, context, 0);
|
||||
}
|
||||
|
||||
|
||||
dc_status_t
|
||||
oceanic_vtpro_parser_create2 (dc_parser_t **out, dc_context_t *context, unsigned int model)
|
||||
{
|
||||
oceanic_vtpro_parser_t *parser = NULL;
|
||||
|
||||
@ -73,6 +81,7 @@ oceanic_vtpro_parser_create (dc_parser_t **out, dc_context_t *context)
|
||||
}
|
||||
|
||||
// Set the default values.
|
||||
parser->model = model;
|
||||
parser->cached = 0;
|
||||
parser->divetime = 0;
|
||||
parser->maxdepth = 0.0;
|
||||
|
||||
@ -92,7 +92,7 @@ dc_parser_new (dc_parser_t **out, dc_device_t *device)
|
||||
rc = reefnet_sensusultra_parser_create (&parser, context, device->clock.devtime, device->clock.systime);
|
||||
break;
|
||||
case DC_FAMILY_OCEANIC_VTPRO:
|
||||
rc = oceanic_vtpro_parser_create (&parser, context);
|
||||
rc = oceanic_vtpro_parser_create2 (&parser, context, device->devinfo.model);
|
||||
break;
|
||||
case DC_FAMILY_OCEANIC_VEO250:
|
||||
rc = oceanic_veo250_parser_create (&parser, context, device->devinfo.model);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user