diff --git a/target/esp32/ll_cam.c b/target/esp32/ll_cam.c index 752b16b..8ea1455 100644 --- a/target/esp32/ll_cam.c +++ b/target/esp32/ll_cam.c @@ -15,7 +15,21 @@ #include #include #include "soc/i2s_struct.h" +#if ESP_IDF_VERSION_MAJOR >= 4 #include "hal/gpio_ll.h" +#else +#include "rom/ets_sys.h" +#include "soc/gpio_periph.h" +#define esp_rom_delay_us ets_delay_us +static inline int gpio_ll_get_level(gpio_dev_t *hw, int gpio_num) +{ + if (gpio_num < 32) { + return (hw->in >> gpio_num) & 0x1; + } else { + return (hw->in1.data >> (gpio_num - 32)) & 0x1; + } +} +#endif #include "ll_cam.h" #include "xclk.h" #include "cam_hal.h" diff --git a/target/private_include/ll_cam.h b/target/private_include/ll_cam.h index 142e211..8140f16 100644 --- a/target/private_include/ll_cam.h +++ b/target/private_include/ll_cam.h @@ -17,7 +17,11 @@ #include #include "sdkconfig.h" #if CONFIG_IDF_TARGET_ESP32 +#if ESP_IDF_VERSION_MAJOR >= 4 #include "esp32/rom/lldesc.h" +#else +#include "rom/lldesc.h" +#endif #elif CONFIG_IDF_TARGET_ESP32S2 #include "esp32s2/rom/lldesc.h" #elif CONFIG_IDF_TARGET_ESP32S3