Change is necessary in order to not stop other GPIO ISR uses that users might have in their code.
This would cause an error to be emitted when driver is re-initialized, but it's dismissed in code, so the error will not cause any other change in behavior.
cc @AxelLin @wouterdebie
* Implement proper GDMA allocator
* Add Kconfig option to execute ISR from IRAM on S2 and S3
Up until now, default was to execute from IRAM. This changes that for S2 and S3. ESP32 is left unchanged, because of the work that is required on it.
* Fails with ESP32 (standard) and ESP-IDF v5.2
With IDF 5.2 master it works with esp32-s3 but fails with esp32 standard, and has two problems:
First is that when compiling it does not find the function: ets_delay_us'.
implicit declaration of function 'ets_delay_us';
Second that it fails to initialize xlock.
camera_xclk: ledc_timer_config failed, rc=103
The solution is to add #define ets_delay_us esp_rom_delay_us when the idf version is greater than 5 and initialize the variable timer_conf.deconfigure = false;
* Build fails with ESP32 (Standard) and does not run with ESP-IDF v5.2
With IDF 5.2 master it works with esp32-s3 but fails with esp32 standard, and has two problems:
First is that when compiling it does not find the function: ets_delay_us'.
implicit declaration of function 'ets_delay_us';
Second that it fails to initialize xlock.
camera_xclk: ledc_timer_config failed, rc=103
The solution is to add #define ets_delay_us esp_rom_delay_us when the idf version is greater than 5 and initialize the variable timer_conf.deconfigure = false;
* Fails with ESP32 (Standard) and not run with ESP-IDF v5.2
With IDF 5.2 master it works with esp32-s3 but fails with esp32 standard, and has two problems:
First is that when compiling it does not find the function: ets_delay_us'. implicit declaration of function 'ets_delay_us';
Second that it fails to initialize xlock.
camera_xclk: ledc_timer_config failed, rc=103
The solution is to add #define ets_delay_us esp_rom_delay_us when the idf version is greater than 5 and initialize the variable timer_conf.deconfigure = false;
---------
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
* Extend s/w jpeg decoder functions for chips missing rom tjpgd
Also, disabled camera_init and capture from example for chips not
supporting camera
Signed-off-by: Vikram <vikram.dattu@espressif.com>
* Extend CI build support for C3 and C2
Signed-off-by: Vikram <vikram.dattu@espressif.com>
---------
Signed-off-by: Vikram <vikram.dattu@espressif.com>
Since `gpio_install_isr_service()` is called when initializing the
camera, but on de-initiazlization the ISR service is not uninstalled.
This causes an error `gpio_install_isr_service(410): GPIO isr service
already installed` when the camera is re-initialized.
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
* Fix: Make esp32-camera function prototypes strict
This is required for pedantic builds with
-Wstrict-prototypes flag
* ci: Enable pedantic example build
1. Fixed new errors introduced due to removal of -Wno-error=format flag
2. Added CI on `release-v5.0` tag
Signed-off-by: Vikram <vikram.dattu@espressif.com>
* Migrating rom GPIO include for idf v5
* Add missing includes and build for all targets
Fixes: https://github.com/espressif/esp32-camera/issues/364
Co-authored-by: Francois Dickey <francois.dickey@solace.com>
- Add sensor GC2145 GC0308 GC032A
- Make xclk driver more standard
- Update README.md
- Add an option to adjust the DMA buffer size
Co-authored-by: zhouli <zhouli@espressif.com>