2

I'm trying to connect my pi pico W with the WiFi.h library, but once I build (compile) the script it fails and brings a ton of error messages in the terminal:

Removing unused dependencies...
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/raspberrypi/pico.html
PLATFORM: Raspberry Pi RP2040 (1.7.0) > Raspberry Pi Pico
HARDWARE: RP2040 133MHz, 264KB RAM, 2MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, jlink, raspberrypi-swd)
PACKAGES:
 - framework-arduino-mbed @ 3.1.1
 - tool-rp2040tools @ 1.0.2
 - toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1)
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 37 compatible libraries
Scanning dependencies...
Dependency Graph
|-- WiFi @ 1.0
|   |-- SocketWrapper @ 1.0
Building in release mode
Compiling .pio\build\pico\src\main.cpp.o
Generating LD script .pio\build\pico\cpp.linker_script.ld
Compiling .pio\build\pico\libc88\SocketWrapper\MbedClient.cpp.o
Compiling .pio\build\pico\libc88\SocketWrapper\MbedSSLClient.cpp.o
Compiling .pio\build\pico\libc88\SocketWrapper\MbedServer.cpp.o
Compiling .pio\build\pico\libc88\SocketWrapper\MbedUdp.cpp.o
Compiling .pio\build\pico\libc88\SocketWrapper\SocketHelpers.cpp.o
Compiling .pio\build\pico\libc88\SocketWrapper\utility\http_parser\http_parser.c.o
Compiling .pio\build\pico\lib21a\WiFi\WiFi.cpp.o
Compiling .pio\build\pico\lib21a\WiFi\WiFiServer.cpp.o
Compiling .pio\build\pico\FrameworkArduinoVariant\double_tap_usb_boot.cpp.o
Compiling .pio\build\pico\FrameworkArduinoVariant\variant.cpp.o
Compiling .pio\build\pico\FrameworkArduino\Interrupts.cpp.o
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\utility\http_parser\http_parser.c: In 
function 'http_parser_execute':
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\utility\http_parser\http_parser.c:1817:31: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1817 |               parser->upgrade = 1;
      |               ~~~~~~~~~~~~~~~~^~~
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\utility\http_parser\http_parser.c:1819:13: note: here
 1819 |             case 1:
      |             ^~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\utility\http_parser\http_parser.c: In 
function 'http_parser_parse_url':
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\utility\http_parser\http_parser.c:2376:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2376 |         found_at = 1;
      |         ~~~~~~~~~^~~
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\utility\http_parser\http_parser.c:2379:7: note: here
 2379 |       case s_req_server:
      |       ^~~~
Compiling .pio\build\pico\FrameworkArduino\Serial.cpp.o
In file included from C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/platform_defs.h:12,
                 from C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include/pico/platform.h:12,
                 from C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_base/include/pico.h:19,
                 from C:\.platformio\packages\framework-arduino-mbed\variants\RASPBERRY_PI_PICO\double_tap_usb_boot.cpp:2:
C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'uint32_t time_us_32()':
C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
   56 | #define TIMER_BASE 0x40054000
      |                    ^~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'      
   33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
      |                                      ^~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:66:12: note: in expansion of macro 'timer_hw'
   66 |     return timer_hw->timerawl;
      |            ^~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'bool time_reached(absolute_time_t)':
C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
   56 | #define TIMER_BASE 0x40054000
      |                    ^~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'      
   33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
      |                                      ^~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:110:19: note: in expansion of macro 'timer_hw'
  110 |     uint32_t hi = timer_hw->timerawh;
      |                   ^~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
   56 | #define TIMER_BASE 0x40054000
      |                    ^~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'      
   33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
      |                                      ^~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:111:33: note: in expansion of macro 'timer_hw'
  111 |     return (hi >= hi_target && (timer_hw->timerawl >= (uint32_t) target || hi != hi_target));
      |                                 ^~~~~~~~
Compiling .pio\build\pico\FrameworkArduino\Tone.cpp.o
In file included from C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\MbedSSLClient.cpp:1:
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\MbedSSLClient.h:26:10: fatal error: QSPIFBlockDevice.h: No such file or directory

**************************************************************************
* Looking for QSPIFBlockDevice.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:QSPIFBlockDevice.h"
* Web  > https://registry.platformio.org/search?q=header:QSPIFBlockDevice.h
*
**************************************************************************

   26 | #include <QSPIFBlockDevice.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
*** [.pio\build\pico\libc88\SocketWrapper\MbedSSLClient.cpp.o] Error 1
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\MbedUdp.cpp: In member function 'virtual int arduino::MbedUDP::endPacket()':
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\MbedUdp.cpp:76:11: warning: variable length array 'buffer' is used [-Wvla]
   76 |   uint8_t buffer[size];
      |           ^~~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\MbedUdp.cpp:77:21: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]        
   77 |   for (int i = 0; i < size; i++) {
      |                   ~~^~~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\MbedUdp.cpp: In member function 'virtual size_t arduino::MbedUDP::write(const uint8_t*, size_t)':
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\MbedUdp.cpp:97:20: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]        
   97 |   for (int i = 0; i<size; i++) {
      |                   ~^~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\MbedClient.cpp: In member function 'virtual size_t arduino::MbedClient::write(const uint8_t*, size_t)':
C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src\MbedClient.cpp:216:17: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]    
  216 |   } while ((ret != size && ret == NSAPI_ERROR_WOULD_BLOCK) && connected());
      |             ~~~~^~~~~~~
In file included from src\main.cpp:2:
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src/WiFi.h:203:3: error: 'WiFiAccessPoint' does not name a type
  203 |   WiFiAccessPoint* ap_list = nullptr;
      |   ^~~~~~~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src/WiFi.h:207:16: error: expected ';' at end of member declaration
  207 |   static void* handleAPEvents(whd_interface_t ifp, const whd_event_header_t* event_header, const uint8_t* event_data, void* handler_user_data);
      |                ^~~~~~~~~~~~~~
      |                              ;
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src/WiFi.h:207:46: error: expected ')' before 'ifp'  207 |   static void* handleAPEvents(whd_interface_t ifp, const whd_event_header_t* event_header, const uint8_t* event_data, void* handler_user_data);
      |                              ~               ^~~~
      |                                              )
In file included from C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFiServer.h:20,
                 from C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFiServer.cpp:1:
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.h:203:3: error: 'WiFiAccessPoint' does not name a type
  203 |   WiFiAccessPoint* ap_list = nullptr;
      |   ^~~~~~~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.h:207:16: error: expected ';' at end of member declaration
  207 |   static void* handleAPEvents(whd_interface_t ifp, const whd_event_header_t* event_header, const uint8_t* event_data, void* handler_user_data);
      |                ^~~~~~~~~~~~~~
      |                              ;
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.h:207:46: error: expected ')' before 'ifp'  207 |   static void* handleAPEvents(whd_interface_t ifp, const whd_event_header_t* event_header, const uint8_t* event_data, void* handler_user_data);
      |                              ~               ^~~~
      |                                              )
In file included from C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:1:
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.h:203:3: error: 'WiFiAccessPoint' does not name a type
  203 |   WiFiAccessPoint* ap_list = nullptr;
      |   ^~~~~~~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.h:207:16: error: expected ';' at end of member declaration
  207 |   static void* handleAPEvents(whd_interface_t ifp, const whd_event_header_t* event_header, const uint8_t* event_data, void* handler_user_data);
      |                ^~~~~~~~~~~~~~
      |                              ;
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.h:207:46: error: expected ')' before 'ifp'  207 |   static void* handleAPEvents(whd_interface_t ifp, const whd_event_header_t* event_header, const uint8_t* event_data, void* handler_user_data);
      |                              ~               ^~~~
      |                                              )
*** [.pio\build\pico\src\main.cpp.o] Error 1
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: In member function 'bool arduino::WiFiClass::isVisible(const char*)':
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:7:17: error: 'ap_list' was not declared in this scope; did you mean 'va_list'?
    7 |     if (strncmp(ap_list[i].get_ssid(), ssid, SSID_MAX_LENGTH) == 0) {
      |                 ^~~~~~~
      |                 va_list
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: In member function 'int arduino::WiFiClass::begin(const char*, const char*)':
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:27:61: error: 'ap_list' was not declared in this scope; did you mean 'va_list'?
   27 |   nsapi_error_t result = wifi_if->connect(ssid, passphrase, ap_list[connected_ap].get_security());       
      |                                                             ^~~~~~~
      |                                                             va_list
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: In member function 'int arduino::WiFiClass::beginAP(const char*, const char*, uint8_t)':
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:52:3: error: 'WhdSoftAPInterface' was 
not declared in this scope
   52 |   WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |   ^~~~~~~~~~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:52:23: error: 'softAPInterface' was not declared in this scope; did you mean 'PPPInterface'?
   52 |   WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |                       ^~~~~~~~~~~~~~~
      |                       PPPInterface
*** [.pio\build\pico\lib21a\WiFi\WiFiServer.cpp.o] Error 1
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:52:53: error: 'WhdSoftAPInterface' does not name a type
   52 |   WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |                                                     ^~~~~~~~~~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:52:71: error: expected '>' before '*' 
token
   52 |   WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |                                                                       ^
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:52:71: error: expected '(' before '*' 
token
   52 |   WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |                                                                       ^
      |                                                                       (
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:52:72: error: expected primary-expression before '>' token
   52 |   WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |                                                                        ^
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:52:82: error: expected ')' before ';' 
token
   52 |   WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |                                                                                  ^
      |                                                                                  )
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: At global scope:
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:71:42: error: 'whd_interface_t' was not declared in this scope; did you mean 'ticker_interface_t'?
   71 | void* arduino::WiFiClass::handleAPEvents(whd_interface_t ifp, const whd_event_header_t* event_header, const uint8_t* event_data, void* handler_user_data) {
      |                                          ^~~~~~~~~~~~~~~
      |                                          ticker_interface_t
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:71:63: error: expected primary-expression before 'const'
   71 | void* arduino::WiFiClass::handleAPEvents(whd_interface_t ifp, const whd_event_header_t* event_header, const uint8_t* event_data, void* handler_user_data) {
      |                                                               ^~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:71:103: error: expected primary-expression before 'const'
   71 | void* arduino::WiFiClass::handleAPEvents(whd_interface_t ifp, const whd_event_header_t* event_header, const uint8_t* event_data, void* handler_user_data) {
      |                                                                                                       ^~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:71:130: error: expected primary-expression before 'void'
   71 | void* arduino::WiFiClass::handleAPEvents(whd_interface_t ifp, const whd_event_header_t* event_header, const uint8_t* event_data, void* handler_user_data) {
      |
                        ^~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:71:153: error: expression list treated as compound expression in initializer [-fpermissive]
   71 | void* arduino::WiFiClass::handleAPEvents(whd_interface_t ifp, const whd_event_header_t* event_header, const uint8_t* event_data, void* handler_user_data) {
      |
                                               ^
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: In member function 'int arduino::WiFiClass::disconnect()':
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:113:5: error: 'WhdSoftAPInterface' was not declared in this scope
  113 |     WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |     ^~~~~~~~~~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:113:25: error: 'softAPInterface' was not declared in this scope; did you mean 'PPPInterface'?
  113 |     WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |                         ^~~~~~~~~~~~~~~
      |                         PPPInterface
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:113:55: error: 'WhdSoftAPInterface' does not name a type
  113 |     WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |                                                       ^~~~~~~~~~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:113:73: error: expected '>' before '*' token
  113 |     WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |                                                                         ^
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:113:73: error: expected '(' before '*' token
  113 |     WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |                                                                         ^
      |                                                                         (
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:113:74: error: expected primary-expression before '>' token
  113 |     WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |                                                                          ^
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:113:84: error: expected ')' before ';' token
  113 |     WhdSoftAPInterface* softAPInterface = static_cast<WhdSoftAPInterface*>(_softAP);
      |                                                                                    ^
      |                                                                                    )
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: In member function 'int8_t arduino::WiFiClass::scanNetworks()':
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:163:7: error: 'ap_list' was not declared in this scope; did you mean 'va_list'?
  163 |   if (ap_list == nullptr) {
      |       ^~~~~~~
      |       va_list
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:166:24: error: 'ap_list' was not declared in this scope; did you mean 'va_list'?
  166 |   return wifi_if->scan(ap_list, count);
      |                        ^~~~~~~
      |                        va_list
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: In member function 'char* arduino::WiFiClass::SSID(uint8_t)':
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:170:17: error: 'ap_list' was not declared in this scope; did you mean 'va_list'?
  170 |   return (char*)ap_list[networkItem].get_ssid();
      |                 ^~~~~~~
      |                 va_list
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: In member function 'int32_t arduino::WiFiClass::RSSI(uint8_t)':
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:174:10: error: 'ap_list' was not declared in this scope; did you mean 'va_list'?
  174 |   return ap_list[networkItem].get_rssi();
      |          ^~~~~~~
      |          va_list
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: In member function 'uint8_t arduino::WiFiClass::encryptionType(uint8_t)':
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:178:19: error: 'ap_list' was not declared in this scope; did you mean 'va_list'?
  178 |   return sec2enum(ap_list[networkItem].get_security());
      |                   ^~~~~~~
      |                   va_list
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: In member function 'uint8_t arduino::WiFiClass::encryptionType()':
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:190:19: error: 'ap_list' was not declared in this scope; did you mean 'va_list'?
  190 |   return sec2enum(ap_list[connected_ap].get_security());
      |                   ^~~~~~~
      |                   va_list
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: In member function 'uint8_t* arduino::WiFiClass::BSSID(unsigned char*)':
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:194:34: error: 'ap_list' was not declared in this scope; did you mean 'va_list'?
  194 |   const uint8_t* reverse_bssid = ap_list[connected_ap].get_bssid();
      |                                  ^~~~~~~
      |                                  va_list
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: In member function 'virtual NetworkInterface* arduino::WiFiClass::getNetwork()':
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:203:12: error: cannot convert 'EMACInterface*' to 'NetworkInterface*' in return
  203 |     return _softAP;
      |            ^~~~~~~
      |            |
      |            EMACInterface*
In file included from C:\.platformio\packages\framework-arduino-mbed\libraries\SocketWrapper\src/SocketHelpers.h:21,
                 from C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.h:27,
                 from C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:1:
C:\.platformio\packages\framework-arduino-mbed\cores\arduino/mbed/connectivity/netsocket/include/netsocket/NetworkInterface.h:39:7: note: class type 'EMACInterface' is incomplete
   39 | class EMACInterface;
      |       ^~~~~~~~~~~~~
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp: At global scope:
C:\.platformio\packages\framework-arduino-mbed\libraries\WiFi\src\WiFi.cpp:143:16: warning: 'uint8_t sec2enum(nsapi_security_t)' defined but not used [-Wunused-function]
  143 | static uint8_t sec2enum(nsapi_security_t sec) {
      |                ^~~~~~~~
*** [.pio\build\pico\lib21a\WiFi\WiFi.cpp.o] Error 1

In platform.ini i currently have:

[env:pico]
platform = raspberrypi
board = pico
framework = arduino
lib_deps = WiFi

Any help or any other way to connect the pi pico to WiFi?

I've tried I«including lib_deps = WiFi in platform.ini but nothing changed really

João
  • 51
  • 1
  • 3

1 Answers1

1

I had the same problem. For me the solution was to follow this description: https://arduino-pico.readthedocs.io/en/latest/platformio.html

Finally the platformio.ini will be something like that:

[env:pico]
framework = arduino
platform = https://github.com/maxgerhardt/platform-raspberrypi
board = rpipicow
board_build.core = earlephilhower
upload_protocol = picoprobe
debug_tool = picoprobe
monitor_speed = 115200
check_tool = cppcheck

The very important lines are "platform = https://github.com/maxgerhardt/platform-raspberrypi" and "board_build.core = earlephilhower" which pull another framework.

rgrr
  • 151
  • 5
  • 1
    It worked fine! Thanks! I was able to manually upload the built file but can't manage to upload it with PlatformIO which brings the error "Open On-Chip Debugger 0.11.0-g610f137 (2022-02-11-13:57) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html debug_level: 1 adapter speed: 5000 kHz adapter speed: 1000 kHz Error: Failed to open or find the device Error: Can't find a picoprobe device! Please check device connections and permissions." But it works fine manually, so thank you so much! – João Dec 02 '22 at 02:18
  • 1
    Haha, we are fighting at the very same places. But the above configuration worked for me of course if the picoprobe firmware is in the Pico. If you want a (much slower) alternative, you could use "cmsis-dap" instead of "picoprobe" which implies that the Pico probe must contain the proper firmware (e.g. DapperMime). Currently I'm trying to get a PR passed at the picoprobe repo which implements CMSIS-DAPv2. But there you get some tool implications as well. This all seems a little bit half-baken and seems to need some consolidation. – rgrr Dec 03 '22 at 07:47
  • for me everything works if i replace picoprobe with picotool – Farouk Dec 03 '22 at 17:05