Commit Graph

2316 Commits

Author SHA1 Message Date
Nebojsa Cvetkovic
075bbb526c twai: twai_driver_install() returns error on interrupt allocation failure
This commit updates twai_driver_install() so that an error is returned when
esp_intr_alloc() fails, instead of aborting.

Closes https://github.com/espressif/esp-idf/pull/11494

[darian@espressif.com: Refactored object allocation and free procedures]
[darian@espressif.com: Updated commit message]
Signed-off-by: Darian Leung <darian@espressif.com>
2023-08-15 03:26:10 +00:00
morris
b7aea79cb8 fix(gptimer): hal function placement under wrong condition
timer_hal_capture_and_get_counter_value
should be placed in the IRAM for speed optimization
because the default ISR handler is placed in the IRAM.

Closes https://github.com/espressif/esp-idf/issues/12021
2023-08-14 02:31:16 +00:00
morris
c113507ad7 feat(gptimer): add gptimer linker.lf to control the placement of driver and hal
since the linker placement of the hal functions are controlled by the Kconfig in the driver component,
we should create the linker.lf in the driver component, not in the hal component.
2023-08-14 02:31:16 +00:00
morris
b68519cb17 feat(gptimer): support set interrupt priority
Related forum post: https://esp32.com/viewtopic.php?f=13&t=34959
2023-08-04 10:20:07 +08:00
Lou Tianhao
830a627362 remove(pm/deep_sleep): enable CI test for esp32h2 deepsleep 2023-08-03 16:46:55 +08:00
Song Ruo Jing
6768f098dc change(driver/rtcio): Describe RTCIO CAPS with more accurate note 2023-08-03 16:46:55 +08:00
Song Ruo Jing
125014d242 fix(gpio): fix potential crash when processing gpio isr
If CONFIG_SPIRAM_USE_MALLOC is enabled, and cache is disabled when GPIO ISR is triggered,
it would lead to Guru Meditation Error due to "Cache disabled but cached memory region accessed".

Closes https://github.com/espressif/esp-idf/issues/11876
2023-07-26 12:42:11 +00:00
morris
c8ec729252 feat(mcpwm): support open drain output for generator IO
Closes https://github.com/espressif/esp-idf/issues/11877
2023-07-21 05:08:20 +00:00
Anne Brondijk
c818ddd282 feat(mcpwm): Allow for pull up/down to be configurable on generators 2023-07-21 05:08:20 +00:00
morris
9021fab579 Merge branch 'feature/use_esp_rom_delay_us_to_test_the_accuracy_of_gptimer_v5.1' into 'release/v5.1'
refactor(driver/gptimer): replace vTaskDelay with esp_rom_delay_us in test_apps(v5.1)

See merge request espressif/esp-idf!24724
2023-07-13 17:38:40 +08:00
Chen Jichang
649541e6e3 refactor(driver/gptimer): replace vTaskDelay
with esp_rom_delay_us in test_apps

This commit replaces vTaskDelay with esp_rom_delay_us in the gptimer
driver. The former function can introduce millisecond jitter due to
OS task switching, while the latter has less jitter because of the
polling delay. Therefore this commit reduces the delta values for
various timer tests.

Changes made in this commit include:
- Replacing vTaskDelay with esp_rom_delay_us
- Adjusting delta values for various timer tests
2023-07-13 11:29:39 +08:00
Armando
d8ee45ce08 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-07-12 16:41:24 +08:00
Niklas Gürtler
5da5e1801b 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-07-12 16:41:19 +08:00
Armando
f76f3dc83f adc: fix adc continuous driver conv_frame_size not bigger than 4092 issue
Closes https://github.com/espressif/esp-idf/issues/11385
2023-07-12 16:41:11 +08:00
Jiang Jiang Jian
9fb1b59054 Merge branch 'bringup/esp32h2_light_sleep_for_rebase_backport_v5.1' into 'release/v5.1'
esp32h2: support light_sleep(backport v5.1)

See merge request espressif/esp-idf!24697
2023-07-12 13:39:49 +08:00
morris
a0e8f5aa03 Merge branch 'contrib/github_pr_10811_5.1' into 'release/v5.1'
i2c: introduce chip specific cmd register number(backport v5.1)

See merge request espressif/esp-idf!24694
2023-07-12 11:15:03 +08:00
IhorNehrutsa
1d158ddd10 fix(ledc): fix frequency calculation
ledc.c: Fix frequency calculation.
Round int instead of truncate.

Merges https://github.com/espressif/esp-idf/pull/11810
2023-07-11 15:22:34 +08:00
Hanno
c2b8a1d95c i2c: introduce chip specific cmd register number
Merges https://github.com/espressif/esp-idf/pull/10811
2023-07-11 14:55:46 +08:00
Lou Tianhao
2c9a2a76f7 example: bringup light sleep example for esp32h2 2023-07-11 13:58:08 +08:00
Cao Sen Miao
e493a99da2 temperature_sensor: Apply new-shared interface in temperature sensor driver 2023-07-10 11:16:09 +08:00
laokaiyao
e90a2d50c4 adc_cali: supported channel compensation of adc calibration on esp32c6 2023-07-05 12:48:11 +08:00
morris
0e4c071519 Merge branch 'bugfix/fix_i2s_ll_cpp_compilation_failure_v5.1' into 'release/v5.1'
i2s: fixed i2s_ll compiling failure under C++ environment (v5.1)

See merge request espressif/esp-idf!24401
2023-07-04 11:03:35 +08:00
morris
4f0f317d54 Merge branch 'bugfix/mcpwm_legacy_typo_v5.1' into 'release/v5.1'
mcpwm: fix typo in backward compatible macro name (v5.1)

See merge request espressif/esp-idf!24227
2023-07-03 16:11:20 +08:00
morris
cacb45d450 Merge branch 'bugfix/coverity_scan_fix_driver_v5.1' into 'release/v5.1'
ADC: Fixed potential multiply overflow in the calibration code (v5.1)

See merge request espressif/esp-idf!24091
2023-07-03 13:40:22 +08:00
laokaiyao
13e74d5573 i2s: fixed i2s_ll compiling failure under C++ evironment
Closes: https://github.com/espressif/esp-idf/issues/11625
2023-06-26 15:42:36 +08:00
morris
896b382015 mcpwm: fix typo in backward compatible macro name 2023-06-15 10:58:15 +08:00
morris
3d7f7c32e3 adc: fix out of bound read
when SOC_ADC_PERIPH_NUM==1, the adc_unit should only be assigned with 0
2023-06-12 15:19:17 +08:00
morris
b845c66748 spi_master: fix the assertion on a NULL desired_dev
Closes https://github.com/espressif/esp-idf/issues/11536
2023-06-01 02:50:45 +00:00
Jiang Jiang Jian
9310ed608e Merge branch 'contrib/github_pr_10532_v5.1' into 'release/v5.1'
[SDMMC Mount] fix infinite loop when SD card is not responsive (GitHub PR) (v5.1)

See merge request espressif/esp-idf!23527
2023-05-20 07:35:38 +08:00
Adam Múdry
6477500cf1 sdmmc: incrementally increase delay of vTaskDelay
Prevents unnecessary slowdown in polling functions
2023-05-19 14:01:43 +02:00
Sudeep Mohanty
267c5e37a2 lp-i2c: Added support for LP I2C peripheral to LP core
This commit adds support for the LP I2C peripheral driver to be used by
the LP core. An example is also added to demonstrate the usage of the LP
I2C peripheral from the LP core.
2023-05-19 07:33:01 +02:00
morris
f79088f115 Merge branch 'bugfix/add_len_check_per_spi_master_transaction_v5.1' into 'release/v5.1'
spi master: added transaction length check to refuse longer than hardware supported length (v5.1)

See merge request espressif/esp-idf!23747
2023-05-18 16:47:18 +08:00
morris
0814386710 Merge branch 'refactor/driver_ut_to_test_app_v5.1' into 'release/v5.1'
CI: Move all UT in driver to test_app(backport v5.1)

See merge request espressif/esp-idf!23708
2023-05-18 16:18:26 +08:00
Armando
8702e49057 spi: added an API to get max transaction length and use in spi lcd driver 2023-05-17 09:03:26 +00:00
Armando
4943844764 spi: added transaction length check to refuse longer than hardware supported length 2023-05-17 09:03:26 +00:00
Cao Sen Miao
df7a27e36d CI: Move all UT in driver to test_app 2023-05-16 16:42:28 +08:00
morris
b7199e88b7 Merge branch 'bugfix/mcpwm_bldc_example_v5.1' into 'release/v5.1'
mcpwm: test generator force level with dead time module (v5.1)

See merge request espressif/esp-idf!23714
2023-05-15 10:00:00 +08:00
Marius Vikhammer
e35897db33 Merge branch 'feature/heap-in-flash_v5.1' into 'release/v5.1'
heap: Add a configuration that places all the heap component in flash (v5.1)

See merge request espressif/esp-idf!23377
2023-05-12 15:57:31 +08:00
morris
a7021c3e44 mcpwm: fix bldc example force output level inverted
set_force_level can only set the generator level before the deadtime module.
if the deadtime module enables the inverter, then the real output level is inverted accordingly
2023-05-12 14:40:10 +08:00
morris
190e9e7212 Merge branch 'bugfix/fix_several_bugs_in_i2s_v5.1' into 'release/v5.1'
i2s: fix several bugs in std and tdm mode (v5.1)

See merge request espressif/esp-idf!23669
2023-05-12 11:05:34 +08:00
morris
cf5e2c3962 Merge branch 'doc/update_mcpwm_deadtime_v5.1' into 'release/v5.1'
MCPWM: don't allow to apply the same delay module to multiple generators (v5.1)

See merge request espressif/esp-idf!23663
2023-05-11 16:13:23 +08:00
laokaiyao
653ba59b23 i2s_tdm: fixed half sample bit calculation and added check for slot mask 2023-05-10 12:34:14 +08:00
laokaiyao
319e0689a5 i2s_std: fixed mclk check for 24-bit data and enable left alignment as default 2023-05-10 12:32:38 +08:00
morris
6b86fc7ad7 Merge branch 'test/enlarge_gptimer_test_threshold_v5.1' into 'release/v5.1'
gptimer: enlarge test threshold (v5.1)

See merge request espressif/esp-idf!23622
2023-05-10 10:39:45 +08:00
morris
7b93cf91aa mcpwm: can't apply the same delay module to multiple generators
This is a hardware limitation, one delay module can only be used by one generator at one time.

Closes https://github.com/espressif/esp-idf/issues/11327
2023-05-10 10:09:48 +08:00
Darian Leung
3948949019 driver: Fix ana_cmpr negative enum comparison
The C17 standard (sec 6.7.2.2) indicates that the underlying type of an enum is
implementation defined (i.e., can be signed or unsigned). Thus, comparing
"-1 >= some_enum" where "some_enum" is always 0 or largert can return true if
the compiler uses unsigned for enums.

This commit fixes the following issues with ana_cmpr:

- Fixed incorrect comparison in ana_cmpr_del_unit() that relied on enums being
signed, thus would always return true.
- Fixed incorrect expected argument in the "ana_cmpr_unit_install_uninstall"
test. This was not picked up due to the incorrect enum comparison above.
2023-05-08 17:11:52 +08:00
morris
864f5532fa gptimer: enlarge test threshold 2023-05-08 10:18:58 +08:00
morris
d12ad17373 rmt: check filter and idle threashold
Closes https://github.com/espressif/esp-idf/issues/11262
2023-05-05 19:07:59 +08:00
morris
2004bf4e11 Merge branch 'bugfix/rmt_one-wire_v5.1' into 'release/v5.1'
rmt_onewire: refactor example with component registry (v5.1)

See merge request espressif/esp-idf!23509
2023-05-04 13:32:18 +08:00
Adam Múdry
62a5ad5fc1 sdmmc: add vTaskDelay to loops to prevent potential WDT trigger
Also change timeout to 120 seconds in fatfs sdcard pytest to prevent failing during formatting.
2023-04-28 12:39:08 +02:00
Chip Weinberger
c7ca30e62f [SDMMC] add reasonable timeouts to all while loops
Closes: https://github.com/espressif/esp-idf/pull/10532
2023-04-28 12:39:06 +02:00
Chip Weinberger
6ff1059da7 [SDMMC Mount] fix infinite loop when SD card is not responsive
Closes: https://github.com/espressif/esp-idf/pull/10532
2023-04-28 12:37:27 +02:00
morris
cbd210b431 Merge branch 'refactor/rename_to_esp_clk_tree_prefix_v5.1' into 'release/v5.1'
esp_clk_tree: Rename clk_tree_xxx to esp_clk_tree_xxx (v5.1)

See merge request espressif/esp-idf!23449
2023-04-28 17:11:46 +08:00
morris
14dac35540 rmt_onewire: refactor example with component manager
Closes https://github.com/espressif/esp-idf/issues/10790
2023-04-28 13:38:33 +08:00
Jiang Jiang Jian
d89db7e4a7 Merge branch 'feature/spi_hal_move_out_iram_v5.1' into 'release/v5.1'
spi: change linker file to move spi hal out from iram (v5.1)

See merge request espressif/esp-idf!23448
2023-04-27 23:31:16 +08:00
Song Ruo Jing
202b18b5fa esp_clk_tree: Rename clk_tree_xxx to esp_clk_tree_xxx, add compilation warning to clk_tree.h 2023-04-27 11:11:18 +00:00
morris
3048251be0 Merge branch 'ci/pytest_case_tester_script_fix_v5.1' into 'release/v5.1'
ci: pytest automation script increase timeout time (v5.1)

See merge request espressif/esp-idf!23447
2023-04-27 17:35:51 +08:00
morris
2bc721739c Merge branch 'bugfix/i2s_tdm_multi_dev_on_h2_v5.1' into 'release/v5.1'
i2s: fixed tdm multi dev test on h2 (v5.1)

See merge request espressif/esp-idf!23475
2023-04-27 13:20:03 +08:00
Shu Chen
856cfa4ae2 Merge branch 'refactor/remove_esp32h4_target_v5.1' into 'release/v5.1'
esp32h4: remove esp32h4 target (v5.1)

See merge request espressif/esp-idf!23422
2023-04-27 09:37:51 +08:00
morris
aedcec9be5 Merge branch 'feature/emmc_example_v5.1' into 'release/v5.1'
SDMMC Host: added an example to communicate with an eMMC chip and also a bugfix for Host timing (v5.1)

See merge request espressif/esp-idf!23283
2023-04-26 22:41:15 +08:00
laokaiyao
0aad1efe15 i2s: fixed tdm multi dev test on h2 2023-04-26 18:55:36 +08:00
laokaiyao
87328d594f esp32h4: checked all the corner stuffs of the removal 2023-04-26 18:53:12 +08:00
laokaiyao
954a6a2cff esp32h4: removed esp32h4 related codes 2023-04-26 18:53:12 +08:00
laokaiyao
804a9ea1f6 esp32h4: remove esp32h4 target from peripherals 2023-04-26 18:53:10 +08:00
Song Ruo Jing
24bfb8a8e5 uart: Allow the users to not specify the source_clk in uart_config_t when calling uart_param_config 2023-04-26 11:24:16 +08:00
wanlei
f61e219667 spi: change linker file let spi hal able to out from iram 2023-04-26 11:15:30 +08:00
wanlei
40b0dbae10 spi_flash: fix config SPI_FLASH_SHARE_SPI1_BUS dependency 2023-04-26 11:15:30 +08:00
wanlei
ee4e5c014a sdio: test_sdio add unity sync signals 2023-04-26 11:11:59 +08:00
Guillaume Souchere
d7b344c97a heap: Add a configuration that places all the heap component and related functionalities in flash when enabled
Add test configuration to run all tests with heap component in the flash.
Add reference to this new configuration in performance section of the documentation.
2023-04-25 01:12:10 +00:00
Armando
6102cfdd27 sdmmc: in/out phase adapted to esp32 and esp32s3 2023-04-24 03:45:29 +00:00
Ivan Grokhotkov
5b18007d92 sdmmc: I/O phase adjustments
1. Fix incorrect meaning of SDMMC.clock bits, synchronize the names
   with the TRM.
2. Choose input and output phases to satisfy typical timing
   requirements.
3. Move use_hold_reg setting into the host driver, since it is related
   to timing.

Closes https://github.com/espressif/esp-idf/issues/8521
Related to https://github.com/espressif/esp-idf/issues/8257
2023-04-24 03:45:29 +00:00
morris
0fb6316888 Merge branch 'bugfix/rmt_encode_state_init_v5.1' into 'release/v5.1'
rmt: define RMT_ENCODING_RESET in rmt_encode_state_t (v5.1)

See merge request espressif/esp-idf!23239
2023-04-24 10:18:08 +08:00
morris
b5572b1db0 rmt: define RMT_ENCODING_RESET in rmt_encode_state_t
Closes https://github.com/espressif/esp-idf/issues/11200
2023-04-17 21:28:45 +08:00
laokaiyao
965e9abd7b i2s: fixed the test case I2S_thread_concurrent_safety_test 2023-04-10 15:29:22 +08:00
laokaiyao
a47169f450 i2s: fix interrupt flag of pdm rx mode
Forgot to update in PR https://github.com/espressif/esp-idf/pull/10997
2023-04-10 15:29:22 +08:00
Song Ruo Jing
5070e51dde ledc: Fix two bugs inside LEDC driver
1. Regression introduced when refactoring on clock sources selection (0d07f859).
   If channel configuration is called before timer configuration on C6, PWM signal may not be able to output.
2. Missing the improper fade parameter fix inside ledc_set_duty_and_update() function.
2023-04-06 12:37:33 +08:00
Zhang Xiao Yan
5d70620956 Merge branch 'docs/update_brief_of_uart_set_wakeup_threshold' into 'master'
update brief of uart_set_wakeup_threshold

See merge request espressif/esp-idf!22886
2023-03-31 17:28:16 +08:00
Linda
cafd3ab4c1 update brief of uart_set_wakeup_threshold 2023-03-31 10:58:02 +08:00
morris
5d1a272b1c rmt: calarify the meaning of mem_block_symbols in DMA and non-DMA mode 2023-03-30 11:09:13 +08:00
morris
d82981c437 rmt: use gpio_num_t to define gpio number 2023-03-30 10:30:27 +08:00
Zim Kalinowski
e86864c621 Merge branch 'feature/unify_core_host_target_tests' into 'master'
ci: unify core host target tests

Closes IDF-6621, IDF-6622, IDF-6623, and IDF-6624

See merge request espressif/esp-idf!22944
2023-03-29 15:41:01 +08:00
Kevin (Lao Kaiyao)
7c5d65b82b Merge branch 'contrib/github_pr_10997' into 'master'
i2s: intrerrupt fix (GitHub PR)

Closes IDFGH-9650 and IDFGH-9654

See merge request espressif/esp-idf!22945
2023-03-28 18:35:01 +08:00
Marius Vikhammer
f627506f6b ci: update driver tests to use run_all_single_board_cases() 2023-03-28 17:05:50 +08:00
dizcza
b44c89db9e i2s interrupt fix
Merges: https://github.com/espressif/esp-idf/pull/10997
2023-03-28 14:34:31 +08:00
Ivan Grokhotkov
7524f40b21
sdmmc: keep clock enabled for the duration of ACMD41
SD specification requires that card clock is not disabled until the
card is idle, following ACMD41 command.
2023-03-27 14:09:02 +02:00
wanlei
45d745f853 spi_slave: add multi board test case for spi slave hd append mode 2023-03-21 11:30:17 +08:00
wanlei
66ca403bc6 spi_slave: support spi slave hd append mode on chips other than s2 2023-03-21 11:30:17 +08:00
Kevin (Lao Kaiyao)
d659991bbb Merge branch 'feature/gpio_runtime_preserve' into 'master'
gpio: support runtime reserve

Closes IDF-6731

See merge request espressif/esp-idf!22223
2023-03-18 10:55:44 +08:00
laokaiyao
53584bb5a7 ana_cmpr: add programming guide 2023-03-17 14:35:55 +08:00
laokaiyao
c9f780dc2e gpio: support runtime preserve 2023-03-17 11:59:49 +08:00
laokaiyao
24361f232d ana_cmpr: add an example and test cases 2023-03-17 11:38:32 +08:00
laokaiyao
c634144ac8 ana_cmpr: designed driver layer 2023-03-17 11:38:32 +08:00
morris
11cdbf2da0 driver: added analog comparator driver 2023-03-17 11:38:32 +08:00
Marius Vikhammer
75591a8a13 Merge branch 'ci/driver_single_board' into 'master'
ci: update test apps to use run_all_single_board_cases

See merge request espressif/esp-idf!22669
2023-03-13 09:25:42 +08:00
Song Ruo Jing
3ec287eaa5 Merge branch 'feature/ledc_gamma_curve_support' into 'master'
ledc: Support gamma curve fade feature

Closes IDF-5811 and IDF-6236

See merge request espressif/esp-idf!22486
2023-03-12 07:54:08 +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
Marius Vikhammer
0be8e03907 ci: update test apps to use run_all_single_board_cases 2023-03-10 14:27:09 +08:00
Song Ruo Jing
79f34fe524 ledc: Support gamma curve fade feature on esp32c6 and esp32h2 2023-03-10 12:42:46 +08:00
Song Ruo Jing
5c5cfbc7c7 gpio: Re-enable gpio usb pins test cases on esp32h2 2023-03-09 17:21:43 +08:00
Gustavo Henrique Nihei
3cbac3dd1d esp_system: Ensure TIMG0 clock is always enabled during normal operation
If the TimerGroup 0 clock is disabled and then reenabled, the watchdog
registers (Flashboot protection included) will be re-enabled, and some
seconds later, will trigger an unintended reset.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-06 04:58:11 +00:00