* moved sccb to new i2c driver
* implemented val16 functions
* address to dev_handle translation
* moved new i2c driver to a seperate file
* removed old idf version warning
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.
* maint(build): remove legacy GNU Make build system support
* maint(example): move the example so that component manager finds it
* maint(example): specify component dependency
* maint(build): clean up legacy 'register_component' usage
* maint(build): specify more fields in component manifest
* doc(readme): simplify installation instructions
See https://github.com/espressif/esp32-camera/issues/596
* maint(ci): remove tests for EOL versions (v4.1, v4.2)
* fix(build): add missing transitive dependency on driver component
* 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
* ov7670: fix ov7670_frame_control()
Last value of array (VREF) was overwritten by end marker
* OV7670: Adapt QQVGA VSTART value to remove bar on top
Remove empty bar at the top of the frame. This is more visible on
OV7675, but also present on OV7670