Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of d7a_1x by
Diff: src/d7a.cpp
- Revision:
- 58:38a366236bda
- Parent:
- 56:da34fc11e760
- Child:
- 59:b42eae56b51b
--- a/src/d7a.cpp Thu Sep 08 10:44:05 2016 +0000
+++ b/src/d7a.cpp Mon Sep 12 16:36:09 2016 +0000
@@ -174,39 +174,39 @@
}
-d7a_errors_t d7a_read(const uint8_t file_id, const uint32_t offset, const uint32_t size, const uint8_t* buf, d7a_addressee_t* addressee, alp_rpol_t retry)
+d7a_msg_t** d7a_read(const uint8_t file_id, const uint32_t offset, const uint32_t size, d7a_addressee_t* addressee, alp_rpol_t retry)
{
FPRINT("\r\n");
- d7a_errors_t err;
+ d7a_msg_t** ret;
DPRINT("Read %d.\r\n", file_id);
- err = d7a_alp_read_file(file_id, offset, size, buf, addressee, retry);
+ ret = d7a_alp_read_file(file_id, offset, size, addressee, retry);
- DPRINT("Read %d Done. err %d\r\n", file_id, err);
+ DPRINT("Read %d Done.\r\n", file_id);
- WARNING(err >= D7A_ERR_NONE, "%s FID %d err %d\r\n", __FUNCTION__, file_id, err);
+ //WARNING(ret[0]->err >= D7A_ERR_NONE, "%s FID %d err %d\r\n", __FUNCTION__, file_id, ret[0]->err);
- return err;
+ return ret;
}
-d7a_errors_t d7a_write(const uint8_t file_id, const uint32_t offset, const uint32_t size, const uint8_t* const buf, d7a_addressee_t* addressee, alp_rpol_t retry, bool resp)
+d7a_msg_t** d7a_write(const uint8_t file_id, const uint32_t offset, const uint32_t size, const uint8_t* const buf, d7a_addressee_t* addressee, alp_rpol_t retry, bool resp)
{
FPRINT("\r\n");
- d7a_errors_t err;
+ d7a_msg_t** ret;
DPRINT("Write %d.\r\n", file_id);
- err = d7a_alp_write_file(file_id, offset, size, buf, addressee, retry, resp);
+ ret = d7a_alp_write_file(file_id, offset, size, buf, addressee, retry, resp);
- DPRINT("Write %d Done. err %d\r\n", file_id, err);
+ DPRINT("Write %d Done.\r\n", file_id);
- WARNING(err >= D7A_ERR_NONE, "%s FID %d err %d\r\n", __FUNCTION__, file_id, err);
+ //WARNING(ret[0]->err >= D7A_ERR_NONE, "%s FID %d err %d\r\n", __FUNCTION__, file_id, ret[0]->err);
- return err;
+ return ret;
}
@@ -234,13 +234,40 @@
}
+void d7a_free_msg(d7a_msg_t** msg)
+{
+ int i = 0;
+ while (msg[i] != NULL)
+ {
+ if (msg[i]->data_len)
+ {
+ FREE(msg[i]->data);
+ }
+
+ FREE(msg[i]);
+ i++;
+ }
+
+ FREE(msg);
+}
+
+
void d7a_modem_print_infos(void)
{
uint8_t uid[8];
d7a_revision_t rev;
- ASSERT(d7a_read(0, 0, 8, uid) >= D7A_ERR_NONE, "Failed to read UID file\r\n");
- ASSERT(d7a_read(2, 0, sizeof(d7a_revision_t), (uint8_t*)&rev) >= D7A_ERR_NONE, "Failed to read REV file\r\n");
+ d7a_msg_t** msg;
+
+ msg = d7a_read(0, 0, 8);
+ ASSERT(msg[0]->err >= D7A_ERR_NONE, "Failed to read UID file\r\n");
+ memcpy(uid, msg[0]->data, 8);
+ d7a_free_msg(msg);
+
+ msg = d7a_read(2, 0, sizeof(d7a_revision_t));
+ ASSERT(msg[0]->err >= D7A_ERR_NONE, "Failed to read UID file\r\n");
+ memcpy(&rev, msg[0]->data, sizeof(d7a_revision_t));
+ d7a_free_msg(msg);
PRINT("------------ D7A Modem infos ------------\r\n");
PRINT_DATA("| UID: ", "%02X", uid, 8, " |\r\n");
