Program to update the D7A modem's firmware.

Dependencies:   modem_ref_helper DebouncedInterrupt

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: