Broadcast read demo.
Dependencies: modem_ref_helper DebouncedInterrupt
Diff: main.cpp
- Revision:
- 1:5ddd7f4db10d
- Parent:
- 0:cc947267028b
- Child:
- 2:4629eacf9851
--- a/main.cpp Tue May 09 12:56:20 2017 +0000 +++ b/main.cpp Thu May 11 16:49:40 2017 +0000 @@ -63,7 +63,7 @@ .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(4,0), + .cfg.addressee.id[0] = D7A_CTF_VAL(8,0), }; #define MY_D7_ITF_SIZE(_itf) (1+my_alp_itf_d7a_cfg_size(&(_itf)->cfg)) @@ -113,7 +113,7 @@ if (terminal) { - print_status(err); + //print_status(err); modem_resp.put((void*)MODEM_RESP_TERMINAL); } else @@ -138,14 +138,13 @@ uint32_t resp; d7a_sp_res_t istat; fw_version_t fw_ver; - uint8_t gw_nb = 0; + uint8_t nb = 0; uint8_t my_user_id = modem_get_id(my_read_response_callback); FPRINT("(id:0x%08x)\r\n", osThreadGetId()); - //uint8_t scan_xcl[] = { 0x0F, 0x2F, 0x8F, 0x9F }; - uint8_t scan_xcl[] = { 0x2F }; + uint8_t scan_xcl[] = { 0x0F, 0x2F }; // Set custom retry policy //modem_write_file(WM_FID_ALP_CFG, &my_policy, MY_POLICY_IDX * sizeof(alp_retry_policy_t), sizeof(alp_retry_policy_t), g_main_id); @@ -158,9 +157,11 @@ for (uint8_t i = 0; i < sizeof(scan_xcl); i++) { - gw_nb = 0; + nb = 0; my_itf.cfg.addressee.xcl.byte = scan_xcl[i]; + PRINT("Scanning XCL 0x%02X...\n", my_itf.cfg.addressee.xcl.byte); + modem_remote_read_file((uint8_t*)&my_itf, MY_D7_ITF_SIZE(&my_itf), (void*)&istat, 2, (void*)&fw_ver, 12, sizeof(fw_version_t), my_user_id); do @@ -170,17 +171,17 @@ if (MODEM_RESP_DONE == resp) { - gw_nb++; - PRINT("%d: XCL:%02X ", gw_nb, istat.addressee.xcl.byte); - PRINT_DATA("UID: ", "%02X", istat.addressee.id, 8, " "); - PRINT("v%d.%d.%d ", fw_ver.major, fw_ver.minor, fw_ver.patch); - PRINT("rxlev:%d lb:%d\n", istat.rxlev, istat.lb); + nb++; + PRINT("%d: XCL:%02X ", nb, istat.addressee.xcl.byte); + PRINT_DATA("UID:", "%02X", istat.addressee.id, 8, " "); + PRINT("rxlev:%d lb:%d ", istat.rxlev, istat.lb); + PRINT("v%d.%d.%d\n", fw_ver.major, fw_ver.minor, fw_ver.patch); + } } while (MODEM_RESP_TERMINAL != resp); - } - PRINT("DONE\n"); + PRINT("Done.\n"); } } @@ -238,12 +239,19 @@ PRINT("\r\n--- Starting new run ---\r\n"); FPRINT("(id:0x%08x)\r\n", osThreadGetId()); - alp_file_header_t hdr; static union { uint8_t b[8]; uint32_t w[2]; } uid; revision_t rev; + + // Hardware reset + DigitalOut reset_low(MODEM_PIN_RESET, 0); + Thread::wait(100); + + // Release reset + DigitalIn reset_release(MODEM_PIN_RESET); + Thread::wait(1000); // Open modem Com port g_modem_com = new WizziCom(MODEM_PIN_TX, MODEM_PIN_RX, MODEM_PIN_IRQ_OUT, MODEM_PIN_IRQ_IN);