Commit Graph

131 Commits

Author SHA1 Message Date
Armando
8d54030890 fix(adc): fix adc continuous hal func not in iram when gdma isr iram 2023-07-17 10:15:48 +08:00
Armando (Dou Yiwen)
9b17cce08c Merge branch 'refactor/s_adc_tsen_enabled_logic' into 'master'
refactor(adc): maintain s_adc_tsen_enabled in adc driver

See merge request espressif/esp-idf!24627
2023-07-11 18:15:49 +08:00
Armando
984f77fc3e feat(adc): use const pointer in io_to_channel APIs 2023-07-10 14:36:51 +08:00
Armando (Dou Yiwen)
adb93a3770 Merge branch 'feature/add_esp32p4_soc_support_part_3' into 'master'
soc: added soc headers for esp32p4 (part 3)

See merge request espressif/esp-idf!24481
2023-07-07 11:44:46 +08:00
Armando
8bcef5abb0 refactor(adc): maintain s_adc_tsen_enabled in adc driver 2023-07-06 17:28:49 +08:00
laokaiyao
edc1abc8ea refactor(adc_calib): Simplify 2nd step coefficient calculation
- remove unnecessary variables and calculations
- improve readability of code
2023-07-06 14:22:03 +08:00
Armando
d9e25c305a feat(adc): use soc_caps to decide which files to be included 2023-07-05 11:45:48 +08:00
morris
f0c07f82b5 fix(test): check call graph for hal component 2023-07-05 09:09:01 +08:00
laokaiyao
f949819976 adc_calib: support calibration v2 on esp32c6 2023-06-26 10:40:36 +08:00
Konstantin Kondrashov
c350c3c504 Merge branch 'feature/cleanup_wrong_log_use' into 'master'
all: Removes unnecessary newline character in logs

Closes IDFGH-10197

See merge request espressif/esp-idf!24131
2023-06-15 21:49:49 +08:00
Armando (Dou Yiwen)
17d6768e65 Merge branch 'feature/add_target_esp32p4' into 'master'
esp32p4: introduce the target

See merge request espressif/esp-idf!24155
2023-06-14 10:16:44 +08:00
Armando
101e6a18eb esp32p4: introduce the target
Add esp32p4 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32p4`
2023-06-13 15:16:11 +08:00
Chen Jichang
6abdc9b76e esp_adc:Trim the build components
If we don't trim the build components, the build system will import all
components which will increase the load of Gitlab server.

Closes IDF-7459
2023-06-09 16:46:40 +08:00
KonstantinKondrashov
e72061695e all: Removes unnecessary newline character in logs
Closes https://github.com/espressif/esp-idf/issues/11465
2023-06-09 03:31:21 +08:00
Armando (Dou Yiwen)
cd7ef82ab2 Merge branch 'feature/use_circular_dma_desc_link_in_adc_continuous_mode' into 'master'
adc: pr 11500, use circular dma descriptors in adc continuous mode

Closes IDFGH-10235

See merge request espressif/esp-idf!24048
2023-06-08 11:51:08 +08:00
morris
d1934d8c45 adc: fixed the issue that multiply overflow before type expand 2023-06-06 14:16:09 +08:00
Armando
97c30c7da6 adc: port gh pr to current adc continuous mode driver
DMA EOF may happens per multiple dma descriptors, instead of only one.

Closes https://github.com/espressif/esp-idf/pull/11500
2023-06-05 14:25:53 +08:00
Niklas Gürtler
2a8b9fb636 Fix #10804 by running continuous ADC DMA in endless loop instead of restarting after each run (descriptor chain) to avoid losing samples. Use descriptor error callback for GDMA to check for DMA buffer overrun.
Signed-off-by: Armando <douyiwen@espressif.com>
2023-06-05 12:24:14 +08:00
Armando
56c66953da adc: added flush pool test 2023-05-31 10:55:02 +08:00
Armando
c68e4bbb6f adc: added a flag to replace internal pool data with newest data, when pool is full 2023-05-31 10:55:01 +08:00
wanlei
e6e641475b adc: add digi monitor test case 2023-05-24 17:46:52 +08:00
wanlei
87848110c1 adc: new feature adc digital monitor supported 2023-05-24 17:46:52 +08:00
laokaiyao
3e26e7630e adc_oneshot: move power acquire back to adc_oneshot_new_unit
Revert and fix of d197c59eaa in !23575
2023-05-23 22:44:32 +08:00
laokaiyao
ffb40a89d9 adc_cali: supported channel compensation of adc calibration on esp32c6 2023-05-23 22:44:25 +08:00
laokaiyao
caa044c289 adc_cali: supported adc calibration on esp32c6 2023-05-23 20:34:29 +08:00
Armando (Dou Yiwen)
a938fe0beb Merge branch 'bugfix/fix_adc_continuous_driver_conv_frame_issue' into 'master'
adc: fixed adc continuous driver conv frame issue

Closes IDFGH-10109

See merge request espressif/esp-idf!23772
2023-05-22 14:44:28 +08:00
Armando
bd6cd85b8e adc: added big conv_frame test 2023-05-22 10:55:28 +08:00
Armando
73791ff4e0 adc: fix adc continuous driver conv_frame_size not bigger than 4092 issue
Closes https://github.com/espressif/esp-idf/issues/11385
2023-05-22 10:55:28 +08:00
wuzhenghui
d197c59eaa bugfix: move adc_oneshot_power_acquire/release to adc_oneshot_read
Closes https://github.com/espressif/esp-idf/issues/10595
Closes https://github.com/espressif/esp-idf/issues/11386
2023-05-18 10:29:50 +08:00
Armando
d7cbd04d43 adc: added adc filter exhausted allocation test 2023-05-06 10:31:19 +08:00
Armando
108ce25750 adc: fix adc filter acquire logic 2023-05-06 10:31:19 +08:00
Song Ruo Jing
e2a5c092f7 Merge branch 'refactor/rename_to_esp_clk_tree_prefix' into 'master'
esp_clk_tree: Rename clk_tree_xxx to esp_clk_tree_xxx

See merge request espressif/esp-idf!23362
2023-04-25 19:41:39 +08:00
Song Ruo Jing
a4e8960ab4 esp_clk_tree: Rename clk_tree_xxx to esp_clk_tree_xxx, add compilation warning to clk_tree.h 2023-04-25 14:12:06 +08:00
laokaiyao
b16ed57b2e esp32h4: removed esp32h4 related files 2023-04-23 12:03:07 +00:00
Marius Vikhammer
f627506f6b ci: update driver tests to use run_all_single_board_cases() 2023-03-28 17:05:50 +08:00
morris
2d52334e5d gptimer: fix race condition between start and stop
Added state transition in gptimer_start/stop functions.
So that it's not possible to make a stopped timer continue to run
because of race condition.
2023-03-10 23:27:29 +08:00
Armando
53f1c35826 esp_adc: fix continuous mode pm lock release fail issue and add tests
Closes https://github.com/espressif/esp-idf/issues/10853
2023-02-28 16:33:50 +08:00
Armando
486c765a93 adc: remove adc_hal_conf.h
Macros inside adc_hal_conf.h are moved to adc_ll.h
2023-02-23 11:48:31 +08:00
Armando
5653018cd1 esp_adc: support selecting clock source for oneshot driver 2023-02-23 11:48:31 +08:00
Armando
d0e4d36fb6 esp_adc: support h2 oneshot mode and continuous mode 2023-02-23 11:48:31 +08:00
Omar Chebib
5e5343d429 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-02-17 11:22:25 +08:00
Armando
7e6bf9f987 esp_adc: added adc filter doc, and filter migration guides 2023-02-10 16:46:20 +00:00
Armando
3afa671069 esp_adc: added adc digital filter feature 2023-02-10 16:46:20 +00:00
Armando
c71c0996e3 esp_adc: added an all-in-one API to get calibrated voltage 2023-01-18 16:38:18 +08:00
Armando
5be3c21cfc adc: improve power logic 2023-01-09 17:10:04 +08:00
Cao Sen Miao
4713a9a7f2 ESP32H2: Introduce new chip target esp32h2, hello_world example supported 2022-12-29 12:29:14 +08:00
laokaiyao
5333ac81bf adc: support ADC on esp32c6 (driver/test/example) 2022-12-23 11:24:06 +08:00
Chen Yudong
b5eebc490f CI: add generic to xtal_40mhz jobs 2022-12-21 11:53:38 +08:00
Armando
ded528e188 adc: no longer support adc2 oneshot mode on esp32c3
Due to HW limitation, we don't support this anymore. On c3, ADC2 under oneshot mode is not stable.

However, you can enable CONFIG_ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 to force use
ADC2.

Refer to errata to know more details:
https://www.espressif.com/sites/default/files/documentation/esp32-s3_errata_en.pdf
https://www.espressif.com/sites/default/files/documentation/esp32-c3_errata_en.pdf
2022-12-16 02:06:03 +00:00
Armando
b4c90c44d2 adc: no longer support adc2 continuous mode on esp32c3 and esp32s3
Due to HW limitation, we don't support this anymore. On s3 and c3, ADC2 under continuous  mode is not stable.

However, you can enable CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 to force use
ADC2.

Refer to errata to know more details:
https://www.espressif.com/sites/default/files/documentation/esp32-s3_errata_en.pdf
https://www.espressif.com/sites/default/files/documentation/esp32-c3_errata_en.pdf
2022-12-16 02:06:03 +00:00
Cao Sen Miao
86aa4df5b5 ESP32-H2: Introduce new target for ESP32H2 2022-11-23 14:38:05 +08:00
laokaiyao
8677216576 esp32h2: renaming esp32h2 to esp32h4 2022-11-08 17:05:33 +08:00
Song Ruo Jing
2557e24a28 ci: Enable esp32c6 example, test_apps, and unit tests CI build stage 2022-11-01 11:23:21 +08:00
Armando
d592d983ce esp_adc: added esp32c2 adc runners 2022-10-17 16:23:22 +08:00
Armando
9cb1006b2b esp_adc: make c2 atten0 calibration experimental 2022-10-13 21:03:51 +08:00
Armando
f905f6ab7c esp_adc: add esp32c2 adc high/low test threshold and expected val 2022-10-13 21:03:51 +08:00
Armando
508935c457 esp_adc: refacotr tests for all supported attenuations 2022-10-13 21:03:51 +08:00
Armando
f29eda26e6 esp_adc: replace hardcoded calibration version to a macro
On esp32c3 and esp32s3, we support calibration version 1. This commit
replace it with ESP_EFUSE_ADC_CALIB_VER to avoid hardcode.
2022-10-13 21:03:51 +08:00
Armando
ccfbba5994 esp_adc: support adc calibration on esp32c2 2022-10-13 21:03:51 +08:00
Armando
ef3d2008fc esp_adc: remove blank file
`adc_lock.c` and `adc_lock.h` are removed.
Content in these two files are moved to `adc_share_hw_ctrl.c` and
`adc_share_hw_ctrl.h`, in commit 4f80c0f2.

`adc_lock.c` and `adc_lock.h` are left due to auto-solving conflicts.
This commit removes these two blank files.
2022-10-10 11:46:05 +08:00
Armando
5fd4dbad12 esp_adc: improve adc continuous iram test aim
This commit increases adc continuous iram test period of cache disabling
time. Now time is: 1 second

- The aim of this test is to make sure the continuous mode driver ISR
callbacks can run in an IRAM-Safe context.
- Closing cache takes time. WHereas the code to close the cache is
updated. This time gets changed.
2022-10-09 02:35:22 +00:00
wuzhenghui
fca7d70e05 esp32c6: add minimal ci support
- enable build_template_app
- enable check public headers
- enable g0 components dependency check
2022-09-26 20:32:13 +08:00
wuzhenghui
5115e31175 driver: Minor update for esp32c6
Leave TODO for esp_adc and legacy adc driver
HAL/SOC update for spi and i2s
2022-09-26 20:32:13 +08:00
Armando
7be7a3e996 esp_adc: added comments to c3 test thresh, also sync to legacy tests 2022-09-16 03:21:29 +00:00
Armando
eee5085281 ci: use adc dedicated test runners for adc tests 2022-09-16 03:21:29 +00:00
Armando (Dou Yiwen)
49dc1a32c5 Merge branch 'bugfix/remove_esp_adc_wno_flag' into 'master'
esp_adc: remove wno flag

Closes IDF-5765

See merge request espressif/esp-idf!19791
2022-08-26 22:32:24 +08:00
Armando
50a8d8412e esp_adc: remove wno flag 2022-08-26 15:08:18 +08:00
morris
995b89fbb6 gptimer: add API to get captured count value 2022-08-25 17:55:19 +08:00
Armando
a8c0f1feb6 esp_adc: migrate adc wifi test to test app 2022-08-23 21:23:21 +08:00
Armando
236ba48efc esp_adc: add a kconfig to disable dac on certain adc IOs
Added a kconfig option. By default, when using ADC oneshot
driver, it will disable
DAC channels:
- ESP32:   IO25, IO26
- ESP32S2: IO17, IO18
if ADC2 is in use.

You can disable this option, to measure DAC output, via internal ADC.
This is for test usage.
2022-08-22 18:04:55 +08:00
Armando
5e31d4bb2b esp_adc: add adc ulp mode disable enum
Prior to this commit, adc ulp is disabled by setting
adc_oneshot_unit_init_cfg_t::ulp_mode to false.

After this commit, a new enum `ADC_ULP_MODE_DISABLE` is added. So
setting `ulp_mode` to `ADC_ULP_MODE_DISABLE`, instead of `false`, to
disable the ulp mode.
2022-08-22 11:00:28 +08:00
songruojing
304a8f142d esp32c6: introduce the target
Add esp32c6 target to tools and Kconfig
Create directories and files that are essential for `idf.py --preview set-target esp32c6`
2022-08-19 11:13:02 +08:00
Ivan Grokhotkov
401c10ecfb build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
morris
cf4cfc69ed esp_adc: add test with -O0 2022-08-02 23:07:06 +08:00
Armando
5e6a16380a esp_adc: move adc common hw related code into esp_hw_support 2022-07-28 03:49:48 +00:00
Armando
0e6c8aef19 esp_adc: increase adc continuous iram test time overhead a bit
Prior to this commit, overhead is 0us on esp32s2, s3, c3, c2. However
when the conv_done event happens, software takes some time to do
necessary operations.
2022-07-26 18:19:14 +08:00
Darian
c8ee369a7c Merge branch 'feature/deprecate-old-cpu-api' into 'master'
HAL: Deprecate old CPU/SoC/Interrupt Controller HAL API

Closes IDF-4919 and IDF-5032

See merge request espressif/esp-idf!18987
2022-07-23 00:37:33 +08:00
morris
5dbae0c2cd esp_adc: fix dead code reported by coverity 2022-07-22 00:12:36 +00:00
Guillaume Souchere
0bac33ed41 esp_system: Remove deprecate section from esp_cpu.h
- Remove esp_cpu_in_ocd_mode() from esp_cpu.h. Users should call esp_cpu_dbgr_is_attached() instead.
- Remove esp_cpu_get_ccount() from esp_cpu.h. Users should call esp_cpu_get_cycle_count() instead.
- Remove esp_cpu_set_ccount() from esp_cpu.h. Users should call esp_cpu_set_cycle_count() instead.
- Other IDF components updated to call esp_cpu_dbgr_is_attached(), esp_cpu_get_cycle_count() and esp_cpu_set_cycle_count() as well.
2022-07-22 00:06:06 +08:00
Darian Leung
781d06af73 esp_hw_support: Remove compare_set.h API
This function removes the following legacy atomic CAS functions:

From compare_set.h (file removed):
- compare_and_set_native()
- compare_and_set_extram()

From portmacro.h
- uxPortCompareSet()
- uxPortCompareSetExtram()

Users should call esp_cpu_compare_and_set() instead as this function hides the details
of atomic CAS on internal and external RAM addresses.

Due to the removal of compare_set.h, some missing header includes are also fixed in this commit.
2022-07-22 00:06:06 +08:00
Armando
5b523a3313 esp_adc: new esp_adc component and adc drivers 2022-07-15 18:31:00 +08:00