From 76ab46304bb085d51249cac614156a7fd5efbc7c Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Fri, 7 Oct 2011 21:45:07 +0200 Subject: [PATCH] Store the version packet internally. --- src/suunto_d9.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/suunto_d9.c b/src/suunto_d9.c index e1edd01..297ecc7 100644 --- a/src/suunto_d9.c +++ b/src/suunto_d9.c @@ -44,6 +44,7 @@ typedef struct suunto_d9_device_t { suunto_common2_device_t base; serial_t *port; + unsigned char version[4]; } suunto_d9_device_t; static device_status_t suunto_d9_device_packet (device_t *abstract, const unsigned char command[], unsigned int csize, unsigned char answer[], unsigned int asize, unsigned int size); @@ -98,8 +99,7 @@ suunto_d9_device_autodetect (suunto_d9_device_t *device, unsigned int model) } // Try reading the version info. - unsigned char version[4] = {0}; - status = suunto_common2_device_version ((device_t *) device, version, sizeof (version)); + status = suunto_common2_device_version ((device_t *) device, device->version, sizeof (device->version)); if (status == DEVICE_STATUS_SUCCESS) break; } @@ -126,6 +126,7 @@ suunto_d9_device_open (device_t **out, const char* name) // Set the default values. device->port = NULL; + memset (device->version, 0, sizeof (device->version)); // Open the device. int rc = serial_open (&device->port, name);