Program to update the D7A modem's firmware.
Dependencies: modem_ref_helper DebouncedInterrupt
Diff: cup.h
- Revision:
- 23:365775929293
- Parent:
- 22:f2b01e5e087e
--- a/cup.h Mon Sep 18 13:38:40 2017 +0000 +++ b/cup.h Mon Sep 18 14:47:43 2017 +0000 @@ -1,6 +1,28 @@ #include "mbed.h" +#include "d7a.h" #include "bin.h" -#include "modem_ref_helper.h" + +#define D7A_READ(_ret, _fid, _offset, _size, _root_key) do{\ + d7a_msg_t** _msg = d7a_read((_fid), (_offset), (_size), (_root_key));\ + ASSERT(_msg[0]->err >= D7A_ERR_NONE, "READ failed. err %d\r\n", _msg[0]->err);\ + ASSERT(_msg[0]->data, "READ failed. No data in response\r\n");\ + ASSERT(_msg[0]->data->offset == 0, "READ failed. Wrong data offset %d/%d\r\n", _msg[0]->data->offset, (_offset));\ + ASSERT(_msg[0]->data->length == (_size), "READ failed. Wrong data length %d/%d\r\n", _msg[0]->data->length, (_size));\ + memcpy((_ret), _msg[0]->data->buf, (_size));\ + d7a_free_msg(_msg);\ +} while (0) + +#define D7A_WRITE(_data, _fid, _offset, _size, _root_key) do{\ + d7a_msg_t** _msg = d7a_write((_fid), (_offset), (_size), (_data), (_root_key));\ + ASSERT(_msg[0]->err == D7A_ERR_NONE, "WRITE failed. err %d\r\n", _msg[0]->err);\ + d7a_free_msg(_msg);\ +} while (0) + +#define D7A_FLUSH(_fid, _root_key) do{\ + d7a_msg_t** _msg = d7a_flush((_fid), (_root_key));\ + ASSERT(_msg[0]->err >= D7A_ERR_NONE, "FLUSH failed. err %d\r\n", _msg[0]->err);\ + d7a_free_msg(_msg);\ +} while (0) //------------------------------------------------------------------ // CUP Package files structure: