Add function to read the rom from the OSTC3

This is necessary to verify that the memory written got transfered
correctly.

This code is inspired by JeanDo ostc-companion.

Reviewed-by: Jef Driesen <jef@libdivecomputer.org>
Signed-off-by: Anton Lundin <glance@acc.umu.se>
This commit is contained in:
Anton Lundin 2014-11-09 19:42:41 +01:00 committed by Jef Driesen
parent 5c71ff34c4
commit 6322e96268

View File

@ -52,6 +52,7 @@
#define RB_LOGBOOK_SIZE 256
#define RB_LOGBOOK_COUNT 256
#define S_BLOCK_READ 0x20
#define S_ERASE 0x42
#define S_READY 0x4C
#define READY 0x4D
@ -890,3 +891,13 @@ hw_ostc3_firmware_erase (hw_ostc3_device_t *device, unsigned int addr, unsigned
return hw_ostc3_transfer (device, NULL, S_ERASE, buffer, sizeof (buffer), NULL, 0);
}
static dc_status_t
hw_ostc3_firmware_block_read (hw_ostc3_device_t *device, unsigned int addr, unsigned char block[], unsigned int block_size)
{
unsigned char buffer[6];
array_uint24_be_set (buffer, addr);
array_uint24_be_set (buffer + 3, block_size);
return hw_ostc3_transfer (device, NULL, S_BLOCK_READ, buffer, sizeof (buffer), block, block_size);
}