library for enebular edge agent board(version p1)
Diff: Eeabp1.cpp
- Revision:
- 1:da9fd2252ed5
- Parent:
- 0:c6b2a8ace823
- Child:
- 2:d48fcae8b5bd
--- a/Eeabp1.cpp Sat Aug 26 08:58:38 2017 +0000 +++ b/Eeabp1.cpp Sat Oct 21 07:26:52 2017 +0000 @@ -80,6 +80,8 @@ int Eeabp1::setLoRaPower(bool on) { int ret; + int retry; + const int retry_max = 10; if (on) { if (lora_enabled) @@ -97,10 +99,16 @@ return ret; serial->printf("mod set_echo off\r\n"); // ローカルエコー:無効 wait(1); - serial->printf("lorawan join otaa\r\n"); // Gatewayに接続(OTAA) - ret = chkSerialCharRes('a'); // 成功 ">> accepted" 失敗 ">> unsuccess" - if (ret != 0) - return ret; + for(retry=0; retry < retry_max; retry++) { + serial->printf("lorawan join otaa\r\n"); // Gatewayに接続(OTAA) + ret = chkSerialCharRes('a'); // 成功 ">> accepted" 失敗 ">> unsuccess" + if (ret == 0) + break; + wait(10); + } + if (retry == retry_max) + return __LINE__; + serial->printf("lorawan set_dr 2\r\n"); // データレートの設定(11byte) ret = chkSerialCharOk(); if (ret != 0)