Como corrigir erro ESP32: 'GPIO' was not declared in this scope

Problema

Você está usando IO rápido no ESP32 assim:

gpio_struct_include.cpp
GPIO.out_w1ts = ((uint32_t)1 << pin);

mas quando você tenta compilar, vê uma mensagem de erro como

gpio_not_declared_error.txt
.pio/libdeps/esp32dev/Dali/src/DaliBus.h:84:9: error: 'GPIO' was not declared in this scope
   84 |         GPIO.out_w1ts = ((uint32_t)1 << pin);
      |         ^~~~

Solução

Este problema ocorre com versões mais recentes do Arduino-ESP32 ou ESP-IDF. Corrigir é simples: Apenas inclua

gpio_struct_include_fix.cpp
#include <soc/gpio_struct.h>

Check out similar posts by category: ESP32