Complete sensor demo.

Dependencies:   modem_ref_helper CRC X_NUCLEO_IKS01A1 DebouncedInterrupt

Revision:
14:8fd5405f7ab2
Parent:
12:7a56e0705c9d
Child:
15:1271f3566b98
--- a/main.cpp	Wed Oct 10 16:51:39 2018 +0000
+++ b/main.cpp	Thu Oct 11 15:15:30 2018 +0000
@@ -85,38 +85,6 @@
     button_user.release();
 }
 
-void print_status(int status, uint8_t id)
-{
-    switch (status)
-    {
-        case ALP_ERR_NONE:
-            PRINT("Status[%d]: OK\n", id);
-            break;
-        case ALP_ERR_FILE_EXIST:
-            PRINT("Status[%d]: Already registered\n", id);
-            break;
-        default:
-            PRINT("Status[%d]: error %d\n", id, status);
-            break;
-    }
-}
-
-void print_resp(int status, uint8_t id)
-{
-    switch (status)
-    {
-        case ALP_ERR_NONE:
-            PRINT("Resp[%d]: OK\n", id);
-            break;
-        case ALP_ERR_FILE_EXIST:
-            PRINT("Resp[%d]: Already registered\n", id);
-            break;
-        default:
-            PRINT("Resp[%d]: error %d\n", id, status);
-            break;
-    }
-}
-
 modem_callbacks_t callbacks = {
     .read       = my_read,
     .write      = my_write,
@@ -133,16 +101,17 @@
 
 // Callback for Users
 void my_main_callback(uint8_t terminal, int8_t err, uint8_t id)
-{    
+{
+    if (ALP_ERR_NONE != err)
+    {
+        PRINT("Status[%d]: ", id);
+        modem_print_error(ALP_ITF_TYPE_D7A, err);
+    }
+    
     if (terminal)
     {
-        print_status(err, id);
         modem_ready[id].release();
     }
-    else
-    {
-        print_resp(err, id);
-    }
 }
 
 // -----------------------------------------------
@@ -295,16 +264,19 @@
 // Callback for button
 void my_response_callback(uint8_t terminal, int8_t err, uint8_t id)
 {
-    (void)id;
+    UNUSED(id);
+    
+    if (ALP_ERR_NONE != err)
+    {
+        modem_print_error(ALP_ITF_TYPE_D7A, err);
+    }
     
     if (terminal)
     {    
-        print_status(err, id);
         modem_resp.put((void*)MODEM_RESP_TERMINAL);
     }
     else
     {
-        print_resp(err, id);
         if (ALP_ERR_NONE == err)
         {
             modem_resp.put((void*)MODEM_RESP_DONE);
@@ -331,8 +303,8 @@
         .cfg.qos.bf.retry               = 1, // XXX WM_RPOL_RARE_SINGLE_CHECK,
         .cfg.addressee.ctrl.bf.nls      = D7A_NLS_AES_CCM_64,
         .cfg.addressee.ctrl.bf.idf      = D7A_ID_NBID,
-        .cfg.addressee.xcl.bf           = {.s = 0x2, .m = 0x1},// XXX D7A_XCL_GW,
-        .cfg.addressee.id[0]            = D7A_CTF_VAL(1,1)
+        .cfg.addressee.xcl.bf           = {.s = 2, .m = 0x1},// XXX D7A_XCL_GW,
+        .cfg.addressee.id[0]            = D7A_CTF_ENCODE(4),
     };
     
     // Load alarm value
@@ -433,7 +405,7 @@
     modem_ready[main_id].wait();
     
     PRINT("Start D7A Stack\n");
-    modem_activate_itf(ALP_ITF_TYPE_D7A, 24, 0, ALP_D7A_ISTAT_RESP , true, main_id);
+    modem_activate_itf(ALP_ITF_TYPE_D7A, 24, 0, ALP_D7A_ISTAT_RESP | ALP_D7A_ISTAT_UNS | ALP_D7A_ISTAT_EOP, true, main_id);
     modem_ready[main_id].wait();
     
     PRINT("Notify Modem Version\n");