diff --git a/mini-beieli-node.ino b/mini-beieli-node.ino index 5f154cf..2827fce 100644 --- a/mini-beieli-node.ino +++ b/mini-beieli-node.ino @@ -147,11 +147,6 @@ bool fUsbPower; static osjob_t iterationJob; static osjob_t sendJob; -// the cycle time to use -unsigned gTxCycle; -// remaining before we reset to default -unsigned gTxCycleCount; - void setup(void) { gCatena.begin(); @@ -251,7 +246,6 @@ void setup_platform(void) } gLoRaWAN.SetReceiveBufferBufferCb(receiveMessage); - setTxCycleTime(CATCFG_T_CYCLE_INITIAL, CATCFG_INTERVAL_COUNT_INITIAL); gCatena.registerObject(&gLoRaWAN); /* find the platform */ @@ -346,6 +340,9 @@ void setup_uplink(void) LMIC_setClockError(1 * 65536 / 100); + // explicitly enable LinkCheckMode + gLoRaWAN.SetLinkCheckMode(true); + /* figure out when to reboot */ gRebootMs = (CATCFG_T_REBOOT + os_getRndU2() - 32768) * 1000; @@ -925,30 +922,6 @@ void doSleepAlert(const bool fDeepSleep) } -void updateSleepCounters(void) -{ - // update the sleep parameters - if (gTxCycleCount > 1) - { - // values greater than one are decremented and ultimately reset to default. - --gTxCycleCount; - } - else if (gTxCycleCount == 1) - { - // it's now one (otherwise we couldn't be here.) - if (config_data.debug_level > 0) { - gCatena.SafePrintf("resetting tx cycle to default: %u\n", CATCFG_T_CYCLE); - } - gTxCycleCount = 0; - gTxCycle = CATCFG_T_CYCLE; - } - else - { - // it's zero. Leave it alone. - } -} - - static void settleDoneCb( osjob_t* pSendJob) { @@ -966,9 +939,6 @@ static void settleDoneCb( doSleepAlert(fDeepSleep); - /* count what we're up to */ - updateSleepCounters(); - send_in_progress = false; } @@ -1005,8 +975,6 @@ static void startNewIterationCb(osjob_t* pJob) static void receiveMessage(void *pContext, uint8_t port, const uint8_t *pMessage, size_t nMessage) { - unsigned txCycle; - unsigned txCount; long cal_w1_0; long cal_w2_0; @@ -1122,59 +1090,8 @@ static void receiveMessage(void *pContext, uint8_t port, const uint8_t *pMessage } } - if (port == 0) - { - return; - } - - else if (! (port == 1 && 2 <= nMessage && nMessage <= 3)) - { - if (config_data.debug_level > 0) { - gCatena.SafePrintf("invalid message port(%02x)/length(%x)\n", - port, nMessage - ); - } - return; - } - - txCycle = (pMessage[0] << 8) | pMessage[1]; - - if (txCycle < CATCFG_T_MIN || txCycle > CATCFG_T_MAX) - { - if (config_data.debug_level > 0) { - gCatena.SafePrintf("tx cycle time out of range: %u\n", txCycle); - } - return; - } - - // byte [2], if present, is the repeat count. - // explicitly sending zero causes it to stick. - txCount = CATCFG_INTERVAL_COUNT; - if (nMessage >= 3) - { - txCount = pMessage[2]; - } - - setTxCycleTime(txCycle, txCount); - } -void setTxCycleTime(unsigned txCycle, unsigned txCount) -{ - if (txCount > 0) { - if (config_data.debug_level > 0) { - gCatena.SafePrintf("message cycle time %u seconds for %u messages\n", txCycle, txCount); - } - } - else if (config_data.debug_level > 0) { - gCatena.SafePrintf("message cycle time %u seconds indefinitely\n", txCycle); - } - - gTxCycle = txCycle; - gTxCycleCount = txCount; -} - - /* process "application hello" -- args are ignored */ // argv[0] is "hello" // argv[1..argc-1] are the (ignored) arguments diff --git a/mini_beieli_node.h b/mini_beieli_node.h index 73a2c83..8a40b5f 100644 --- a/mini_beieli_node.h +++ b/mini_beieli_node.h @@ -56,7 +56,7 @@ enum { | \****************************************************************************/ -static const int32_t fwVersion = 20200603; +static const int32_t fwVersion = 20200604; static const byte INIT_PACKAGE_INTERVAL = 100; // send an init package every 100 packages; static const byte MAX_VALUES_TO_SEND = 8;