Platformio Vs Arduino IDE ESP32 compilation behavior

I have an ESP32 program that compiles OK under the Arduino IDE, but fails to find the definition of SPI3_HOST when using Platformio. This is a regular old style ESP32, not one of the newer variants with missing peripherals.

In file included from src\ETHClass.cpp:21:0:
src\ETHClass.h:80:48: error: 'SPI3_HOST' was not declared in this scope
                    spi_host_device_t host_id = SPI3_HOST,

(This particular ETHClass.cpp file was supplied by TTGO for use with their ESP32/ethernet board.)

Presumably this problem is because the two environments use different search paths to find the file where this is defined.

I found it defined in
C:\Users<username>.platformio\packages\framework-espidf\components\hal\include\hal\spi_types.h

#define HSPI_HOST   SPI3_HOST

However there are at least 10 files with the same spi_types.h name on my machine in various directories.

Does anyone know how the searches differ, or how I go about getting platformio to have the same search and compilation behavior as the Arduino IDE.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.