Commit graph

250 commits

Author SHA1 Message Date
Ivan Grokhotkov
4f57767251
fix: correct calloc call arguments order (#683)
GCC 14 adds "calloc-transposed-args" warning which is an error at the
default IDF build settings.
2024-09-17 12:40:38 +03:00
me-no-dev
1a05a48e04 Update upload_component.yml 2024-09-16 09:29:55 +03:00
Me No Dev
c8a96e3570
Fix deprecation in IDF 5.4+ and update IDF build versions (#681)
IDF v5.3 added and EOL IDF v4.4 removed
2024-09-13 14:19:55 +03:00
robin
8e1ec63c99
Implement new idf-v5 I2C driver (#677)
* 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
2024-09-13 14:10:59 +03:00
Ichiro Maruta
7aa37d4f22
Add option to customize JPEG mode frame size in menuconfig (#667) 2024-07-16 15:47:46 +03:00
me-no-dev
2829692928 Revert Uninstalls ISR service on cam deinit #516
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
2024-06-17 11:18:36 +03:00
me-no-dev
30aeeeed61 fix(s2): Remove rx_pcm_bypass from registers
The register is removed in ESP-IDF
2024-05-30 21:32:49 +03:00
Me No Dev
bae46be5eb
Update example to place frame buffer in PSRAM (#648)
ESP32 failed to start the example
2024-03-21 14:06:18 +02:00
Me No Dev
f0bb42917c
Implement proper GDMA allocator and ISR from IRAM option (#629)
* 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.
2024-01-29 13:21:30 +02:00
Me No Dev
984999f26b
Create workaround for DMA failing on ESP32-S3 when WiFi is started (#625)
* Create workaround for DMA failing on ESP32-S3 when WiFi is started

Relates to https://github.com/espressif/esp32-camera/issues/620

* Add comment explaining the workaround
2024-01-23 12:16:48 +02:00
Me No Dev
8ee9c75dff
Update build config to include IDFv5.2 and remove IDFv4.3 (EOL) (#624)
* Update build config to include IDFv5.2 and remove IDFv4.3 (EOL)

* Update build.yml
2024-01-22 11:31:09 +02:00
Me No Dev
8df17f7286
Align the frame buffers to the structure alignment (#623)
* Align the frame buffers to the structure alignment 

cc: https://github.com/esp-rs/esp-idf-sys/issues/278
cc: https://github.com/esp-rs/rust/pull/195

* Include stdalign.h
2024-01-22 11:27:48 +02:00
Larry Li
dba8da9898
Fix right column & row of the measure window (#588)
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
2023-11-10 12:35:17 +02:00
Ivan Grokhotkov
8e1a00391a
Maintenance changes in the component, examples and readme (#597)
* 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
2023-11-09 18:23:30 +02:00
yuxinwww
81cd88c6a0
fix: add gc0308 output only Y format support (#589) 2023-11-08 15:44:40 +02:00
yuxinwww
efe711df9a
fix: add SC031GS VGA framesize support (#581) 2023-10-11 18:55:58 +03:00
Vikram Dattu
772aefdb67
Fix cam_take going into infinite loop (#578)
- Check if we have remaining ticks before going for math and calling cam_take recursively
2023-10-11 18:55:12 +03:00
yuxinwww
d1c9c2cdb3
feat: add bf20a6 output Only Y format support (#557) 2023-08-08 12:01:58 +03:00
Juan Schiavoni
c0c17bd3de
Fails with ESP32 (Standard) and not run with ESP-IDF v5.2 (#542)
* 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>
2023-07-18 12:49:07 +03:00
Me No Dev
f595abfa0f
Fix SOC_GDMA_PAIRS_PER_GROUP undefined in newer ESP-IDF 2023-07-18 12:31:51 +03:00
Vikram Dattu
e689c3b082
Support: jpeg decoder on esp32c2 (#525)
* 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>
2023-04-25 14:40:46 +03:00
Wouter de Bie
36b8b4e096
Uninstalls ISR service on cam deinit (#516)
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>
2023-04-20 16:39:09 +03:00
Wouter de Bie
1cb6af89d1
Adds esp_camera_return_all() (#519) 2023-04-20 16:38:40 +03:00
Tomas Rezucha
fac950973b
Fix/pedantic build (#529)
* Fix: Make esp32-camera function prototypes strict

This is required for pedantic builds with
-Wstrict-prototypes flag

* ci: Enable pedantic example build
2023-04-19 21:06:33 +03:00
Sam Washburn
2e6a36d57d
Fix: Make sure there is a queue size of at least 1. (#527)
Co-authored-by: Sam Washburn <samw@kinoo.family>
2023-04-11 10:52:11 +03:00
Patryk Ludwikowski
6edafc7501
fix: remove unnecessary new line in logs of driver initialization (#500)
yes - because it hurt my eyes to see logs with this one, weird empty line...
2023-03-30 11:42:17 +03:00
Me No Dev
2478a5fc7a
Fix LoadStoreAlignment panic (#491) 2023-01-12 12:54:22 +02:00
XDanielPaul
402b811b83
Added badge with version to README (#487)
Co-authored-by: Daniel Paul <daniel.paul@espressif.com>
2022-12-12 19:53:42 +02:00
Bruno Randolf
8bcc835cf7
OV7670 fixes (#484)
* 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
2022-12-08 15:18:34 +02:00
Me No Dev
9e8d7cd471
Merge pull request #480 from WangYuxin-esp/fix/fix_wrong_cam_task_stack_size_define
fix: fix bad macro definition on cam stack size
2022-11-16 11:36:17 +02:00
Wang Yu Xin
ae117e9d85 fix: fix bad macro definition on cam stack size 2022-11-15 10:56:03 +08:00
Me No Dev
c3eacc813f
Merge pull request #474 from WangYuxin-esp/feature/support_sccb_handle_16bit_val
Feature/support sccb handle 16bit val
2022-11-10 20:57:31 +02:00
Wang Yu Xin
f3d04ea2c5 fix: change sccb_write return int value 2022-11-09 19:19:20 +08:00
yuxinwww
02e629a96a
Merge branch 'espressif:master' into feature/support_sccb_handle_16bit_val 2022-11-08 16:58:04 +08:00
Me No Dev
5c8349f4cf
Merge pull request #470 from WangYuxin-esp/fix/fix_dma_buffer_heap_corruption_after_cam_deinit
fix: heap corruption caused by dma_buffer in cam_deinit()
2022-10-27 12:43:46 +03:00
Wang Yu Xin
e8727c2747 fix: heap corruption caused by dma_buffer in cam_deinit() 2022-10-27 17:07:55 +08:00
Wang Yu Xin
ae60e38d57 feat: add sccb handle addr16_val16 reg type 2022-10-14 20:27:56 +08:00
Me No Dev
1c3ec575c9
Merge pull request #462 from WangYuxin-esp/fix/fix_resolution_description_for_esp32s_series
fix: fix description of resolution in docs and examples
2022-10-11 13:09:53 +03:00
Wang Yu Xin
2182f88230 fix: fix description of resolution in docs and examples 2022-10-11 14:53:28 +08:00
Me No Dev
108a330149
Merge pull request #452 from WangYuxin-esp/feature/add_sc031gs_camera_sensor_driver
feat: add SC031GS camera sensor support
2022-09-26 12:00:15 +03:00
Wang Yu Xin
9d9e7d62a3 feat: add SC031GS camera sensor support 2022-09-26 16:33:43 +08:00
Me No Dev
de025b8f40
Merge pull request #451 from adafruit/deinit-check
don't reset LEDC channel if it wasn't used by camera
2022-09-23 11:04:39 +03:00
Dan Halbert
846554ecb4 don't reset LEDC channel if it wasn't used by camera 2022-09-20 11:14:50 -04:00
Me No Dev
56119890f5
Merge pull request #413 from WangYuxin-esp/feature/better_use_of_sccb_interface
feat: change sccb APIs for sharing i2c port with other devices
2022-08-23 16:22:53 +03:00
Me No Dev
dfaf7827b5
Merge pull request #438 from Kevincoooool/fix-bug-when-config--pin_xclk-==--1
fix bug when config->pin_xclk = -1 target esp32s3
2022-08-23 15:56:48 +03:00
Me No Dev
82fec630a1
Merge pull request #430 from devellison/grayscale_fixes
Added support for 8-bit grayscale output to fmt2bmp() for frame2bmp()
2022-08-23 15:55:53 +03:00
Me No Dev
36121e1a87
Merge pull request #419 from jason-mao/bugfix/change_fb_to_aligned_buffer
Change the fb buffer as 16 bytes aligned
2022-08-23 15:52:52 +03:00
maojianxin
03b1eabb99 Fix fb buffer as 128 bit aligned for improve the data transmission performance with 128 bit SIMD instructions 2022-08-23 15:43:24 +08:00
Kevincoooool
dda800d479 fix bug when config->pin_xclk == -1 2022-08-15 14:23:45 +02:00
devellison
1d24e8df03
Merge branch 'master' into grayscale_fixes 2022-08-13 15:56:05 -04:00