@@ -76,7 +76,6 @@ bool NetworkConfiguratorClass::begin() {
76
76
DEBUG_ERROR (" NetworkConfiguratorClass::%s Failed to initialize the AgentsManagerClass" , __FUNCTION__);
77
77
}
78
78
79
- _connectionTimeout.begin (NC_CONNECTION_TIMEOUT_ms);
80
79
_connectionRetryTimer.begin (NC_CONNECTION_RETRY_TIMER_ms);
81
80
_resetInput->begin ();
82
81
@@ -102,7 +101,7 @@ NetworkConfiguratorStates NetworkConfiguratorClass::update() {
102
101
103
102
if (_state != nextState){
104
103
if (nextState == NetworkConfiguratorStates::CONNECTING){
105
- _connectionTimeout. reload ();
104
+ setConnectionTimeoutTimer ();
106
105
}
107
106
_state = nextState;
108
107
}
@@ -385,6 +384,60 @@ bool NetworkConfiguratorClass::handleConnectRequest() {
385
384
return true ;
386
385
}
387
386
387
+ void NetworkConfiguratorClass::setConnectionTimeoutTimer () {
388
+ uint32_t timeout = 0 ;
389
+ switch (_networkSetting.type ) {
390
+ #if defined(BOARD_HAS_WIFI)
391
+ case NetworkAdapter::WIFI:
392
+ timeout = NC_CONNECTION_TIMEOUT_ms; // 15 seconds
393
+ break ;
394
+ #endif
395
+
396
+ #if defined(BOARD_HAS_ETHERNET)
397
+ case NetworkAdapter::ETHERNET:
398
+ timeout = NC_CONNECTION_TIMEOUT_ms; // 15 seconds
399
+ break ;
400
+ #endif
401
+
402
+ #if defined(BOARD_HAS_NB)
403
+ case NetworkAdapter::NB:
404
+ timeout = 2 * NC_CONNECTION_TIMEOUT_ms; // 30 seconds
405
+ break ;
406
+ #endif
407
+
408
+ #if defined(BOARD_HAS_GSM)
409
+ case NetworkAdapter::GSM:
410
+ timeout = 2 * NC_CONNECTION_TIMEOUT_ms; // 30 seconds
411
+ break ;
412
+ #endif
413
+
414
+ #if defined(BOARD_HAS_CATM1_NBIOT)
415
+ case NetworkAdapter::CATM1:
416
+ timeout = 2 * NC_CONNECTION_TIMEOUT_ms; // 30 seconds
417
+ break ;
418
+ #endif
419
+
420
+ #if defined(BOARD_HAS_CELLULAR)
421
+ case NetworkAdapter::CELL:
422
+ timeout = 2 * NC_CONNECTION_TIMEOUT_ms; // 30 seconds
423
+ break ;
424
+ #endif
425
+
426
+ #if defined(BOARD_HAS_LORA)
427
+ case NetworkAdapter::LORA:
428
+ timeout = NC_CONNECTION_TIMEOUT_ms; // 15 seconds
429
+ break ;
430
+ #endif
431
+ default :
432
+ timeout = NC_CONNECTION_TIMEOUT_ms; // Default to 15 seconds for other adapters
433
+ break ;
434
+ }
435
+
436
+ _connectionTimeout.begin (timeout);
437
+ _connectionTimeout.reload ();
438
+ return ;
439
+ }
440
+
388
441
String NetworkConfiguratorClass::decodeConnectionErrorMessage (NetworkConnectionState err, StatusMessage *errorCode) {
389
442
switch (err) {
390
443
case NetworkConnectionState::ERROR:
@@ -452,7 +505,7 @@ NetworkConfiguratorStates NetworkConfiguratorClass::handleZeroTouchConfig() {
452
505
return NetworkConfiguratorStates::WAITING_FOR_CONFIG;
453
506
}
454
507
_connectionHandlerIstantiated = true ;
455
- _connectionTimeout. reload ();
508
+ setConnectionTimeoutTimer ();
456
509
}
457
510
458
511
StatusMessage err;
0 commit comments