From b884d90125dc166b08a95e6d09d98603ac22b587 Mon Sep 17 00:00:00 2001 From: Jef Driesen Date: Tue, 19 Aug 2008 11:37:04 +0000 Subject: [PATCH] Implemented progress notifications for the Uwatec Aladin. --- src/uwatec_aladin.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/uwatec_aladin.c b/src/uwatec_aladin.c index c745840..1a44ff8 100644 --- a/src/uwatec_aladin.c +++ b/src/uwatec_aladin.c @@ -145,6 +145,10 @@ uwatec_aladin_device_dump (device_t *abstract, unsigned char data[], unsigned in if (! device_is_uwatec_aladin (abstract)) return DEVICE_STATUS_TYPE_MISMATCH; + // Enable progress notifications. + device_progress_state_t progress; + progress_init (&progress, abstract, UWATEC_ALADIN_MEMORY_SIZE + 2); + unsigned char answer[UWATEC_ALADIN_MEMORY_SIZE + 2] = {0}; // Receive the header of the package. @@ -158,9 +162,12 @@ uwatec_aladin_device_dump (device_t *abstract, unsigned char data[], unsigned in i++; // Continue. } else { i = 0; // Reset. + progress_event (&progress, DEVICE_EVENT_WAITING, 0); } } + progress_event (&progress, DEVICE_EVENT_PROGRESS, 4); + // Receive the remaining part of the package. int rc = serial_read (device->port, answer + 4, sizeof (answer) - 4); if (rc != sizeof (answer) - 4) { @@ -168,6 +175,8 @@ uwatec_aladin_device_dump (device_t *abstract, unsigned char data[], unsigned in return EXITCODE (rc); } + progress_event (&progress, DEVICE_EVENT_PROGRESS, sizeof (answer) - 4); + // Reverse the bit order. array_reverse_bits (answer, sizeof (answer));