Darian Leung
4c57f50fe4
TWAI: ISR runs when cache is disabled
...
This commit adds the feature where the TWAI ISR will continue to
run even if the cache is disabled. Whilst cache is disabled, any
received messages will go into the RX queue, and any pending TX
messages in the TX queue will be transmitted. This feature should
be enabled using the CONFIG_TWAI_ISR_IN_IRAM option.
2020-10-10 14:19:32 +08:00
Michael (XIAO Xufeng)
91af5eaf4f
Merge branch 'refactor/twai_hal_state' into 'master'
...
Refactor TWAI HAL to store state information
Closes IDF-1633
See merge request espressif/esp-idf!9789
2020-09-03 23:22:30 +08:00
Wu Bo Wen
658b56a690
doc/adc: modifications in the adc documentation and adc headers
2020-09-02 11:30:48 +00:00
Darian Leung
7398390049
TWAI: Track HW state in HAL
...
This commit refactors the TWAI HAL such that it
now tracks harwdare state instead of the driver
layer. Some HAL and LL cleanup was also done.
2020-09-02 13:03:41 +08:00
Michael (XIAO Xufeng)
2b323e7180
Merge branch 'bugfix/fix_dac_driver_ut' into 'master'
...
Driver(dac): fix DAC-DMA driver and unit test
Closes IDF-1407
See merge request espressif/esp-idf!8814
2020-08-31 00:05:34 +08:00
fuzhibo
0914dfbb6a
dfiver(dac): add dac dma driver and unit test
2020-08-26 06:23:24 +00:00
fuzhibo
bd92e95160
driver(adc): add adc-dma code for esp32
2020-08-26 03:54:02 +00:00
dongyou
97ae87df41
wifi, bt: move esp_phy_common_clock_disable into periph_ctrl and put it into IRAM
...
Replace periph_module_enable/disable by periph_wifi_bt_common_module_enable which are in IRAM.
AddIRAM_ATTR periph_ll_wifi_bt_module_enable_clk_clear_rstandIRAM_ATTR periph_ll_wifi_bt_module_disable_clk_set_rstto fit O0 optimization level.
Delete duplicated spinlock and counter.
2020-08-05 11:04:16 +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
Michael (XIAO Xufeng)
f6dd63d03d
spi_slave_hd: new driver for spi slave in half duplex mode
2020-07-11 00:00:50 +08:00
Michael (XIAO Xufeng)
a50ea8ad55
spi: allow force pins being configured throug GPIO matrix
2020-07-11 00:00:47 +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
fuzhibo
8d922847af
driver(adc): esp32s2 support API adc2_vref_to_gpio
2020-07-01 06:21:45 +00:00
Darian Leung
97721d469c
TWAI: Add ESP32-S2 support
...
This commit adds TWAI driver support for the
ESP32-S2. The following features were added:
- Expanded BRP support
- Expanded CLKOUT Divider Support
- Updated example READMEs
2020-06-30 16:56:03 +08:00
Michael (XIAO Xufeng)
0d725c14cc
Merge branch 'bugfix/fix_uart_read_write_different_in_buffer_type_issue' into 'master'
...
Bugfix(driver): fix uart_read_byte and uart_write_byte different in buffer type issue
Closes IDFGH-2418
See merge request espressif/esp-idf!8925
2020-06-15 15:55:53 +08:00
Angus Gratton
1c09cb6769
Merge branch 'bugfix/doc_macro_definitions' into 'master'
...
doc: Fix macro definitions for different targets
See merge request espressif/esp-idf!8999
2020-06-12 16:37:41 +08:00
Angus Gratton
8193b188e8
driver: Fix some doxygen warnings
2020-06-12 14:31:37 +10:00
chenjianqiang
c11621e64e
timer: add return task awoken for timer callback
2020-06-11 16:02:55 +08:00
houwenxiang
61e3259f22
Driver(UART): fix uart_read_byte and uart_write_byte different in buffer type issue.
2020-06-10 16:22:06 +08:00
fuzhibo
3cc2d0e9a4
Driver(adc): Disable the synchronization operation function of ADC1 and DAC
...
Closes IDF-1585
2020-06-01 16:23:47 +08:00
houwenxiang
b35d9002f3
driver(I2S): Fix i2s_comm_format_t configuration parameter does not match the TRM bug.
...
When I2S `i2s_comm_format_t` is set to `I2S_COMM_FORMAT_I2S_MSB`, the data should launch at first BCK. But not in fact, this MR fixed this issue.
For compatibility, several nwe parameters have been added, and the old parameters will be removed in the future.
closes https://github.com/espressif/esp-idf/issues/5065
closes https://github.com/espressif/esp-idf/issues/4957
closes https://github.com/espressif/esp-idf/issues/2978
closes https://github.com/espressif/esp-idf/issues/5136
Merges https://github.com/espressif/esp-idf/pull/4522
2020-05-18 19:55:30 +08:00
Michael (XIAO Xufeng)
9d98111652
Merge branch 'bugfix/spi_bus_lock_missing_semphrstatic' into 'master'
...
spi: fix config break and reduce overhead of the bus lock on SPI1
Closes IDFGH-3017
See merge request espressif/esp-idf!8221
2020-04-27 12:57:19 +08:00
morris
e0b9f7be6d
periph_clk_gating: add reference counter
2020-04-23 19:29:15 +08:00
michael
fdf983e0c4
spi: fix config break and reduce overhead of the bus lock on SPI1
...
The SPI bus lock on SPI1 introduces two side effects:
1. The device lock for the main flash requires the
`CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION` to be selected, however this
option is disabled by default in earlier IDF versions. Some developers
may find their project cannot be built by their old sdkconfig files.
2. Usually we don't need the lock on the SPI1 bus, due to it's
restrictions. However the overhead still exists in this case, the IRAM
cost for static version of semaphore functions, and the time cost when
getting and releasing the lock.
This commit:
1. Add a CONFIG_SPI_FLASH_BYPASS_MAIN_LOCK option, which will forbid the
space cost, as well as the initialization of the main bus lock.
2. When the option is not selected, the bus lock is used, the
`CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION` will be selected explicitly.
3. Revert default value of `CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION`
to `n`.
introduced in 49a48644e4
.
Closes https://github.com/espressif/esp-idf/issues/5046
2020-04-22 16:06:13 +08:00
dowster
7b02fdf45a
Fix typo with sigmadelta.h #ifdef
2020-04-17 22:52:00 -05:00
fuzhibo
406b8f423d
driver(adc): add adc initial code before app_main for esp32s2.
...
update phy v301
2020-04-04 10:15:30 +08:00
fuzhibo
baa7898e35
driver(adc/dac): fix adc dac driver for esp32s2
...
1. update register file about adc; 2. fix adc driver; 3. add UT for adc/dac;
See merge request espressif/esp-idf!7776
2020-04-01 12:41:51 +08:00
Alex Lisitsyn
3abdd2207d
freemodbus: fix long buffer failure
...
check master read write functions with array of registers)
fix master serial processing code and modbus controller to work with register array
modbus_master: add reading and writing of test value array (58 registers) to check failure is gone
remove parameter temporary buffer from modbus controller to allow more than 24 byte writes
driver: fix issue with TOUT feature
driver: fix uart_rx_timeout issue
driver: fix issue with rxfifo_tout_int_raw not triggered when received fifo_len = 120 byte and all bytes read out of fifo as result of rxfifo_full_int_raw
driver: add function uart_internal_set_always_rx_timeout() to always handle tout interrupt
examples: call uart_internal_set_always_rx_timeout() to handle tout interrupt correctly
examples: update examples to use tout feature
driver: reflect changes of uart_set_always_rx_timeout() function, change uart.c
driver: change conditions to trigger workaround for tout feature in uart.c
driver: change uart_set_always_rx_timeout()
freemodbus: fix tabs, remove commented code
driver: remove uart_ll_is_rx_idle()
2020-03-30 22:05:48 +08:00
Michael (XIAO Xufeng)
49a48644e4
spi: allow using esp_flash and spi_master driver on the same bus
2020-03-26 22:08:26 +08:00
Michael (XIAO Xufeng)
826cc7ecb6
Merge branch 'feature/bringup_723_cmake_rmt_driver_update' into 'master'
...
RMT new features in ESP32S2
Closes IDF-1286
See merge request espressif/esp-idf!7401
2020-03-26 10:24:18 +08:00
fuzhibo
340563f479
Driver(touch): fix touch sensor driver for esp32s2.
...
1.update touch sensor driver for esp32s2;
2.update unit test for touch sensor;
3.update register files about touch sensor;
2020-03-25 22:45:57 +08:00
morris
4fc16e2374
rmt: prefix caps name with SOC_
2020-03-25 17:14:00 +08:00
morris
0c17af3ea4
rmt: support tx loop count
2020-03-25 17:14:00 +08:00
morris
dc91aa9786
rmt: support tx in a group
2020-03-25 17:13:59 +08:00
morris
fa167eb0c5
rmt: test tx/rx ping-pong mode
2020-03-25 17:13:47 +08:00
morris
855b316045
rmt: better support rx demodulation
2020-03-25 13:19:03 +08:00
morris
c91565d538
rmt: update rmt ll APIs
2020-03-25 13:19:03 +08:00
chenjianqiang
ecbe0dad1b
driver/rmt: new features on esp32s2
...
1. add receive carrier remove function
2. add pingpong receive function
2020-03-25 13:19:03 +08:00
Angus Gratton
a9854f7085
Merge branch 'feature/rmt_clock_support_ref_tick' into 'master'
...
rmt: support ref tick && refactor unit test && re-enable unit test on ESP32-S2
Closes IDFGH-1715
See merge request espressif/esp-idf!7614
2020-03-06 15:03:52 +08:00
morris
0e4d82bc55
rmt: support REF_TICK as channel clock source
...
Closes https://github.com/espressif/esp-idf/pull/3952
2020-03-03 20:14:46 +08:00
xiongyu
b3ae9fa978
bugfix(i2s): Updated ESP32-S2 ADC DAC support
...
* Delete the relevant codes of ADC DAC of ESP32-S2.
2020-03-03 12:59:30 +08:00
xiongyu
faf898b659
bugfix(i2s): fix driver ut i2s
...
* Add test support for ESP32S2
* Add loop back test
* Support chip internal connection, no external wiring required.
* Delete the relevant codes of PDM of ESP32-S2 ll layer.
* fix dac dma mode issue
2020-03-03 11:58:53 +08:00
morris
580ce8fa4a
driver: clean pcnt.h i2s.h
2020-03-02 19:31:29 +08:00
xiongyu
4d5c950770
bugfix(pcnt): fix driver ut pcnt
...
* Let `[ignore] case` return to freedom
1) Because this test uses its own ISR, we need to release it with `esp_intr_free` instead of `pcnt_isr_service_uninstall`.
2) `pcnt_evt_queue` needs to be created before the interrupt is registered and needs to be released at the end of each case.
* Add test support for ESP32S2
* Support chip internal connection, no external wiring required.
2020-02-26 16:52:53 +08:00
Jakob Hasse
3bcc6b48af
I2C: i2c.h/i2c.c applied new code formatting
2020-02-26 15:12:03 +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
Paul Abbott
b75e3de447
Bugfix(LEDC): Add missing ledc_set_pin declaration in led.h
...
Merges https://github.com/espressif/esp-idf/pull/4632
2020-02-19 16:02:33 +08:00
Krzysztof Budzynski
41bc06b9b9
Merge branch 'bugfix/docs_ledc' into 'master'
...
drivers: Remove high speed mode from LEDC docs for ESP32-S2, update headers to match
See merge request espressif/esp-idf!7532
2020-02-17 05:00:36 +08:00
Michael (XIAO Xufeng)
067f3d21c9
sdspi, vfs_fat: allow sharing SPI bus among devices, and mounting multiple SD cards
2020-02-12 15:16:08 +08:00
Angus Gratton
ea34f3bb27
drivers: Remove high speed mode from LEDC docs for ESP32-S2, update headers to match
2020-02-11 14:36:47 +11:00
Angus Gratton
11fac8637a
docs: Resolve doxygen & Sphinx warnings
2020-02-07 16:37:45 +11:00
Felipe Neves
429712c6eb
freertos: moved all xtensa specific files into a separated folder
2020-01-27 16:05:30 -03:00
morris
e30cd361a8
global: rename esp32s2beta to esp32s2
2020-01-22 12:14:38 +08:00
Ivan Grokhotkov
2c3e6481bb
Merge branch 'feature/ci_check_cpp_guards' into 'master'
...
ci: add job to check for C++ guards in header files
Closes IDF-288
See merge request espressif/esp-idf!7050
2020-01-21 17:18:23 +08:00
Roland Dobai
a9c4dab4d3
VFS: Check in select() if the UART driver is installed or not
...
Closes https://github.com/espressif/esp-idf/issues/4627
2020-01-14 13:52:27 +01:00
David Cermak
ff0128dd02
drivers: fixed c++ guards in driver public headers
2020-01-10 09:44:39 +01:00
Darian Leung
a049e02d96
can: Refactor CAN to use HAL and LowLevel layers
...
The following commit refactors the CAN driver such that
it is split into HAL and Lowlevel layers. The following
changes have also been made:
- Added bit field members to can_message_t as alternative
to message flags. Updated examples and docs accordingly
- Register field names and fields of can_dev_t updated
2020-01-09 16:13:51 +08:00
michael
f676a3b190
driver, soc: update multichip support headers
2020-01-06 17:13:54 +08:00
Kirill Chalov
ab6311c548
Reveiw the file api-reference/peripherals/i2s.rst
2019-12-29 21:05:57 +00:00
boarchuz
5dc10a4191
Add missing extern "C" to rtc_cntl.h
...
Related: https://github.com/espressif/arduino-esp32/issues/3149
2019-12-21 12:12:54 +11:00
kewal shah
eec8212237
add simplified API to set UART threshold values for RX FIFO full and TX FIFO empty
2019-12-16 20:26:04 +00:00
Michael (XIAO Xufeng)
0ec08ca21b
sdio_slave: support HAL layer
2019-12-13 18:33:15 +08:00
morris
01ca687caa
esp32s2beta: only support unicore
2019-12-09 09:48:37 +08:00
Wang Jia Lin
1ffcb54444
Merge branch 'bugfix/fix_esp32-s2_rtc_io_issue' into 'master'
...
bugfix(gpio): fix esp32 s2 rtc io issue and gpio testcase issues
See merge request espressif/esp-idf!6832
2019-12-03 11:17:41 +08:00
Fu Zhi Bo
3a468a1ffd
Refactor the touch sensor driver
2019-11-27 20:08:44 +08:00
xiongyu
af4c455417
bugfix(gpio):fix esp32 s2 rtc io issue
...
* Modify the function implementation of ESP32-S2 RTC GPIO
On ESP32 those PADs which have RTC functions must set pullup/down/capability via RTC register.
On ESP32-S2, Digital IOs have their own registers to control pullup/down/capability, independent with RTC registers.
* Add ESP32-S2 support of unit test
* Modify the pull-up test of unit test
* Modify the interrupt test of unit test
* Modify input and output mode test of unit test
2019-11-27 17:18:20 +08:00
houwenxiang
f27ae9b0e2
feature: Add uart hal support.
2019-11-26 20:01:50 +08:00
Angus Gratton
f2a1a6105a
Merge branch 'feat/mcpwm_hal'
...
Manual merge of !6626
2019-11-25 17:18:48 +11:00
Angus Gratton
6dd36fd571
Merge branch 'refactor/hal_gpio_driver'
...
Manual merge of !5597
2019-11-25 10:49:40 +11:00
michael
538540ce21
mcpwm: add HAL layer support
...
Also improved the unit tests a bit.
2019-11-25 00:36:30 +08:00
xiongyu
a3b79e9202
refactor(gpio): add hal gpio driver
2019-11-22 17:24:53 +08:00
fuzhibo
f49b192a5e
refactor the adc driver
2019-11-22 15:42:16 +08:00
fuzhibo
03ac1aaafd
dac: refactor driver add hal
2019-11-22 11:44:46 +08:00
houwenxiang
28286183d1
feature(I2C): Add i2c hal support.
2019-11-21 20:34:07 +08:00
chenjianqiang
857dec108d
feat(ledc): refactor ledc driver
...
1. add hal and low-level layer for ledc driver
2. support esp32s2beta ledc
2019-11-21 16:25:22 +08:00
chenjianqiang
9f9da9ec96
feat(timer): refator timer group driver
...
1. add hal and low-level layer for timer group
2. add callback functions to handle interrupt
3. add timer deinit function
4. add timer spinlock take function
2019-11-21 14:14:19 +08:00
xiongyu
e62b831867
refactor(sigmadelta): add hal sigmadelta driver
2019-11-21 11:53:07 +08:00
fuzhibo
0c2bf7c8bc
rtcio: add hal for driver
2019-11-21 10:40:49 +08:00
Angus Gratton
b30b0e59fa
Merge branch 'feature/add_rmt_hal' into 'master'
...
rmt: add hal layer and new examples
Closes IDF-841, IDF-844, and IDF-857
See merge request espressif/esp-idf!5649
2019-11-21 09:53:54 +08:00
morris
8fd8695ea1
rmt: add HAL layer
2019-11-20 10:54:21 +08:00
xiongyu
8c76a3c10d
refactor(i2s): add hal i2s driver
2019-11-19 22:19:19 +08:00
Wang Jia Lin
7494877b1c
Merge branch 'refactor/hal_pcnt_driver' into 'master'
...
refactor(pcnt): add hal pcnt driver
See merge request espressif/esp-idf!5600
2019-11-19 17:22:49 +08:00
xiongyu
b1a72866ca
refactor(pcnt): add hal pcnt driver
2019-11-18 14:35:46 +08:00
Krzysztof Budzynski
1487bd2edd
docs: Replaced 'attenuaton' with 'attenuation'
2019-11-18 12:10:55 +08:00
David Cermak
2e0d6d0e6a
uart: make uart_driver_install() more backward compatible, so if the interrupt handler configured to be in IRAM and not flagged in intr_alloc_flags argument, then the flag is gracefully updated rather then error return
2019-11-11 15:27:09 +00:00
Angus Gratton
8569d51651
Merge branch 'bugfix/fix_i2s_include_head_bug' into 'master'
...
Bugfix(I2S): Fix i2s build error
See merge request espressif/esp-idf!6512
2019-10-29 13:19:00 +08:00
Romain
5491365874
Fix build error semphr.h:74:3: error: #error "include FreeRTOS.h" must appear in source files before "include semphr.h"
...
FreeRTOS.h must always be included before semphr.h
Merges https://github.com/espressif/esp-idf/pull/4251
2019-10-28 12:21:26 +08:00
Angus Gratton
ae21d669b9
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-17 18:22:08 +11:00
Darian
820fd6447d
can: Add support for lower bit rates
...
This commit adds support for lower bit rates in the CAN Driver for
ESP32 Rev 2 or later chips.
2019-10-17 12:33:17 +08:00
Angus Gratton
496ede9bcd
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-15 14:59:27 +11:00
Michael (XIAO Xufeng)
afbe1ba878
spi: move deprecated functions into internal header
...
Resolves https://github.com/espressif/esp-idf/issues/4132
2019-10-08 11:51:39 +08:00
Angus Gratton
adfc06a530
Merge branch 'master' into feature/esp32s2beta_merge
2019-09-20 10:28:37 +10:00
Angus Gratton
438d513a95
Merge branch 'master' into feature/esp32s2beta_merge
2019-09-16 16:18:48 +10:00
Angus Gratton
9d19f4fc8e
driver docs: Fix some doxygen warnings
2019-09-13 14:30:06 +10:00
Angus Gratton
f406d020d8
driver: Remove features deprecated pre-IDF V4.0
2019-09-13 09:44:07 +10:00
Michael (XIAO Xufeng)
3b39e60f97
driver: remove unused drivers for esp32s2beta
2019-09-04 10:53:25 +10:00
Martin Thierer
3bb42d0736
spi: Put argument of macro SPI_SWAP_DATA_TX/RX in parentheses
...
Close https://github.com/espressif/esp-idf/pull/3996
2019-09-03 15:21:23 +08:00
Angus Gratton
6990a7cd54
Merge branch 'master' into feature/esp32s2beta_update
2019-08-19 15:03:43 +10:00
Angus Gratton
ee6b1399aa
Merge branch 'feature/exclude_rom_from_example_header_files' into 'master'
...
exclude rom headers in examples
Closes IDF-557
See merge request espressif/esp-idf!5051
2019-08-15 10:50:01 +08:00