Send file data demo.
Dependencies: modem_ref_helper CRC DebouncedInterrupt
Diff: main.cpp
- Revision:
- 15:4db98a56f7c1
- Parent:
- 14:788c749cabed
- Child:
- 16:355dcd95c082
--- a/main.cpp Thu Sep 20 12:26:16 2018 +0000 +++ b/main.cpp Thu Oct 11 10:15:04 2018 +0000 @@ -27,11 +27,11 @@ .cfg.to = 0, .cfg.te = 0, .cfg.qos.bf.resp = D7A_RESP_ALL, + .cfg.qos.bf.retry = ALP_RPOL_ONESHOT, .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.qos.bf.retry = 1 // XXX WM_RPOL_RARE_SINGLE_CHECK, + .cfg.addressee.xcl.bf = {.s = 2, .m = 0x1},// XXX D7A_XCL_GW, + .cfg.addressee.id[0] = D7A_CTF_ENCODE(8), }; // Interrupt Service Routine on button press. @@ -55,8 +55,11 @@ // Main Callback void my_main_callback(uint8_t terminal, int8_t err, uint8_t id) -{ - print_status(id, err); +{ + if (ALP_ERR_NONE != err) + { + modem_print_error(ALP_ITF_TYPE_D7A, err); + } if (terminal) { @@ -69,6 +72,11 @@ { (void)id; + if (ALP_ERR_NONE != err) + { + modem_print_error(ALP_ITF_TYPE_D7A, err); + } + if (terminal) { modem_resp.put((void*)MODEM_RESP_TERMINAL); @@ -81,7 +89,6 @@ } else { - PRINT("Resp err %d ", err); modem_resp.put((void*)MODEM_RESP_ERROR); } } @@ -227,9 +234,6 @@ uint8_t id = modem_get_id(my_main_callback); PRINT("Register Files\n"); - // HOST Revision is a local file. Uses D7AActP Notification. - modem_update_file(FID_HOST_REV, (alp_file_header_t*)&h_rev, (uint8_t*)&f_rev); - // Button/Alarm is a local file. As we want to check the outcome of sending // this, don't use D7AActP Notification but rather plain ALP ITF Forwarding. // Declaration just allows remote access. @@ -241,7 +245,7 @@ modem_ready.wait(); PRINT("Start D7A Stack\n"); - modem_activate_itf(ALP_ITF_TYPE_D7A, 24, 0, ALP_D7A_ISTAT_RESP | ALP_D7A_ISTAT_UNS, true, id); + modem_activate_itf(ALP_ITF_TYPE_D7A, 24, 0, ALP_D7A_ISTAT_RESP | ALP_D7A_ISTAT_UNS | ALP_D7A_ISTAT_EOP, true, id); modem_ready.wait(); PRINT("Notify Modem Version\n"); @@ -249,8 +253,8 @@ modem_ready.wait(); PRINT("Notify FW Version\n"); - modem_notify_file(FID_HOST_REV, 0, SIZE_HOST_REV, id); - modem_ready.wait(); + uint8_t default_root_key[16] = DEFAULT_ROOT_KEY; + modem_notify_host_rev(&f_rev, &h_rev, default_root_key); modem_free_id(id);