Commit graph

970 commits

Author SHA1 Message Date
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
Ivan Grokhotkov
012f9702ad driver: make sure UART is idle before starting the test 2020-06-24 15:50:51 +02:00
morris
a34409cffc esp_rom: extract common CRC apis into esp_rom_crc.h 2020-06-23 16:40:14 +08:00
Michael (XIAO Xufeng)
eeeaba4b8e Merge branch 'bugfix/optimize_timer_ut' into 'master'
improve timer unit test case

See merge request espressif/esp-idf!6883
2020-06-18 02:04:43 +08:00
Ivan Grokhotkov
b48cc853fc Merge branch 'bugfix/fix_uart_UT_fail_issue' into 'master'
Bugfix (UART):  fix uart UT test fail issue

See merge request espressif/esp-idf!9146
2020-06-16 22:06:19 +08:00
chenjianqiang
cb4ed98df7 bugfix(timer): improve timer unit test case 2020-06-15 16:12:51 +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
houwenxiang
c7e4a284ae test(UART): fix uart tx with ringbuffer test fail issue 2020-06-15 12:03:24 +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
Michael (XIAO Xufeng)
099f2706aa Merge branch 'bugfix/fix_adc_dac_conflict' into 'master'
Driver(adc): Disable the synchronization operation function of ADC1 and DAC

Closes IDF-1585

See merge request espressif/esp-idf!8364
2020-06-03 12:41:50 +08:00
Michael (XIAO Xufeng)
d2bb1e1b75 Merge branch 'bugfix/fix_adc_dac_driver_ut' into 'master'
Driver(adc): fix adc driver and UT

See merge request espressif/esp-idf!8482
2020-06-02 17:46:45 +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
fuzhibo
d90e0e4345 driver(adc): fix unit test for ADC-DMA (test_esp32s2.c); fix unit test for ADC-DMA (test_esp32s2.c); fix commit in adc dirver. 2020-06-01 15:00:08 +08:00
houwenxiang
46713a5275 driver(uart): fix uart module reset issue
On ESP32, due to fifo reset issue, UART2 will work incorrectly if reset the fifo of UART1(TX fifo and RX fifo). The software can workaround the RX fifo reset issue,

        while the TX fifo reset issue can not. When UART2 is used and UART1 is used as the log output port, a software reset can reproduce this issue. So we should reset the UART memory

        before the software reset to solve this problem.
2020-06-01 11:01:26 +08:00
Michael (XIAO Xufeng)
f81da10951 Merge branch 'bugfix/sdmmc_check_slot_before_pullup' into 'master'
sdmmc: Correctly check function parameters before using them

Closes IDFGH-2967

See merge request espressif/esp-idf!8827
2020-05-27 23:08:01 +08:00
Michael (XIAO Xufeng)
0d90861984 Merge branch 'bugfix/fix_rmt_driver_breaking_change_issue' into 'master'
Bugfix(RMT):   Fix the breaking change issue of RMT driver.

Closes IDFGH-2837, IDFGH-2579, and IDFGH-2915

See merge request espressif/esp-idf!8006
2020-05-25 15:27:24 +08:00
Angus Gratton
084e170a8f Merge branch 'refactor/esp_ipc' into 'master'
Split esp_ipc to a seaparate component

Closes IDF-1295

See merge request espressif/esp-idf!8520
2020-05-25 15:03:04 +08:00
Alexander Borsuk
fb0fa34ac8 sdmmc: Correctly check function parameters before using them
Closes https://github.com/espressif/esp-idf/pull/5000
2020-05-20 13:09:05 +08:00
houwenxiang
0bf2906bc9 driver(RMT): Fix the breaking change issue of RMT driver introduced by refactoring.
After RMT driver refactor, two breaking change are introduced:

    1. Users needs to call `rmt_driver_install` before `rmt_config`.

    2. Do not support memory block count > 1,

    fix this two issues

    closes https://github.com/espressif/esp-idf/issues/4664

    closes https://github.com/espressif/esp-idf/issues/4959
2020-05-19 11:39:38 +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
Darian Leung
11d96b39d0 esp_ipc: Move to new component
This commit moves esp_ipc into a separate component.
2020-05-18 16:51:45 +08:00
Michael (XIAO Xufeng)
437a8fa9d2 Merge branch 'test/sdio_ut_performance_time' into 'master'
sdio: fix random unit test performance failure

See merge request espressif/esp-idf!8665
2020-05-14 16:19:45 +08:00
Michael (XIAO Xufeng)
94ce4836ae Merge branch 'bugfix/fix_gpio_wakeup_light_sleep' into 'master'
driver(gpio): fix gpio can't wakeup light sleep

Closes IDF-1361

See merge request espressif/esp-idf!8522
2020-05-14 11:45:40 +08:00
fuzhibo
d91e64cea4 driver(gpio): fix gpio can't wakeup light sleep 2020-05-12 07:15:13 +00:00
fuzhibo
8256b5f32b driver(adc): fix adc io init bug; add unit test to check; 2020-05-12 06:52:26 +00:00
Michael (XIAO Xufeng)
f10a721d88 sdio: fix the unit of performance test 2020-05-12 12:25:46 +08:00
Michael (XIAO Xufeng)
69d9e0eadc sdio: fix random unit test performance failure
The tests used to measure the throughput by FreeRTOS
`xTaskGetTickCount()`. The rounding error can be quite big, compared to
total measurement time (1350 ms for 4-bit mode).

This commit use `esp_timer_get_time()` instead to measure typical time,
which is in microseconds. Moreover, to get rid of the time error from
cache miss, `ccomp_timer_*` are used to get the cache compensated time
to measure the throughput used for unit test performance assertion.
2020-05-12 12:25:45 +08:00
Michael (XIAO Xufeng)
e04bb43b9f spi: suppress spi_bus_lock_touch log level
The log in the spi_bus_lock_touch may be annoying. This commit suppress 
the log level, and make the log visible only when the device altered.

Resolves https://github.com/espressif/esp-idf/issues/5056
2020-05-07 00:32:24 +08:00
Shubham Kulkarni
34d41645d3 touch_sensor.c: Fix datatype of argument for timer callback function 2020-05-04 13:26:58 +05:30
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
91e62f4e37 timer_group: update hal api && fix intr_enable
timer group interrupt enable is controled by level_int_ena instead of int_ena

Closes https://github.com/espressif/esp-idf/issues/5103
2020-04-23 19:29:15 +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
Jiang Jiang Jian
7d0f1536e4 Merge branch 'bugfix/fix_adc_init_code_setting_for_esp32s2' into 'master'
driver(adc): fix adc calibration for esp32s2

See merge request espressif/esp-idf!8209
2020-04-04 16:06:16 +08: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
Michael (XIAO Xufeng)
a0e66fef08 spi: fix the memory accessed while cache disabled issue in the bus lock when log level is verbose
When CONFIG_LOG_DEFAULT_LEVEL is verbose, the ESP_(EARLY_)LOGx will try
to print with format string and tag out of the DRAM while the cache is
disabled. This commit puts the TAG into DRAM, and uses the
'ESP_DRAM_LOGx` to fix the cache miss bug.

Also fixes a LoadProhibited issue when last_dev is NULL.
2020-04-03 15:04:52 +02: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
fuzhibo
dfbb108ab4 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-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)
16d6604ab4 Merge branch 'feature/spi_unit_test_slave_byte_length' into 'master'
spi: add unit test for slave receiving length

See merge request espressif/esp-idf!6357
2020-03-30 10:41:45 +08:00
Michael (XIAO Xufeng)
a304421124 Merge branch 'feat/spi_bus_lock' into 'master'
SPI: support running SPI master and esp_flash on the same bus

See merge request espressif/esp-idf!6520
2020-03-27 19:59:43 +08:00
Alex Lisitsyn
16e6e63694 driver: fix driver set rx timeout feature of uart
tout_thr - move calculation and masking into hal layer update driver and uart_ll (add uart_ll_set_rx_tout)
move tout calculation into uart_ll
move calculation of time out in bit time for esp32s2 into low level uart_ll.h file
move uart_hal_get_symb_len() into hal
update set_rx_timeout() to warn user about incorrect value
update HAL, LL 1
fix uart_xx_set_rx_tout() to convert symbol time into bit time
update param description
update tout calculation in LL
update uart_hal_get_max_rx_timeout_thrd() and uart_ll_get_max_rx_timeout_thrd()
2020-03-27 16:20:21 +08:00
Michael (XIAO Xufeng)
c91b53377b Merge branch 'bugfix/fix_uart_driver_missing_txfifo_reset_issue' into 'master'
bugfix(UART):  fix uart driver missing txfifo reset issue.

Closes IDFGH-2848

See merge request espressif/esp-idf!7992
2020-03-27 15:55:02 +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
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