Commit Graph

665 Commits

Author SHA1 Message Date
Omar Chebib
473974c8f6 UART & I2C: remove custom ISR registration function
Breaking change for v5.0: custom UART ISR and I2C ISR cannot be installed anymore.
2022-01-25 14:46:43 +08:00
songruojing
68e12f7092 ledc: Add ledc_fade_stop API to support stopping the fade operation.
Note that ESP32 cannot support this new feature.
2022-01-25 11:19:20 +08:00
songruojing
be2ab09832 ledc: Fix FADE_NO_WAIT mode concurrency problem.
Add test cases for fade concurrency issue and fade timing check.

Closes https://github.com/espressif/esp-idf/issues/6710
2022-01-25 11:19:10 +08:00
songruojing
e175086226 ledc: Simplify the procedure to perform a one-time duty update
Avoid adding one extra fade cycle when performing a one-time duty update.
Add some notes to ledc_get_duty and ledc_update_duty APIs, so that users
are aware of when the new duty will be effective.

Closes https://github.com/espressif/esp-idf/issues/7288
2022-01-24 19:36:13 +08:00
laokaiyao
cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
morris
a298e44b33 gptimer: added a section to describe the thread safety 2022-01-18 10:06:26 +08:00
morris
5deb83b12d gptimer: new driver for previous timer group 2022-01-07 14:44:50 +08:00
morris
869bed1bb5 soc: don't expose unstable soc header files in public api 2022-01-06 23:10:22 +08:00
morris
8cdcb4e291 rmt: move RMT item definition from soc to driver 2022-01-06 21:43:12 +08:00
morris
090b4aa1f3 adc: make adc2_wifi share resource private 2022-01-04 13:59:24 +08:00
morris
1f06c1bd1b Merge branch 'feature/fast_gpio_esp32c2' into 'master'
fast gpio support on esp32c2/esp8684

See merge request espressif/esp-idf!16531
2021-12-29 07:01:41 +00:00
morris
5624dffc52 Merge branch 'contrib/github_pr_8139' into 'master'
ledc.h - fix extern "C" to include ledc_cb_register() (GitHub PR)

Closes IDFGH-6484

See merge request espressif/esp-idf!16557
2021-12-28 03:50:22 +00:00
morris
f028107359 fast_gpio: support esp32c2/esp8684 2021-12-28 10:18:18 +08:00
Emil Muratov
d4de08182e ledc.h - fix extern "C" to include ledc_cb_register() 2021-12-24 02:05:43 +03:00
laokaiyao
45ea21e8a0 doc: add application notes for i2s 2021-12-23 18:59:56 +08:00
Jakob Hasse
7572f75d6b refactor (cxx)!: I2C C++ classes use strong value types now
Added host-based I2C C++ unit tests

BREAKING CHANGE: I2C C++ interface changes, raw values for
    arguments are mostly not allowed anymore.
2021-12-17 14:05:52 +08:00
Armando
4dc0d6b2fe adc: support adc dma driver on all chips 2021-12-16 00:19:15 +00:00
intern
467525f846 docs: fix typo in header files 2021-12-13 13:17:17 +08:00
Ivan Grokhotkov
c358aceb1b Merge branch 'feature/soc_caps_build_sys' into 'master'
build-system: parse soc caps and integrate into kconfig

Closes IDF-2223

See merge request espressif/esp-idf!15305
2021-12-09 06:54:08 +00:00
Marius Vikhammer
c6d60615c6 build-system: include soc_caps defines into kconfig
Adds gen_soc_caps_kconfig.py which parses the soc caps (soc_caps.h) into
a format that can be included in kconfig.
2021-12-06 12:37:07 +08:00
laokaiyao
fa4e77eb44 i2s: deprecate confusing names 2021-11-24 13:21:13 +08:00
Omar Chebib
aa2ca7dd94 LEDC: improved support for ESP32-C3 and refactored divisor calculation
As ESP32C3 does not have support for REF_TICK source clock, it is now not
possible to select it anymore.
Auto cfg clock has been improved for all boards.
2021-11-11 12:21:15 +08:00
morris
490d3fee71 Merge branch 'refactor/make_peripheral_ctrl_as_private_api' into 'master'
global: make periph enable/disable APIs private

Closes IDF-3647

See merge request espressif/esp-idf!15632
2021-11-08 07:31:01 +00:00
Wang Fang
b86619fc61 Merge branch 'docs/add_a_note_to_mck_io_num' into 'master'
docs: add a note to mck_io_num: for esp32, only gpio0/gpio1/gpio3 can be set

Closes DOC-2218

See merge request espressif/esp-idf!15812
2021-11-08 05:14:41 +00:00
morris
16677b0d3c global: make periph enable/disable APIs private
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
Cao Sen Miao
a9f0a3531e ESP8684: add driver esp_pm heap support 2021-11-06 17:33:44 +08:00
Wang Fang
21378f007f docs: add a note to mck_io_num: for esp32, only gpio0/gpio1/gpio3 can be set 2021-11-04 19:38:51 +08:00
Jakob Hasse
1eb96cfc79 feat (driver)!: Added mocking for i2c.h
BREAKING CHANGE: removed ringbuf.h from public i2c.h
2021-11-02 14:16:31 +08:00
morris
e2275b1f63 gptimer: clean up hal and ll for driver-ng 2021-10-20 18:40:08 +08:00
SalimTerryLi
bd89dcc683
RMT: add loop_autostop driver support for esp32s3 2021-09-24 15:24:45 +08:00
Kevin (Lao Kaiyao)
a287f34f88 Merge branch 'bugfix/i2s_apll_fixed_clock' into 'master'
i2s: fix apll bug introduced in 'refactor/i2s_driver'

Closes IDFGH-5824

See merge request espressif/esp-idf!15109
2021-09-14 08:31:12 +00:00
SalimTerryLi
932d4d13f0
MCPWM/sync: expose API for configuring timer sync
removed example: mcpwm_basic_config

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

Co-authored-by: wubowen <wubowen@espressif.com>
2021-09-09 17:33:37 +08:00
laokaiyao
dfbe76e988 i2s: fix return value when failed to register i2s 2021-09-09 10:33:15 +08:00
laokaiyao
c5afd7ce34 i2s: fix write failure on ESP32 in 32bit slave mode 2021-09-03 17:36:44 +08:00
laokaiyao
b26da6f115 driver/i2s: refactor for i2s driver layer 2021-09-02 14:33:36 +08:00
Michael (XIAO Xufeng)
375145ecdb Merge branch 'feature/mcpwm_bldc_hall_example' into 'master'
mcpwm: bldc hall example

Closes IDF-3648

See merge request espressif/esp-idf!14578
2021-08-26 08:28:27 +00:00
Darian
72ba1866fb twai: TWAI_ALERT_RX_DATA indicates that frames were received
Signed-off-by: Darian Leung <darian@espressif.com>

Closes https://github.com/espressif/esp-idf/pull/7386
Closes https://github.com/espressif/esp-idf/issues/7374
2021-08-25 19:57:10 +08:00
morris
0dbe872542 mcpwm: bldc hall example 2021-08-24 15:38:46 +08:00
morris
bb87fd8f08 Merge branch 'refactor/pcnt_driver_esp32s3' into 'master'
pcnt: soc update and hal refactor

See merge request espressif/esp-idf!14698
2021-08-20 04:23:15 +00:00
morris
71d475149d lcd: update doc unit test and example to support 8-line spi 2021-08-19 16:40:22 +08:00
bizhuangyang
8143832041 spi_master:support octal mode for esp32s2 and esp32s3
Add support for 8-line spi for lcd on esp32s2 and esp32s3

Closes https://github.com/espressif/esp-idf/issues/6371
2021-08-19 16:40:22 +08:00
morris
3bcd9278fa i2s: expose resource object to other component 2021-08-10 21:06:59 +08:00
morris
56760c9669 pcnt: refactor hal driver 2021-08-10 17:19:21 +08:00
Wang Fang
59aa60d52a Merge branch 'docs/provide_apb_clock_frequency_in_api-reference_timers' into 'master'
docs: provide APB clock frequency in api-reference/timers

Closes DOC-1689

See merge request espressif/esp-idf!14593
2021-08-06 06:50:26 +00:00
Wang Fang
0ba73ee7e2 docs: provide APB clock frequency in api-reference/timers 2021-08-06 11:05:32 +08:00
SalimTerryLi
e5ddc12a08
MCPWM/capture: API workflow optimization
deprecate isr_register to introduce new callback based API, with framework managed interrupt routine
new HC-SR04 example
2021-08-05 19:12:58 +08:00
Michael (XIAO Xufeng)
947980ecac Merge branch 'bugfix/uart_set_pin_use_iomux' into 'master'
uart: uart_set_pin function will now use IOMUX whenever possible

Closes IDF-3183

See merge request espressif/esp-idf!14318
2021-08-05 04:17:29 +00:00
Omar Chebib
779e7400b0 uart: uart_set_pin function will now use IOMUX whenever possible
By using IOMUX instead of GPIO Matrix for UART, it is now possible
on ESP32 boards to use the UART as a wake up source even if it is
not used as a console.
For other boards where this issue was not present, using IOMUX has
the advantage to be faster than using GPIO matrix, so a highest
baudrate can be used
2021-08-04 12:48:30 +08:00
laokaiyao
f863998e90 driver/i2s: support mclk 2021-08-04 10:20:03 +08:00
laokaiyao
3c57a6ac36 driver/i2s: refactor ll and hal 2021-08-04 10:20:03 +08:00
laokaiyao
d51b85989b doc/i2s: update i2s programming guide on s3 & c3 2021-08-04 10:20:03 +08:00
laokaiyao
f7f8c9c11f driver/i2s: support i2s on c3 and s3
1. Support i2s on esp32c3 and esp32s3
    2. Refactor i2s_config_t to avoid breaking change
    2. Fix a bug that receiving unavailable values from message queue when dma queue has been re-allocted
    4. Support i2s unit test on esp32c3 and esp32s3
2021-08-04 10:20:03 +08:00
houwenxiang
2f1247e1c4 driver: support I2S on ESP32-S3 & ESP32-C3
1. refactor I2S driver.
  2. support TDM mode for esp2s3 & esp32c3.
2021-08-04 10:20:03 +08:00
morris
5f318e902d Merge branch 'bugfix/mcpwm-deadtime-preset-config' into 'master'
bugfix/mcpwm: fix deadtime module preset config (AHC, ALC, AH, AL)

Closes IDFGH-5600

See merge request espressif/esp-idf!14594
2021-08-03 04:22:20 +00:00
SalimTerryLi
32ca6ab65d
MCPWM/deadtime: fix and sync preset deadtime modes with well-known definition
Closes https://github.com/espressif/esp-idf/issues/7321
2021-08-03 10:12:42 +08:00
Michael (XIAO Xufeng)
f26006a3bc Merge branch 'feature/ledc_fade_callback' into 'master'
ledc: Add a callback for LEDC fade end

Closes IDF-2475 and IDF-3222

See merge request espressif/esp-idf!14302
2021-07-31 08:52:00 +00:00
SalimTerryLi
f4314af913
MCPWM: expose API to set timer resolution
Closes https://github.com/espressif/esp-idf/issues/1101
2021-07-30 18:52:17 +08:00
songruojing
9d098cc9bd ledc: Add a callback for LEDC fade end
This commit adds a feature where users can register a callback that is
called when an LEDC fade completes.
2021-07-29 17:56:22 +08:00
morris
88c87bfe56 mcpwm: update hal and soc naming 2021-07-26 22:32:45 +08:00
Omar Chebib
a6e14c37b2 SPI: chip select can now be kept active if the bus has been acquired
The user can now request the chip select to remain active after the current
transfer. In order to do so, he MUST acquire the bus first with `spi_device_acquire_bus()`
function, else, an error is returned.
2021-07-21 10:39:45 +08:00
morris
d9819bc7ae gdma: set transfer ability 2021-07-16 14:47:09 +08:00
morris
3176ba11d8 gdma: update DMA soc data for esp32-s3 2021-07-16 14:47:09 +08:00
Omar Chebib
2575c0d49f i2c: fix I2C slave clock source selection
In I2C slave mode, clock source can now be changed, according to
the flags specified in `i2c_config_t` structure. Thus, ESP32-S2
can now act as an I2C slave, even with a 400KHz master clock.
2021-07-15 12:28:57 +08:00
morris
d9d4db43a1 Merge branch 'feature/dedic_gpio_esp32s3' into 'master'
Dedicated gpio driver on esp32s3

Closes IDF-3387

See merge request espressif/esp-idf!14196
2021-07-06 03:20:04 +00:00
Michael (XIAO Xufeng)
c6716dcb39 Merge branch 'feature/esp32c3_usbjtag_console_blocking' into 'master'
USB_serial_jtag controller:  Add driver for supporting VFS on esp32c3(blocking implementation)

Closes IDF-3066 and IDF-3019

See merge request espressif/esp-idf!13414
2021-07-05 07:57:19 +00:00
Cao Sen Miao
3aa9ac2469 usb_serial_jtag: Add blocking driver to support vfs. 2021-07-05 11:22:38 +08:00
Michael (XIAO Xufeng)
5986b204c6 Merge branch 'feature/i2c_add_static_buffer_transfers' into 'master'
i2c: add `i2c_cmd_link_create_static()` to create commands from a given buffer

Closes IDFGH-3087

See merge request espressif/esp-idf!13013
2021-07-02 14:00:03 +00:00
Shu Chen
205cd469e9 esp32h2: update driver/hal/soc components to support esp32h2 2021-07-01 19:53:11 +08:00
morris
c8c3015018 dedic_gpio: support on esp32s3 2021-06-30 18:10:54 +08:00
Jakob Hasse
79b0256d63 [driver]: partial mocking of driver component
* added mocking of spi master and gpio
* mock registering in one function in
  component.cmake
2021-06-24 10:10:29 +08:00
Michael (XIAO Xufeng)
591e4c4b31 sdio_slave: allow getting end of frame information 2021-06-17 09:40:08 +08:00
Omar Chebib
7dd499d1f4 i2c: commands can now be re-used without deleting and creating new cmd links
It is now possible to call `i2c_master_cmd_begin()` on the same
`i2c_cmd_handle_t` parameter. Thus, no extra allocation will be performed.
Moreover, as commands contains pointers to data, these can be modified
between two calls to `i2c_master_cmd_begin()`. This becomes very handy
for framebuffers.
2021-06-09 17:03:39 +08:00
Omar Chebib
cfcbca1271 i2c: optimize space allocated for read or write buffers
Only a single command will be allocated now when a read or write is
prepared in the command list. The size of a command's buffer is not
limited to 255 bytes anymore.
2021-06-09 15:21:20 +08:00
Omar Chebib
e1f388f114 i2c: add i2c_cmd_link_create_static() to create commands from a given buffer
Application can now provide a buffer in order to allocate commands link.
Fixed few unclear details in the documentation.
Added wrappers to simplify I2C transfers.

Closes https://github.com/espressif/esp-idf/issues/5108
2021-06-09 15:21:20 +08:00
morris
d4fe219c49 mcpwm: refactor driver 2021-06-09 12:27:01 +08:00
Michael (XIAO Xufeng)
aecf85e74b Merge branch 'update_copyright_notice_driver_part_2' into 'master'
driver: update copyright notice, part 2

See merge request espressif/esp-idf!13650
2021-05-31 07:52:19 +00:00
Michael (XIAO Xufeng)
dd0c1c7d95 Merge branch 'bugfix/delete_i2c_cmd_mux_semaphore_more_cleanly' into 'master'
dreiver/i2c: delete i2c cmd_mux semaphore more cleanly

Closes IDFGH-5062

See merge request espressif/esp-idf!13399
2021-05-28 07:56:34 +00:00
laokaiyao
b807f2a666 driver/i2c: add notes to i2c deleteing function 2021-05-27 12:43:22 +08:00
Jan Brudný
6667c5dc2a driver: update copyright notice 2021-05-24 01:53:34 +02:00
Michael (XIAO Xufeng)
2e4d3ad880 Merge branch 'feature/bringup_esp32s3beta_cmake_sdmmc' into 'master'
esp32s3: add sdmmc support

Closes IDF-1569

See merge request espressif/esp-idf!8304
2021-05-20 04:22:11 +00:00
Michael (XIAO Xufeng)
8409485b22 Merge branch 'doc/fix_misleading_of_mcpwm_capture_enable_doc' into 'master'
driver/mcpwm: fix the misleading of mcpwm_capture_enable parameters

Closes IDFGH-3000

See merge request espressif/esp-idf!13497
2021-05-16 15:15:26 +00:00
Michael (XIAO Xufeng)
e941bc838c Merge branch 'feature/lcd_driver' into 'master'
esp_lcd component panel driver

Closes IDF-2933 and IDF-2934

See merge request espressif/esp-idf!12813
2021-05-13 04:29:07 +00:00
laokaiyao
e66f25caf2 driver/mcpwm: fix the misleading of mcpwm_capture_enable parameters
closes https://github.com/espressif/esp-idf/issues/5032
2021-05-13 12:23:19 +08:00
morris
270ed70f3e gdma: support reset dma fifo at runtime 2021-05-12 17:10:37 +08:00
laokaiyao
48c848a895 driver/ledc: support invert channel output 2021-05-11 11:54:16 +08:00
Ivan Grokhotkov
2c8f413059 driver: sdmmc: add esp32s3 support
* Extend sdmmc_slot_config_t with GPIO pin numbers for all SD bus
  signals. These new fields are available if SOC_SDMMC_USE_GPIO_MATRIX
  is set.
* Add shorter "sd" and "wp" aliases for "gpio_sd" and "gpio_wp" field
  names in sdmmc_slot_config_t.
* Deprecate sdmmc_host_pullup_en, prefer to enable this feature using
  SDMMC_SLOT_FLAG_INTERNAL_PULLUP instead.
2021-05-10 23:21:27 +02:00
Ivan Grokhotkov
f67f7d6774 Merge branch 'bugfix/adc_channel_comment_typo' into 'master'
adc: fix typos in comments (Github PR)

Closes IDFGH-4774

See merge request espressif/esp-idf!13437
2021-05-06 11:49:58 +00:00
Ivan Grokhotkov
3717a318f6 Merge branch 'bugfix/gpio_isr_doc' into 'master'
gpio_isr_register(): Correct order of arguments in docs (Github PR)

Closes IDFGH-1780

See merge request espressif/esp-idf!13439
2021-05-06 11:49:34 +00:00
Alex Lisitsyn
ea6710ce98 soc/hal: add tinyusb support esp32s3
add usb hal/soc, usb_ll files and esp32s3 target for usb
move usb_hal.h into soc common folder
soc/hal: fix soc and periph for usb
tinyusb: fix tinyusb io header
hal: usb_ll fix pull up/down config for esp32s3
soc/hal: fix peripheral addresses
2021-05-06 16:20:54 +08:00
Martin Thierer
75e0c6aaf5 gpio_isr_register(): Correct order of arguments in docs
Make documentation order consistent with function signature.

Merges https://github.com/espressif/esp-idf/pull/3999
2021-05-05 15:56:26 +02:00
Christian Winkler
13abf1ed2e Fix adc-channel typo
Merges https://github.com/espressif/esp-idf/pull/6577
2021-05-05 15:40:35 +02:00
Michael (XIAO Xufeng)
5997fcd45d Merge branch 'feature/update_adc_programming_guide_on_c3' into 'master'
adc: update esp32c3 programming guide

Closes IDF-2333

See merge request espressif/esp-idf!12563
2021-04-23 12:52:07 +00:00
Armando
3177130256 adc: add adc programming guide on c3 2021-04-21 10:40:55 +08:00
Armando
85e29dace7 spi_slave_hd: add callback after data is loaded to the DMA for segment mode 2021-04-20 20:08:29 +08:00
Marius Vikhammer
826b976ba5 timer: add IRAM_ATTR to spinlock give/take API
Closes https://github.com/espressif/esp-idf/issues/6824
2021-04-15 09:50:06 +08:00
Michael (XIAO Xufeng)
1f29036ead Merge branch 'feat/c3_driver_api_cleanup' into 'master'
driver: cleanup i2c, i2s on C3

Closes IDF-2759 and IDF-2760

See merge request espressif/esp-idf!12329
2021-04-13 09:00:11 +00:00
Michael (XIAO Xufeng)
f5f3c7143c Merge branch 'feat/c3_driver_api_cleanup_gpio' into 'master'
gpio, rtcio: removed unsupported features on different targets

See merge request espressif/esp-idf!13103
2021-04-13 06:51:33 +00:00
Michael (XIAO Xufeng)
54fdaa5986 Merge branch 'docs/spi_max_transfer_sz_limit' into 'master'
spi_docs: Fixed the default value of max_transfer_sz.

See merge request espressif/esp-idf!13000
2021-04-13 06:51:11 +00:00
Michael (XIAO Xufeng)
6ab5b9cbf9 gpio, rtcio: removed unsupported features on different targets 2021-04-13 13:21:08 +08:00
Michael (XIAO Xufeng)
67941fc495 i2s: removed unsupported features on different targets 2021-04-12 15:51:54 +08:00