Table of Contents

WIO ESP32 API 3.x

ContentWIO Overview


Due to OTA/mDNS compile errors WIO ESP32 cannot use API 3.x


Remarks

Moving from API 2.0.17 to 3.x.
Espressive massively broke the compatibility from 2.x to 3.x which is the main reason to stick with 2.0.17

Changes are saved in a separate branch: https://gitlab.com/rocrail/wio/-/tree/ESP32_API3?ref_type=heads


Libraries

ESP32CAN

Replace the missing include file in CAN.c line 37

#include "esp_intr.h"

with

#include "rom/gpio.h"


Show stopper OTA/mDNS

The API 3.x is not consistent and cannot compile itself:

In file included from ~/Library/Arduino15/packages/esp32/hardware/esp32/3.2.0/libraries/ArduinoOTA/src/ArduinoOTA.cpp:21:
~/Library/Arduino15/packages/esp32/hardware/esp32/3.2.0/libraries/ESPmDNS/src/ESPmDNS.h:125:3: error: 'mdns_result_t' does not name a type
  125 |   mdns_result_t *results;
      |   ^~~~~~~~~~~~~
~/Library/Arduino15/packages/esp32/hardware/esp32/3.2.0/libraries/ESPmDNS/src/ESPmDNS.h:126:3: error: 'mdns_result_t' does not name a type
  126 |   mdns_result_t *_getResult(int idx);
      |   ^~~~~~~~~~~~~
~/Library/Arduino15/packages/esp32/hardware/esp32/3.2.0/libraries/ESPmDNS/src/ESPmDNS.h:127:3: error: 'mdns_txt_item_t' does not name a type
  127 |   mdns_txt_item_t *_getResultTxt(int idx, int txtIdx);
      |   ^~~~~~~~~~~~~~~
exit status 1

This blocks the WIO ESP32 migration from 2.x to 3.x.