Commit Graph

30 Commits

Author SHA1 Message Date
Me No Dev
2fd39b1aff
Handle APB frequency change (#2250)
* Add APB change callbacks and move cpu code to own file

* Properly set esp_timer and FreeRTOS tick dividers

* Improve updated devisors

* No need to update REF_TICK yet

* Add initial handling for UART baud change

* fix uartWriteBuf and uartDetectBaudrate

* trigger callbacks even when APB did not change

* toggle UART ISR on CPU change

* add XTAL freq getter and add cpu freq validation

* Support CPU frequency changes in I2C (#2287)

**esp32-hal-i2c.c**
* add callback for cpu frequency changes
* adjust fifo thresholds based on cpu frequency and i2c bus frequency
* reduce i2c bus frequency if differential is too small
**Wire.h**
* version to 1.1.0

* Implement clock change for the other peripherals

* remove bad CPU clock values from the menu

* Add note to CPU freqs that support WiFi and BT
2019-01-09 10:07:54 +01:00
atanisoft
4f9a90fa0e fix #2232 and #2033 (#2233) 2018-12-23 19:06:43 +02:00
Me No Dev
c827bb4177
CPU and APB Frequency support (#2220)
* Add support to HAL for APB frequencies different than 80MHz

* Add support for CPU frequencies in the IDE board menu

* Switch to fast set_config

* Add method to uart so debug can be reassigned after apb frequency switch

* Return real APB frequency
2018-12-20 01:57:32 +01:00
Bert Melis
44ca2ee976 Fix uart TX flushing (#2029)
wait for FSM to return idle
2018-11-19 17:04:05 +01:00
Jeroen88
233d31bed2 Added baudrate detection to esp32-hal-uart and HardwareSerial (#1961)
* Added baudrate detection to esp32-hal-uart and HardwareSerial

* Solved compiler warning for uartResizeRxBuffer()

* Add unit to header variable name (timeout_ms)

* Reverting accidentally changed files to master

* Add small delay after baudrate detection
2018-11-19 16:51:55 +01:00
Baruch Nissenbaum
a6a9a518a7 _uart_isr use wr_addr != rd_addr as test for internal queue not empty (#1849) 2018-09-17 21:19:51 +02:00
Adam Coddington
ce61074802 Add functionality allowing rxBuffer of HardwareSerial to be changed in size via HardwareSerial::setRxBufferSize. (#1855) 2018-09-17 21:16:18 +02:00
chemicstry
12ca9e8b52 Port UART reset fix from ESP-IDF (#1408) 2018-07-03 17:54:08 +02:00
mtabu
aa1288aa6e HardwareSerial - availableForWrite() support (#1226)
* HardwareSerial - availableForWrite() support

* fix indentation errors (tab vs space)
2018-04-06 19:07:46 +03:00
me-no-dev
db77195404 Fix Serial 2017-09-27 13:50:05 +08:00
me-no-dev
e2bd93c092 Fix UART0 not able to read/available 2017-09-22 14:17:25 +08:00
me-no-dev
59a6800cdf Enable clocks for UART1 and 2
Recent change in IDF disables those clocks at boot. This change should
help with that.

Fixes: https://github.com/espressif/esp-idf/issues/975
2017-09-10 20:24:41 +03:00
me-no-dev
77b03472c6 Set uart queue to NULL after free
Fixes: https://github.com/espressif/arduino-esp32/issues/435
2017-08-17 19:04:20 +03:00
Pranav Cherukupalli
41e36a72f3 uartEnd: Unlock mutex before detaching rx and tx (#554)
* uartEnd: Unlock mutex before detaching rx and tx

This should solve the device freezing issue when Serial.end() is called

* Unlock UART MUTEX only for detaching Rx and Tx

* Thanks to @me-no-dev for pointing it out that
   uart->dev->conf0.val can be inside mutex lock
2017-08-04 12:00:51 +03:00
me-no-dev
a1bef8b5c3 improve Serial repeated begin/baud change 2017-08-02 00:32:42 +03:00
Claude Heintz
23acb4d17b Two Stop Bit Workaround (#461)
* Update esp32-hal-uart.c

* Two Stop Bit Workaround

see https://github.com/espressif/esp-idf/blob/master/components/driver/uart.c  lines 118-127
2017-06-22 19:40:31 +02:00
me-no-dev
c2f83f48e0 Revert "Fix enable Update partition"
This reverts commit 63e1daa5ea67ce0f9b89b789e4bb26672f64d32e.
2017-06-03 20:11:41 +03:00
me-no-dev
2e5743eaa1 Fix enable Update partition 2017-06-03 20:11:41 +03:00
me-no-dev
4b47402afd Use static buffer for log_printf 2017-05-15 20:53:45 +03:00
me-no-dev
f5d6828c5a Adjust interrupt numbers for GPIO and Touch 2016-12-09 13:22:56 +02:00
me-no-dev
c30012ab78 Add Kconfig for IDF and option to disable HAL mutexes
IDF Options:
- Autostart Arduino (implements app_main)
- Disable HAL locks
- Set HAL debug level
- Auto-connect STA if configured (else will connect after WiFi.begin())
2016-11-18 15:07:25 +02:00
me-no-dev
bfe6e5ae77 optimize log facility for multi threading
- Shorten filenames
- Add log_printf with mutex locking to play nice with Serial and two
cores
2016-11-13 13:40:31 +02:00
me-no-dev
fb8f1244b7 wrong count checked for uartWrite 2016-10-29 14:34:18 +03:00
me-no-dev
6327bbd3e9 do not lock for ets_printf 2016-10-17 15:34:55 +03:00
me-no-dev
242bca9451 Implement thread-safe uart 2016-10-14 03:07:21 +03:00
me-no-dev
17c8ceb1b9 UART rework
many possible problems fixed in preparation for thread-safe
2016-10-14 03:02:40 +03:00
me-no-dev
658f81b792 attach uart isr on the current core 2016-10-11 11:16:43 +03:00
me-no-dev
1cc9f3bfef fix Serial RX
This trick does not fix GPIO interrupts. Different INUM maybe for GPIO
on APP cpu
2016-10-11 03:59:34 +03:00
me-no-dev
fb4f1333d2 Fix UART writeBuf and flush 2016-10-06 16:31:28 +03:00
me-no-dev
5f3a205955 initial import 2016-10-06 07:09:44 -06:00