Struggling to get successful compile using #include <rpcWiFi.h>

This is my source:

#include <rpcWiFi.h>

void setup()

void loop()

Thiese are the errors I’m receiving:
Arduino: 1.8.13 (Linux), Board: “Seeeduino Wio Terminal, Master, Enabled, 120 MHz (standard), Small (-Os) (standard), 50 MHz (standard), Arduino, Off, On”

/home/withheld/Arduino/libraries/Seeed_Arduino_rpcWiFi/src/WiFiSTA.cpp: In member function ‘bool WiFiSTAClass::config(IPAddress, IPAddress, IPAddress, IPAddress, IPAddress)’:
/home/withheld/Arduino/libraries/Seeed_Arduino_rpcWiFi/src/WiFiSTA.cpp:364:20: error: ‘struct tcpip_adapter_dns_info_t’ has no member named ‘ipv4’; did you mean ‘ip’?
tcpip_dns0.ipv4 = dns1;
/home/withheld/Arduino/libraries/Seeed_Arduino_rpcWiFi/src/WiFiSTA.cpp:372:20: error: ‘struct tcpip_adapter_dns_info_t’ has no member named ‘ipv4’; did you mean ‘ip’?
tcpip_dns1.ipv4 = dns2;
/home/withheld/Arduino/libraries/Seeed_Arduino_rpcWiFi/src/WiFiSTA.cpp: In member function ‘IPAddress WiFiSTAClass::dnsIP(uint8_t)’:
/home/withheld/Arduino/libraries/Seeed_Arduino_rpcWiFi/src/WiFiSTA.cpp:564:39: error: ‘struct tcpip_adapter_dns_info_t’ has no member named ‘ipv4’; did you mean ‘ip’?
return IPAddress(tcpip_dns_ip.ipv4);
/home/withheld/Arduino/libraries/Seeed_Arduino_rpcWiFi/src/WiFiSTA.cpp:567:39: error: ‘struct tcpip_adapter_dns_info_t’ has no member named ‘ipv4’; did you mean ‘ip’?
return IPAddress(tcpip_dns_ip.ipv4);
exit status 1
Error compiling for board Seeeduino Wio Terminal.

This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.

I’m using Arduino 1.8.13, Ubuntu 20.04

This is my ~/Arduino/Libraries:

Adafruit_BusIO pubsubclient-master Seeed_Arduino_mbedtls
Adafruit_GFX_Library readme.txt Seeed_Arduino_rpcUnified
ArduinoJson Seeed_Arduino_FreeRTOS Seeed_Arduino_rpcWiFi
lv_arduino-master Seeed_Arduino_FS Seeed_Arduino_SFUD

Because I’ve read that github has issues with links, I’m using the dev (or dev-dns) branches for these:

I’m using the dev branches because I had been receiving an error that the compiler couldn’t find esp_system.h


Hi Kerniew,
We have updated the libraries to enable WiFi functionality on the Wio Terminal. So please visit the below github repos and update them.
Seeed_Arduino_rpcWiFi - master branch
Seeed_Arduino_rpcUnified - master branch
Seeed_Arduino_mbedtls - dev branch
Seeed_Arduino_FS - master branch
Seeed_Arduino_SFUD - master branch

Also, we have updated the RTL8720 firmware to version v2.0.4. Please follow this wiki to update the firmware.

Make sure to update the SAMD Core of Wio Terminal by visiting Arduino IDE.

  • Go to Tools > Board > Boards Manager
  • Type Wio Terminal in the search box
  • Select version 1.8.1 and install

I have also noticed that you have Seeed_Arduino_FreeRTOS library installed. Actually, you can delete that library because the new SAMD Core of Wio Terminal includes that library. You can check here the libraries that are pre-installed.

Let me know how it goes.

Best Regards,

@lakshan Thank you for posting about the updates of the WiFi-related libraries.

Actually, they went unnoticed as they are not managed through the standard library manager of the menu Sketch > Include Library > Manage Libraires… on the Arduino IDE.

Could it be possible to reconsider and Include all Seeed libraries into the Seeed URL json?

Please refer to my comment at Add spartan edge libraries to Arduino Library Manager.

Thank you!

Let’s keep the discussion and find a better solution to make this possible in the most efficient way.

As BaoZhu mentioned in the previous post, we need automatic update methods to make this possible.

Yeah! Success!

I used the branches you indicated for the libraries. I used “git clone”. That is probably habit at this point.

I had done the firmware update, so that was good.

The Arduino Boards Manager reported that I had SAMD Core of 1.8.1 installed, but the .arduino15/packages/Seeeduino/hardware/samd/1.8.1/libraries directory lacked the FreeRTOS and LCD directories. So I uninstalled 1.8.1 and reinstalled it using Arduino and then the FreeRTOS and LCD directories were there.

I used the Salman’s example code found here:

It reports my WiFi and Bluetooth environment now.

Thanks for the wonderful support Lakshantha.

1 Like