@@ -86,7 +86,6 @@ bool NetworkConfiguratorClass::begin() {
86
86
DEBUG_ERROR (" NetworkConfiguratorClass::%s Failed to initialize the AgentsManagerClass" , __FUNCTION__);
87
87
}
88
88
89
- _connectionTimeout.begin (NC_CONNECTION_TIMEOUT_ms);
90
89
_connectionRetryTimer.begin (NC_CONNECTION_RETRY_TIMER_ms);
91
90
_resetInput->begin ();
92
91
@@ -112,7 +111,7 @@ NetworkConfiguratorStates NetworkConfiguratorClass::update() {
112
111
113
112
if (_state != nextState){
114
113
if (nextState == NetworkConfiguratorStates::CONNECTING){
115
- _connectionTimeout. reload ();
114
+ setConnectionTimeoutTimer ();
116
115
}
117
116
_state = nextState;
118
117
}
@@ -395,6 +394,60 @@ bool NetworkConfiguratorClass::handleConnectRequest() {
395
394
return true ;
396
395
}
397
396
397
+ void NetworkConfiguratorClass::setConnectionTimeoutTimer () {
398
+ uint32_t timeout = 0 ;
399
+ switch (_networkSetting.type ) {
400
+ #if defined(BOARD_HAS_WIFI)
401
+ case NetworkAdapter::WIFI:
402
+ timeout = 15000 ; // 15 seconds
403
+ break ;
404
+ #endif
405
+
406
+ #if defined(BOARD_HAS_ETHERNET)
407
+ case NetworkAdapter::ETHERNET:
408
+ timeout = 15000 ; // 15 seconds
409
+ break ;
410
+ #endif
411
+
412
+ #if defined(BOARD_HAS_NB)
413
+ case NetworkAdapter::NB:
414
+ timeout = 25000 ; // 25 seconds
415
+ break ;
416
+ #endif
417
+
418
+ #if defined(BOARD_HAS_GSM)
419
+ case NetworkAdapter::GSM:
420
+ timeout = 25000 ; // 25 seconds
421
+ break ;
422
+ #endif
423
+
424
+ #if defined(BOARD_HAS_CATM1_NBIOT)
425
+ case NetworkAdapter::CATM1:
426
+ timeout = 25000 ; // 25 seconds
427
+ break ;
428
+ #endif
429
+
430
+ #if defined(BOARD_HAS_CELLULAR)
431
+ case NetworkAdapter::CELL:
432
+ timeout = 25000 ; // 25 seconds
433
+ break ;
434
+ #endif
435
+
436
+ #if defined(BOARD_HAS_LORA)
437
+ case NetworkAdapter::LORA:
438
+ timeout 15000 ; // 15 seconds
439
+ break ;
440
+ #endif
441
+ default :
442
+ timeout = 15000 ; // Default to 15 seconds for other adapters
443
+ break ;
444
+ }
445
+
446
+ _connectionTimeout.begin (timeout);
447
+ _connectionTimeout.reload ();
448
+ return ;
449
+ }
450
+
398
451
String NetworkConfiguratorClass::decodeConnectionErrorMessage (NetworkConnectionState err, StatusMessage *errorCode) {
399
452
switch (err) {
400
453
case NetworkConnectionState::ERROR:
@@ -462,7 +515,7 @@ NetworkConfiguratorStates NetworkConfiguratorClass::handleZeroTouchConfig() {
462
515
return NetworkConfiguratorStates::READ_STORED_CONFIG;
463
516
}
464
517
_connectionHandlerIstantiated = true ;
465
- _connectionTimeout. reload ();
518
+ setConnectionTimeoutTimer ();
466
519
}
467
520
468
521
StatusMessage err;
0 commit comments