Added event notifications for the Suunto Solution.
This commit is contained in:
parent
845e6442f6
commit
204c83c150
@ -165,6 +165,11 @@ suunto_solution_device_dump (device_t *abstract, unsigned char data[], unsigned
|
|||||||
return DEVICE_STATUS_MEMORY;
|
return DEVICE_STATUS_MEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Enable progress notifications.
|
||||||
|
device_progress_t progress = DEVICE_PROGRESS_INITIALIZER;
|
||||||
|
progress.maximum = SUUNTO_SOLUTION_MEMORY_SIZE - 1 + 2;
|
||||||
|
device_event_emit (abstract, DEVICE_EVENT_PROGRESS, &progress);
|
||||||
|
|
||||||
int n = 0;
|
int n = 0;
|
||||||
unsigned char command[3] = {0};
|
unsigned char command[3] = {0};
|
||||||
unsigned char answer[3] = {0};
|
unsigned char answer[3] = {0};
|
||||||
@ -187,6 +192,10 @@ suunto_solution_device_dump (device_t *abstract, unsigned char data[], unsigned
|
|||||||
command[2] = 0x01;
|
command[2] = 0x01;
|
||||||
serial_write (device->port, command, 3);
|
serial_write (device->port, command, 3);
|
||||||
|
|
||||||
|
// Update and emit a progress event.
|
||||||
|
progress.current += 1;
|
||||||
|
device_event_emit (abstract, DEVICE_EVENT_PROGRESS, &progress);
|
||||||
|
|
||||||
data[0] = 0x00;
|
data[0] = 0x00;
|
||||||
for (unsigned int i = 1; i < SUUNTO_SOLUTION_MEMORY_SIZE; ++i) {
|
for (unsigned int i = 1; i < SUUNTO_SOLUTION_MEMORY_SIZE; ++i) {
|
||||||
// Receive: 0x01, i, data[i]
|
// Receive: 0x01, i, data[i]
|
||||||
@ -206,6 +215,10 @@ suunto_solution_device_dump (device_t *abstract, unsigned char data[], unsigned
|
|||||||
// Send: 0x0D
|
// Send: 0x0D
|
||||||
command[0] = 0x0D;
|
command[0] = 0x0D;
|
||||||
serial_write (device->port, command, 1);
|
serial_write (device->port, command, 1);
|
||||||
|
|
||||||
|
// Update and emit a progress event.
|
||||||
|
progress.current += 1;
|
||||||
|
device_event_emit (abstract, DEVICE_EVENT_PROGRESS, &progress);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Receive: 0x02, 0x00, 0x80
|
// Receive: 0x02, 0x00, 0x80
|
||||||
@ -231,6 +244,10 @@ suunto_solution_device_dump (device_t *abstract, unsigned char data[], unsigned
|
|||||||
if (n != 1) return EXITCODE (n);
|
if (n != 1) return EXITCODE (n);
|
||||||
if (answer[0] != 0x3F) WARNING ("Unexpected answer byte.");
|
if (answer[0] != 0x3F) WARNING ("Unexpected answer byte.");
|
||||||
|
|
||||||
|
// Update and emit a progress event.
|
||||||
|
progress.current += 1;
|
||||||
|
device_event_emit (abstract, DEVICE_EVENT_PROGRESS, &progress);
|
||||||
|
|
||||||
if (result)
|
if (result)
|
||||||
*result = SUUNTO_SOLUTION_MEMORY_SIZE;
|
*result = SUUNTO_SOLUTION_MEMORY_SIZE;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user