Port the Reefnet Sensus Original, Pro and Ultra to the new event code.

This commit is contained in:
Jef Driesen 2009-02-20 12:11:38 +00:00
parent 7cba191322
commit 3ce6a725a9
3 changed files with 24 additions and 12 deletions

View File

@ -267,8 +267,9 @@ reefnet_sensus_device_dump (device_t *abstract, unsigned char *data, unsigned in
} }
// Enable progress notifications. // Enable progress notifications.
device_progress_state_t progress; device_progress_t progress = DEVICE_PROGRESS_INITIALIZER;
progress_init (&progress, abstract, 4 + REEFNET_SENSUS_MEMORY_SIZE + 2 + 3); progress.maximum = 4 + REEFNET_SENSUS_MEMORY_SIZE + 2 + 3;
device_event_emit (abstract, DEVICE_EVENT_PROGRESS, &progress);
// Send the command to the device. // Send the command to the device.
unsigned char command = 0x40; unsigned char command = 0x40;
@ -295,7 +296,9 @@ reefnet_sensus_device_dump (device_t *abstract, unsigned char *data, unsigned in
return EXITCODE (n); return EXITCODE (n);
} }
progress_event (&progress, DEVICE_EVENT_PROGRESS, len); // Update and emit a progress event.
progress.current += len;
device_event_emit (abstract, DEVICE_EVENT_PROGRESS, &progress);
nbytes += len; nbytes += len;
} }

View File

@ -235,8 +235,9 @@ reefnet_sensuspro_device_dump (device_t *abstract, unsigned char *data, unsigned
} }
// Enable progress notifications. // Enable progress notifications.
device_progress_state_t progress; device_progress_t progress = DEVICE_PROGRESS_INITIALIZER;
progress_init (&progress, abstract, REEFNET_SENSUSPRO_MEMORY_SIZE + 2); progress.maximum = REEFNET_SENSUSPRO_MEMORY_SIZE + 2;
device_event_emit (abstract, DEVICE_EVENT_PROGRESS, &progress);
unsigned char command = 0xB4; unsigned char command = 0xB4;
int rc = serial_write (device->port, &command, 1); int rc = serial_write (device->port, &command, 1);
@ -258,7 +259,9 @@ reefnet_sensuspro_device_dump (device_t *abstract, unsigned char *data, unsigned
return EXITCODE (rc); return EXITCODE (rc);
} }
progress_event (&progress, DEVICE_EVENT_PROGRESS, len); // Update and emit a progress event.
progress.current += len;
device_event_emit (abstract, DEVICE_EVENT_PROGRESS, &progress);
nbytes += len; nbytes += len;
} }

View File

@ -384,8 +384,9 @@ reefnet_sensusultra_device_dump (device_t *abstract, unsigned char *data, unsign
} }
// Enable progress notifications. // Enable progress notifications.
device_progress_state_t progress; device_progress_t progress = DEVICE_PROGRESS_INITIALIZER;
progress_init (&progress, abstract, REEFNET_SENSUSULTRA_MEMORY_DATA_SIZE); progress.maximum = REEFNET_SENSUSULTRA_MEMORY_DATA_SIZE;
device_event_emit (abstract, DEVICE_EVENT_PROGRESS, &progress);
// Send the instruction code to the device. // Send the instruction code to the device.
device_status_t rc = reefnet_sensusultra_send_ushort (device, 0xB421); device_status_t rc = reefnet_sensusultra_send_ushort (device, 0xB421);
@ -402,7 +403,9 @@ reefnet_sensusultra_device_dump (device_t *abstract, unsigned char *data, unsign
if (rc != DEVICE_STATUS_SUCCESS) if (rc != DEVICE_STATUS_SUCCESS)
return rc; return rc;
progress_event (&progress, DEVICE_EVENT_PROGRESS, REEFNET_SENSUSULTRA_PACKET_SIZE); // Update and emit a progress event.
progress.current += REEFNET_SENSUSULTRA_PACKET_SIZE;
device_event_emit (abstract, DEVICE_EVENT_PROGRESS, &progress);
// Accept the packet. // Accept the packet.
rc = reefnet_sensusultra_send_uchar (device, ACCEPT); rc = reefnet_sensusultra_send_uchar (device, ACCEPT);
@ -670,8 +673,9 @@ reefnet_sensusultra_device_foreach (device_t *abstract, dive_callback_t callback
} }
// Enable progress notifications. // Enable progress notifications.
device_progress_state_t progress; device_progress_t progress = DEVICE_PROGRESS_INITIALIZER;
progress_init (&progress, abstract, REEFNET_SENSUSULTRA_MEMORY_DATA_SIZE); progress.maximum = REEFNET_SENSUSULTRA_MEMORY_DATA_SIZE;
device_event_emit (abstract, DEVICE_EVENT_PROGRESS, &progress);
// Initialize the state for the parsing code. // Initialize the state for the parsing code.
unsigned int previous = REEFNET_SENSUSULTRA_MEMORY_DATA_SIZE; unsigned int previous = REEFNET_SENSUSULTRA_MEMORY_DATA_SIZE;
@ -695,7 +699,9 @@ reefnet_sensusultra_device_foreach (device_t *abstract, dive_callback_t callback
return rc; return rc;
} }
progress_event (&progress, DEVICE_EVENT_PROGRESS, REEFNET_SENSUSULTRA_PACKET_SIZE); // Update and emit a progress event.
progress.current += REEFNET_SENSUSULTRA_PACKET_SIZE;
device_event_emit (abstract, DEVICE_EVENT_PROGRESS, &progress);
// Abort the transfer if the page contains no useful data. // Abort the transfer if the page contains no useful data.
if (reefnet_sensusultra_isempty (data + offset, REEFNET_SENSUSULTRA_PACKET_SIZE)) if (reefnet_sensusultra_isempty (data + offset, REEFNET_SENSUSULTRA_PACKET_SIZE))