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.