Complete sensor demo.
Dependencies: modem_ref_helper CRC X_NUCLEO_IKS01A1 DebouncedInterrupt
Diff: main.cpp
- 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");