Cao Sen Miao
9a6a28734b
I2C: put some interrupt used functions into IRAM,
...
closes https://github.com/espressif/esp-idf/issues/10079
2022-12-01 16:20:56 +08:00
Omar Chebib
3ec5041255
I2C: Fix the reset counter
2022-11-10 02:07:21 +00:00
Eckhard Völlm
647dbdbcaf
Update i2c.c
...
Fix issue with single bus clear counter but two I2C buses (I2C0, I2C1). The previously implemented single (static) counter would impact the second bus either if one bus has counter expiry.
Merges https://github.com/espressif/esp-idf/pull/7144
2022-11-10 02:07:21 +00:00
Cao Sen Miao
22b222b762
I2C: Make I2C clock frequency accurate
2022-08-29 09:07:30 +00:00
Marius Vikhammer
a968442603
Merge branch 'bugfix/ringbuf_iram_fix_v4.4' into 'release/v4.4'
...
esp_ringbuf: placement in flash is no longer controlled by... (v4.4)
See merge request espressif/esp-idf!19165
2022-08-09 11:01:52 +08:00
Marius Vikhammer
a940064748
esp_ringbuf: placement in flash is no longer controlled by CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH
...
esp-ringbuf funtion placement is now controlled by its own configs:
CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH and CONFIG_RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH
Closes https://github.com/espressif/esp-idf/issues/9198
2022-08-08 07:15:00 +00:00
Omar Chebib
cb411a81a2
I2C: Fix a bug making the I2C task wait too long on an event
...
The I2C ISR will now notify the task waiting on an event. Thus, the task can stop waiting on the event queue as soon as possible.
2022-08-08 06:10:31 +00:00
Michael (XIAO Xufeng)
f86be6141b
Merge branch 'bugfix/i2c_timeout_issue_v4.4' into 'release/v4.4'
...
I2C: patch for solving watchdog timeout issue(backport v4.4)
See merge request espressif/esp-idf!18130
2022-06-08 14:12:37 +08:00
Omar Chebib
308f84972c
I2C: Fix I2C ports check in each function of the API implementation
...
* Closes https://github.com/espressif/esp-idf/issues/9009
2022-05-26 12:44:46 +08:00
Cao Sen Miao
04f7c342f0
I2C: patch for solving watchdog timeout issue
2022-05-17 16:36:40 +08:00
Omar Chebib
0da60f7b83
I2C: Read transactions, without a STOP, won't panic anymore
...
* Closes https://github.com/espressif/esp-idf/issues/8548
2022-04-28 14:05:22 +08:00
songruojing
00229547b2
i2c: Correct hal functions iram placement and remove IRAM_ATTR for i2c_hw_fsm_reset
...
Closes https://github.com/espressif/esp-idf/issues/8422
(cherry picked from commit 1ceb7c8cd6
)
2022-04-18 22:24:47 +08:00
Zim Kalinowski
81861d03c0
Merge branch 'bugfix/fix_i2c_crash_v4.4' into 'release/v4.4'
...
I2C: Fix I2C Master operation with repeated start condition (backport v4.4)
See merge request espressif/esp-idf!17118
2022-02-16 06:30:44 +00:00
Zim Kalinowski
33f7009bef
Merge branch 'bugfix/i2c_spiram_bug_v4.4' into 'release/v4.4'
...
i2c: fix buffer check when SPIRAM used as a heap (backport v4.4)
See merge request espressif/esp-idf!17098
2022-02-16 05:16:32 +00:00
Dmitry Koptsov
f60a914bae
I2C: Fix I2C Master operation with repeated start condition
...
* Closes https://github.com/espressif/esp-idf/pull/8353
2022-02-11 15:37:24 +08:00
paul
8f3b47da39
I2C: Fix typo in I2C_TIMING_VAL_ERR_STR macro name
...
* Closes https://github.com/espressif/esp-idf/pull/8012
2022-02-11 15:29:52 +08:00
Omar Chebib
98647cf351
i2c: fix buffer check when SPIRAM used as a heap
...
* Closes https://github.com/espressif/esp-idf/issues/8173
2022-02-10 16:16:01 +08:00
Chen Yi Qun
fbd25c3837
I2C: add conf_update for esp32c3 i2c
2021-08-11 13:39:07 +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
SalimTerryLi
f545adbceb
i2c.c, uart.c: replace xxx_CHECK with ESP_RETURN_ON_FALSE
2021-07-09 15:13:34 +08:00
Omar Chebib
e9ffe03544
i2c: the user is now allowed to call i2c_master_write even for sending a single byte
2021-07-06 12:12:16 +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
Michael (XIAO Xufeng)
dd47340d0e
Merge branch 'update_copyright_notice_driver_part_4' into 'master'
...
driver: update copyright notice, part 4
See merge request espressif/esp-idf!13652
2021-05-31 07:37:19 +00:00
Jan Brudný
690974e32f
driver: update copyright notice
2021-05-25 17:43:57 +02:00
Melissa LeBlanc-Williams
33e8d1e0b0
dreiver/i2c: delete i2c cmd_mux semaphore more cleanly
...
Merges https://github.com/espressif/esp-idf/pull/6848
2021-05-07 18:03:38 +08:00
Omar Chebib
cd79f3907d
gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3
...
When `DIS_USB_JTAG` eFuse is NOT burned (`False`), it is not possible
to set pins 18 and 19 as GPIOs. This commit solves this by manually
disabling USB JTAG when using pins 18 or 19.
The functions shall use `gpio_hal_iomux_func_sel` instead of
`PIN_FUNC_SELELECT`.
2021-04-08 14:01:18 +08:00
Marius Vikhammer
2aead8ba57
Support ESP32S3 Beta 3 target
...
Update ROM API. Port changes from bringup branch.
2021-03-18 10:24:22 +08:00
Michael (XIAO Xufeng)
31955fd7ea
i2c: modify internal impl to ensure the cmd will not be modified
...
related to: https://github.com/espressif/esp-idf/issues/5108
2021-01-27 01:31:49 +08:00
Sachin Parekh
6e1f53bce3
i2c: Acquire PM lock after acquiring mutex
2020-12-22 00:50:19 +05:30
Angus Gratton
5228d9f9ce
esp32c3: Apply one-liner/small changes for ESP32-C3
2020-12-01 10:58:50 +11:00
Cao Sen Miao
31afe8109f
i2c: Fix bug on i2c clk allocator
2020-11-25 14:26:37 +08:00
Cao Sen Miao
6eee601cf6
i2c: Add supports on esp32s3
2020-11-12 11:32:45 +08:00
Michael (XIAO Xufeng)
647dea9395
soc: combine xxx_caps.h into one soc_caps.h
...
During HAL layer refactoring and new chip bringup, we have several
caps.h for each part, to reduce the conflicts to minimum. But this is
The capabilities headers will be relataive stable once completely
written (maybe after the featues are supported by drivers).
Now ESP32 and ESP32-S2 drivers are relative stable, making it a good
time to combine all these caps.h into one soc_caps.h
This cleanup also move HAL config and pin config into separated files,
to make the responsibilities of these headers more clear. This is
helpful for the stabilities of soc_caps.h because we want to make it
public some day.
2020-10-17 16:10:15 +08:00
Chen Yi Qun
caaf62bdad
driver, http_client, web_socket, tcp_transport: remove __FILE__ from log messages
...
__FILE__ macro in the error messages adds full paths to the production binarys, remove __FILE__ from the ESP_LOGE.
Closes https://github.com/espressif/esp-idf/issues/5637
Merges https://github.com/espressif/esp-idf/pull/5638
2020-08-03 15:21:36 +08:00
Ivan Grokhotkov
16c73edc67
Merge branch 'refactor/add_alias_name_for_ets_common_api' into 'master'
...
esp_rom: extract common ets apis into esp_rom_sys.h
See merge request espressif/esp-idf!9701
2020-07-28 15:04:55 +08:00
Michael (XIAO Xufeng)
1aabab0160
Merge branch 'bugfix/i2c_const_function_signature' into 'master'
...
I2C: add const to signature of master_write function
Closes IDFGH-3324
See merge request espressif/esp-idf!9306
2020-07-27 16:31:20 +08:00
morris
2917651478
esp_rom: extract common ets apis into esp_rom_sys.h
2020-07-27 15:27:01 +08:00
morris
a4d0033c03
esp_rom: extract common GPIO apis into esp_rom_gpio.h
2020-07-07 11:40:19 +08:00
Peter Schaefer
f08743e452
Added const for pointer in master_write method, so that a const array can be passed to this fcn.
...
Signed-off-by: wubowen <wubowen@espressif.com>
Merges https://github.com/espressif/esp-idf/pull/5307
explicitly convert a const ptr to non-const because we actually don't modify it.
2020-07-06 03:37:39 +00:00
Michael (XIAO Xufeng)
661f4c430d
Merge branch 'feature/esp32s2_i2c_driver' into 'master'
...
Feature: Add esp32-s2 I2C driver.
Closes IDF-1278 and IDF-1026
See merge request espressif/esp-idf!7680
2020-03-26 10:20:40 +08:00
Jakob Hasse
3bcc6b48af
I2C: i2c.h/i2c.c applied new code formatting
2020-02-26 15:12:03 +08:00
houwenxiang
4883733472
driver(I2C): support esp32-s2 I2C driver.
2020-02-25 21:56:00 +08:00
Jakob Hasse
d230d44e2d
I2C: const correctness, checking SDA/SCL GPIOs
...
* const correctness in i2c_slave_write_buffer()
* i2c_set_pin() additionally checks whether
SDA and SCL pins are the same number
2020-02-24 14:30:28 +08:00
houwenxiang
aac935ec81
bugfix(i2c): fix I2C driver breaking change issue.
...
1. Fixed I2C driver breaking change issue.
2. Add I2C UT test case.
2019-12-04 15:51:36 +08:00
houwenxiang
28286183d1
feature(I2C): Add i2c hal support.
2019-11-21 20:34:07 +08:00
Angus Gratton
04ae56806c
Merge branch 'master' into feature/esp32s2beta_update
2019-08-08 15:26:58 +10:00
Anton Maklakov
afbaf74007
tools: Mass fixing of empty prototypes (for -Wstrict-prototypes)
2019-08-01 16:28:56 +07:00
chenjianqiang
667113cf94
feat(i2c): update i2c driver for esp32s2beta
2019-07-10 11:41:36 +08:00