@@ -57,10 +57,17 @@ bool NetworkConfiguratorClass::begin() {
5757 memset (&_networkSetting, 0x00 , sizeof (models::NetworkSetting));
5858 _ledFeedback->begin ();
5959#ifdef BOARD_HAS_WIFI
60+ #ifdef ARDUINO_OPTA
61+ if (_getPid_ () == OPTA_WIFI_PID) {
62+ #endif
6063 String fv = WiFi.firmwareVersion ();
6164 if (fv < WIFI_FIRMWARE_LATEST_VERSION) {
6265 DEBUG_ERROR (F (" The current WiFi firmware version is not the latest and it may cause compatibility issues. Please upgrade the WiFi firmware" ));
6366 }
67+
68+ #ifdef ARDUINO_OPTA
69+ }
70+ #endif
6471 _agentsManager->addRequestHandler (RequestType::SCAN, scanReqHandler);
6572
6673 _agentsManager->addRequestHandler (RequestType::GET_WIFI_FW_VERSION, getWiFiFWVersionHandler);
@@ -294,6 +301,13 @@ bool NetworkConfiguratorClass::insertWiFiAP(WiFiOption &wifiOptObj, char *ssid,
294301
295302bool NetworkConfiguratorClass::scanWiFiNetworks (WiFiOption &wifiOptObj) {
296303 wifiOptObj.numDiscoveredWiFiNetworks = 0 ;
304+
305+ #if defined(ARDUINO_OPTA)
306+ if (_getPid_ () != OPTA_WIFI_PID) {
307+ return true ; // Skip scanning if it's not the Opta with WiFi
308+ }
309+ #endif
310+
297311#if defined(ARDUINO_UNOR4_WIFI)
298312 WiFi.end ();
299313#endif
@@ -349,6 +363,14 @@ bool NetworkConfiguratorClass::handleConnectRequest() {
349363 return false ;
350364 }
351365
366+ #ifdef ARDUINO_OPTA
367+ if (_networkSetting.type == NetworkAdapter::WIFI && _getPid_ () != OPTA_WIFI_PID) {
368+ DEBUG_WARNING (" NetworkConfiguratorClass::%s WiFi configuration is not supported on this board" , __FUNCTION__);
369+ sendStatus (StatusMessage::INVALID_PARAMS);
370+ return false ;
371+ }
372+ #endif
373+
352374 if (_kvstore != nullptr ) {
353375 if (!_kvstore->begin ()) {
354376 DEBUG_ERROR (" NetworkConfiguratorClass::%s error initializing kvstore" , __FUNCTION__);
@@ -469,7 +491,13 @@ String NetworkConfiguratorClass::decodeConnectionErrorMessage(NetworkConnectionS
469491void NetworkConfiguratorClass::handleGetWiFiFWVersion () {
470492 String fwVersion = " " ;
471493 #ifdef BOARD_HAS_WIFI
494+ #ifdef ARDUINO_OPTA
495+ if (_getPid_ () == OPTA_WIFI_PID) {
496+ #endif
472497 fwVersion = WiFi.firmwareVersion ();
498+ #ifdef ARDUINO_OPTA
499+ }
500+ #endif
473501 #endif
474502 ProvisioningOutputMessage fwVersionMsg = { MessageOutputType::WIFI_FW_VERSION };
475503 fwVersionMsg.m .wifiFwVersion = fwVersion.c_str ();
0 commit comments