Trond Enger / d7a_1x

Fork of d7a_1x by WizziLab

Revision:
59:b42eae56b51b
Parent:
58:38a366236bda
Child:
63:afd046faedb0
--- a/include/d7a_alp.h	Mon Sep 12 16:36:09 2016 +0000
+++ b/include/d7a_alp.h	Fri Sep 23 15:00:41 2016 +0000
@@ -140,21 +140,12 @@
     int8_t status;
 } d7a_alp_rsp_status_t;
 
+#define NO_TAG      (-1)
 TYPEDEF_STRUCT_PACKED 
 {
-    // Tag
-    uint8_t s_tag;
-    uint8_t tag;
-    // Status
-    uint8_t s_status;
-    d7a_alp_rsp_status_t status;
-    // IStatus
-    uint8_t s_istatus;
-    int8_t lb;
-    uint8_t id[D7A_UID_LEN];
-    // Data
-    uint32_t data_len;
-    uint8_t* data;
+    int16_t tag;
+    bool eop;
+    d7a_msg_t* msg;
 } d7a_alp_rsp_t;
 
 // =======================================================================
@@ -328,10 +319,11 @@
 
 
 
-d7a_errors_t d7a_alp_open(void);
+d7a_errors_t d7a_alp_open(UnsolicitedMsgFunction uns_msg);
 d7a_errors_t d7a_alp_close(void);
 void d7a_alp_new_pkt(d7a_com_rx_msg_t* pkt);
 d7a_com_rx_msg_t* d7a_alp_wait_pkt(uint32_t millisec = osWaitForever);
+void d7a_alp_free_msg(d7a_msg_t* msg);
 d7a_msg_t** d7a_alp_write_file(const uint8_t file_id, const uint32_t offset, const uint32_t size, const uint8_t* const buf, d7a_addressee_t* addressee = NULL, uint8_t retry = 0, bool resp = true);
 d7a_msg_t** d7a_alp_read_file(const uint8_t file_id, const uint32_t offset, const uint32_t size, d7a_addressee_t* addressee = NULL, uint8_t retry = 0);