Commit Graph

39 Commits

Author SHA1 Message Date
Tiago Medicci
de7ee8f58a test(ana_cmpr): Add edge-specific interrupt direction test case
Add a Unity test case that arms only ANA_CMPR_CROSS_POS (resp. only
ANA_CMPR_CROSS_NEG) on a unit and asserts that a real transition of
the matching direction fires the callback exactly once, while a
transition of the opposite (never-armed) direction does not fire at
all.

This closes a gap in the existing test_apps: none of the current
cases isolate cross direction, so a swapped POS/NEG interrupt mask in
the LL layer (fixed in the previous commit) previously went
undetected.

On the scan-based comparator IP (ESP32-H4/S31), a crossing is only
sampled/latched when a scan is explicitly triggered, so the new test
case also triggers a scan after each level change on that IP, plus
one extra priming scan right after enabling the unit so the internal
compare state starts in sync with the already-set initial GPIO level.

Signed-off-by: Tiago Medicci <tiago.medicci@espressif.com>
2026-07-15 14:46:58 -03:00
Marius Vikhammer
e2c86567ac fix: preserve Linux component header registration
Keep Linux components include-only when their runtime dependencies are unavailable.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 13:36:34 +08:00
Marius Vikhammer
bd25b59620 test: add Linux full component build app
Exercise unrestricted Linux-target builds so unsupported hardware-only components are caught by CI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 13:26:17 +08:00
morris
38c4f27102 fix(iomux): move clock source gating to IOMUX consumers
Remove io_mux_set_clock_source internal source enabling and make SDM,
ana_cmpr, and gpio glitch filter drivers explicitly manage clock source
enable/disable with safe cleanup paths.
2026-05-22 19:10:08 +08:00
morris
2b9b065c82 feat(ana_cmpr): enable ana_cmpr driver support on esp32h4 2026-05-21 10:30:43 +08:00
morris
49bb908f3e test(ana_cmpr): migrate analog comparator test sources to C++
Convert test files in the analog comparator test app from C to C++ and update initializations/types for strict C++ compilation while keeping test behavior unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-18 11:20:06 +08:00
morris
e3139d2c7d feat(ana_cmpr): add capture timer support and timestamps retrieval API 2026-05-07 19:22:12 +08:00
morris
47863cb651 feat(ana_cmpr): support multi-channel scan on esp32s31 2026-05-06 09:39:48 +08:00
morris
45d2c0c486 feat(ana_cmpr): refactor driver implemnetation for new ip
esp32h4 and esp32s31 has a new IP design WRT the ana cmpr module
2026-04-19 21:47:30 +08:00
morris
e258c7c981 feat(ana_cmpr): added low level functions for esp32h4 and esp32s31 2026-04-14 09:59:11 +08:00
morris
9cad94e697 feat(ana_cmpr): support analog comparator on esp32h21 2026-03-23 10:28:29 +08:00
morris
fe436d881e feat(ci): remove common_components dependencies from peripheral drivers
Replace *common_components with specific driver dependencies across all
peripheral driver test apps and examples to prevent unnecessary CI
triggers
when common_components change.

This follows the same pattern established in TWAI driver commit:
6d21cc6c29

Changes made:
- 26 component test apps updated
(esp_driver_*/test_apps/.build-test-rules.yml)
- 1 driver test app updated
(components/driver/test_apps/.build-test-rules.yml)
- Key examples updated in examples/peripherals/.build-test-rules.yml
- Established standard dependency pattern: esp_hal_xxx, esp_hw_support,
soc
- Added esp_driver_gpio for GPIO-dependent drivers
2026-01-29 16:33:17 +08:00
igor.udot
4c26ab876b ci: update build-test-rules to use common_components 2026-01-23 10:14:09 +08:00
laokaiyao
79d6e573e6 feat(hal): graudate the ana_cmpr hal driver into a new component 2025-12-04 10:34:57 +08:00
morris
8b3e5b297b fix(test): deley some time to ensure gptimer is stopped 2025-10-24 11:38:49 +08:00
Marek Fiala
9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
Sudeep Mohanty
26c19928a9 feat(freertos): Place FreeRTOS in flash by default
The following updates have been made in this commit:
- The commit places FreeRTOS code in flash memory by default.
- CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH has been removed.
- CONFIG_FREERTOS_IN_IRAM is unhidden and can be used to restore the
  previous memory placement.
- A test has been added for users to conduct performance impact testing
  based on memory placement configurations.
2025-08-07 19:56:30 +08:00
Sudeep Mohanty
c29f473a78 refactor(esptool_py): Remove elf variable dependencies
This commit updates all test_apps that have dependency on the elf
variable. Such test_apps now fetch the executable target from the build
properties.
2025-07-10 11:26:28 +02:00
morris
baa888e09b fix(ana_cmpr): regression in the cache safe test 2025-06-10 13:52:58 +08:00
Kevin (Lao Kaiyao)
9466411cd6 Merge branch 'ci/test_i2s_with_psram_config' into 'master'
ci: test ana_cmpr, dac, i2s, touch with CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0

Closes IDF-13027, IDF-13028, IDF-13032, and IDF-13044

See merge request espressif/esp-idf!39005
2025-05-26 14:47:29 +08:00
laokaiyao
a2cf361c5a ci: test i2s, touch, ana_cmpr with CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0 2025-05-26 13:09:45 +08:00
laokaiyao
7d086d6a8d fix(ana_cmpr): fixed FUNC_IN_IRAM option involves flash data 2025-05-26 13:09:45 +08:00
laokaiyao
16cc8f974d ci: test i2s, touch, ana_cmpr with CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0 2025-05-26 13:09:45 +08:00
morris
c63f51dcb3 refactor(drivers)!: remove unnecessary io_loop_back and pull up/down config option 2025-05-23 18:09:53 +08:00
Chen Jichang
6674470e89 fix(ana_cmpr): only call esp_pm APIs when CONFIG_PM_ENABLE is enabled 2025-05-22 17:38:58 +08:00
morris
7af3bddbca fix(drivers): some false reports from coverity 2025-05-20 16:52:32 +08:00
morris
2b5d91ad1c refactor(ana_cmpr): enhanced the driver implementation 2025-04-11 17:45:32 +08:00
igor.udot
daf2d31008 test: format all test scripts 2025-03-05 12:08:48 +08:00
laokaiyao
c13ac70aa7 ci: check register half word 2025-01-20 16:37:18 +08:00
Song Ruo Jing
52c0278361 feat(gpio): add gpio_config_as_analog API 2025-01-08 21:58:12 +08:00
laokaiyao
f731a53694 refactor(ana_cmpr): use enum types in ll 2024-12-12 10:46:54 +08:00
laokaiyao
b48b43880a feat(ana_cmpr): support analog comparator on C5 2024-12-12 10:27:05 +08:00
laokaiyao
0cae6d526c feat(ana_cmpr): support analog comparator on C61 2024-12-09 10:33:21 +08:00
laokaiyao
3a6b665b90 ci(ana_cmpr): enable the ana_cmpr target tests on P4 2024-07-19 16:53:25 +08:00
morris
863344f769 feat(etm): support etm driver on esp32c5 2024-07-12 10:53:12 +08:00
Frantisek Hrbata
fbe8bf89ee fix: properly resolve component dependencies
There is currently a bug in the __build_resolve_and_add_req function in
tools/cmake/build.cmake where the check for registered component
requirements is incorrectly applied to the component itself rather than
its dependencies. This issue likely originated from a typo, using
component_target instead of _component_target. To prevent further
confusion, _component_target has been renamed to _req_target.

Fixing this revealed multiple incorrect dependencies for the Linux
target, which have now been resolved by explicitly specifying the
dependencies for the Linux target.

Closes https://github.com/espressif/esp-idf/issues/13447

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-30 22:01:55 +08:00
morris
c0289ee6eb fix(drivers): fix typos found by codespell
codespell components/esp_driver*
2024-03-28 10:01:27 +08:00
Konstantin Kondrashov
3f89072af1 feat(all): Use PRIx macro in all logs 2024-03-12 11:15:53 +02:00
laokaiyao
bc0201d6f0 refactor(ana_cmpr): make analog comparator driver as component 2023-11-17 10:05:22 +08:00