@@ -36,6 +36,7 @@ void stInitTransition() {
36
36
// initialize status variables
37
37
_transportSM.failedUplinkTransmissions = 0 ;
38
38
_transportSM.pingActive = false ;
39
+ _transportSM.transportActive = false ;
39
40
40
41
// Read node settings (ID, parentId, GW distance) from EEPROM
41
42
hwReadConfigBlock ((void *)&_nc, (void *)EEPROM_NODE_ID_ADDRESS, sizeof (NodeConfig));
@@ -48,6 +49,7 @@ void stInitTransition() {
48
49
}
49
50
else {
50
51
debug (PSTR (" RADIO:OK\n " ));
52
+ _transportSM.transportActive = true ;
51
53
#if defined(MY_GATEWAY_FEATURE)
52
54
// Set configuration for gateway
53
55
debug (PSTR (" TSM:GW MODE\n " ));
@@ -170,6 +172,7 @@ void stOKUpdate() {
170
172
void stFailureTransition () {
171
173
debug (PSTR (" !TSM:FAILURE\n " ));
172
174
_transportSM.uplinkOk = false ;
175
+ _transportSM.transportActive = false ;
173
176
// power down transport, no need until re-init
174
177
debug (PSTR (" TSM:PDT\n " ));
175
178
transportPowerDown ();
@@ -221,7 +224,7 @@ void transportProcess() {
221
224
// update state machine
222
225
transportUpdateSM ();
223
226
// process transport FIFO
224
- transportProcessFIFO ();
227
+ if (_transportSM. transportActive ) transportProcessFIFO ();
225
228
}
226
229
227
230
0 commit comments