Commit graph

498 commits

Author SHA1 Message Date
Rodrigo Garcia
18164e6f02
Fixes crash when calling twice end() (#8332) 2023-06-29 23:13:05 +03:00
Rodrigo Garcia
5548fbe02d
fixes ESP32-C3 WiFiProv and btInUse() (#8243) 2023-05-31 14:30:11 +03:00
Rodrigo Garcia
083db166a1
Fixes HWCDC::end() (#8247)
* Fixes HWCDC::end()

There is a missing `tx_lock = NULL;`

* Update HWCDC.cpp

Initialize rx_data_buf[] with zeros.
2023-05-31 14:11:17 +03:00
Luca Burelli
3ec5f4efa1
HardwareSerial: fix begin() lock issue on error path (#8182)
* HardwareSerial: fix begin() lock issue on error path

If the user supplied a wrong UART number, the begin() method would
return without releasing the lock. Add missing unlock call.

* removing unsed Case test

---------

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
2023-05-11 16:13:36 +03:00
Dirk O. Kaar
628b668c5c
Add overloads to support __FlashStringHelper like ESP8266 has them. (#8111)
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
2023-05-03 20:28:18 +03:00
David McCurley
5c92a0231b
BugFix FlashStringHelper Macros (#8147)
Revert to previous definition of `FPSTR` and `F` macros.
2023-05-03 19:49:04 +03:00
Rodrigo Garcia
a7bd6c9bc5
Fixes analogWrite (#8137)
* Fixes analogWrite

* sets cnt_channel index

* fixes TAB alligment
2023-05-03 19:46:12 +03:00
Rodrigo Garcia
85d179c63c
Apply this change to 2.0.9 (#8131)
* Fix the F_CPU frequency for the ESP32-S3

Hello, I was using the FastLED library and it was complaining about F_CPU not being defined. So, I just noticed that it is not defined for the ESP32-S3 module. So I made this change in the header file and it compiled. Therefore I wanted to propose this change to the HAL library to improve compatibility. Thank you for your time.

* Makes F_CPU generic based on the SoC frequency

Works for ESP32, ESP32C3, ESP32S2, ESP32S3

* Includes ESP32C3 in the F_CPU definition

Necessary for ESP32 Arduino Core 2.0.x based on IDF 4.4

---------

Co-authored-by: Ali Devrim OGUZ <11381547+devrim-oguz@users.noreply.github.com>
2023-05-03 19:42:55 +03:00
Dirk O. Kaar
b98255d8d1
Completely inline the helper pure abstract __FlashStringHelper class (#7941)
* Remove __FlashStringHelper from ESP32, it's not needed - all the files using it are different from their ESP8266 counterparts anyway.

* Revert removal of class __FlashStringHelper forward for continued compatibility with external libs

* Improved fix, works for libs that return const __FlashStringHelper*

* Inline all wrappers using const __FlashStringHelper*.
2023-04-06 13:32:21 +03:00
pswid
57b951a182
missing ESP32-D0WDR2-V3 added to getChipModel() (#7958)
* missing ESP32-D0WDR2-V3 added to getChipModel()

* added ESP32-D0WD-V3 variants to getChipModel()

* renamed ESP32-D2WDQ5 to ESP32-D2WD
2023-03-31 14:50:38 +03:00
Dirk O. Kaar
f275ce5563
Use enum for C++ to avoid macro pitfalls (#7926) 2023-03-31 14:32:48 +03:00
David McCurley
345e3c637a
WString Fix int64_t (#7765)
WString Fix int64_t

Fixed int64_t String support. Resolves issue #7760.

Background:
sprintf on esp32 doesn't support "%lld" parameter.  It's possible to recompile the underlying libraries to add that option, but I have an easier solution.
This has already been solved in ESP8266 version of WString by replacing sprintf() with itoa/ltoa/lltoa.

This PR does the following:
Fixes integer print issues by replacing sprintf() with itoa/ltoa/lltoa
Moves concat(long long num), concat(unsigned long long num) location (match ESP8266)
Cleans up code formatting (matches ESP8266)

Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
2023-02-15 14:22:30 +02:00
Rodrigo Garcia
1e3717bcdf
Adds pseudo random numbers generation (#7848) 2023-02-15 13:26:18 +02:00
Rodrigo Garcia
8873adb1a9
Sets correct code for UART baud rate detection (#7838) 2023-02-14 17:08:07 +02:00
Ha Thach
f69bbfeead
fix usb_switch_to_cdc_jtag() not re-enable USB D+ before reset (#7828) 2023-02-13 12:39:22 +02:00
davidk88
b31c9361ec
Add function timerAttachInterruptFlag (#7809) 2023-02-10 01:03:14 +02:00
David McCurley
0fa667226c
WString Return bool (#7774) 2023-02-08 11:54:32 +02:00
Clemens Kirchgatterer
d228da4a27
Remove (useless) trailing semicolon from Print.cpp (#7622) 2023-02-06 21:13:52 +02:00
Martin Turski
0c6222c0a3
bugfix: add <stdint.h> for uint8_t to avoid compilation failure (GCC 11.2.0) (#7744) 2023-02-06 14:43:22 +02:00
me-no-dev
94fd529e36 Update version prior to release 2022-12-21 18:54:30 +02:00
Rodrigo Garcia
2333df5ac6
Removes a few Warnings and fixes Math rand() to work like Arduino mainstream (#7613)
* fixes warnings and rand function

* removes extra space - style
2022-12-21 18:48:10 +02:00
Rodrigo Garcia
5dff15ce9d
Fixes inconsistencies and adds extended HardwareSerial examples (#7412)
* adds extended HardwareSerial examples

* Adds new example with Serial RxTimeout

* adds and improves Serial onReceive expamples

* adjust includes CMake - UART example

* adjust includes CMake - UART example

* fixes CMake and CI

* adds ESP/Serial to CMakeList

* adds ESP/Serial to CMakeList

* fixes demo include

* fixes BREAK demo

* fixes onReceive demo

* Changes FIFO Full criteria

Changed the "1-by-1" Serial only when baud rate is 57600 or lower.

* example code replacement

* replaces functions in hal
2022-12-21 18:47:17 +02:00
Rodrigo Garcia
1d595fd35c
Workaround for when USB CDC is unplugged (#7583)
* Workaround for when USB CDC is unplugged

* Considers default TX timeout

Sets back default TX timeout whenever USB is plugged, otherwise it is kept as zero.

* fixed left over code
2022-12-14 12:47:29 +02:00
Linar Yusupov
12038cb555
apply the same USB descriptor's iSerialNumber logic for ESP32-S2 as t… (#7563)
* apply the same USB descriptor's iSerialNumber logic for ESP32-S2 as the ESP32-S3 already has

* response on request from code reviewer
2022-12-13 12:33:49 +02:00
Rodrigo Garcia
7cbd0371e4
Improves UART reading performance (#7525)
* Improves UART reading performance

* overrides Stream::readBytes()

* fixes override signature

* adds some IDF error return  conditions
2022-12-13 11:54:07 +02:00
Rodrigo Garcia
99f66d3f87
fixes UART at lower than 80MHz | S3 C3 (#7496) 2022-12-13 11:49:59 +02:00
Sanket Wadekar
165d62472a
log_printf: Restructured log_printf for wrapping (#7567) 2022-12-12 15:01:55 +02:00
Linar Yusupov
9b880929df
do not use 'colon' sign in the iSerialNumber field of USB descriptor (#7225) 2022-12-08 11:04:21 -03:00
Jan Procházka
dbeae9480d
AnalogWrite - frequency and resolution log errors + returns (#7471)
* Added log errors + returns
* Update LEDC docs
2022-12-08 10:25:31 -03:00
Jan Procházka
9762b2392a
LEDC - AnalogWrite new API + ledcAttachPin duty fix (#7346) 2022-11-11 08:54:02 -03:00
Jan Procházka
7a76aded54
Add touch sleep wakeup API (#7439) 2022-11-09 14:17:46 -03:00
Jan Procházka
3c033236f7
[DOCS] Add TOUCH peripheral API (#7421)
* add touch.rst

* update touchRead comment in header file

* Edited examples

* typo changes + updates

* about edit
2022-11-04 09:12:52 +00:00
Rodrigo Garcia
2cebee4a40
fixes UART pin detach on end() (#7402) 2022-11-02 12:30:02 +02:00
me-no-dev
2d6ca351a3 Update Arduino version to 2.0.5 2022-09-17 08:39:27 +03:00
David McCurley
b473fc6976
Fix corrupt debug message in esp32-hal-cpu.c (#7264)
Issue: Serial data sent during frequency change is corrupted.
Fixes corrupt debug message by printing the message after the frequency change is completed.
2022-09-16 21:34:55 +03:00
Rodrigo Garcia
55d608e322
Adds noInterrupt() and interrupt() functionality (#7226)
* Adds noInterrupt() and interrupt() functionality

* Adds sei/cli

Adds back sei()/cli() macros

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
2022-09-15 15:48:07 +03:00
Rodrigo Garcia
dca1a1e6b3
Changes UART ISR to only trigger on RX FIFO Full and timeout (#6930)
* Changes UART ISR to only trigger on RX FIFO Full and timeout

* changes initial RX timeout

* Eliminates extra testing for _uart != NULL

* reconfiguration with "uartSetFastReading()"

* Adds new function "uartSetFastReading()"

* changed default onReceive() behaviour

* forces User callback in case of error

* Error Code Order

Set NO_ERROR as first error code, same as ESP_OK = 0
2022-09-15 15:12:40 +03:00
Jason2866
d4d145897a
Real flash chip mode (#7239) 2022-09-14 11:54:27 +03:00
Jason2866
37cbaeccb7
Get real Flash Chip Size (#7159)
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
2022-09-07 15:04:24 +02:00
Rodrigo Garcia
0130856b2a
Improves time for setting touch interrupt (#7099)
* Improves time for setting touch interrupt

* Fixes Interrupt Touchpad initialization

Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
2022-08-11 10:18:36 +02:00
Jan Procházka
285e898604
fixed 1bit mode duty (#7079) 2022-08-08 12:26:41 -03:00
Rodrigo Garcia
054e6b3d56
Fixes HardwareSerial::availableForWrite + setTxBufferSize (#6998) 2022-08-08 10:29:09 -03:00
Rodrigo Garcia
c996036e61
Adds an error message to HardwareSerial::setPins() (#7040)
* Adds an error message to HardwareSerial::setPins() 
In order to avoid problems if the user tries to setPins() before initializing the Serial port with begin()
2022-07-26 10:41:04 -03:00
Rodrigo Garcia
45f4bef989
Fixes Arduino Wire::begin overload (#7000)
Makes Wire::begin() fully compatible with Arduino mainstream (Master/Slave)
2022-07-26 06:53:47 -03:00
Vasko
cc8f4e5af6
Allow access to the PWM channel assigned to the Pin. Opportunity to change PWM configurations (#6992)
* Get channel assigned to the pin with analogWrite

* Respect coding standard in LEDC source file

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
2022-07-20 14:15:16 +02:00
santaimpersonator
05ae83a051
Improve RGB driver in pull #6808; solves #6968 (#6979)
* Improve RGB LED Driver

Replaces the use of the `LED_BUILTIN` variable by creating a new variable called `RGB_BUILTIN`. On boards with both a regular LED and RGB LED, this change provides functionality to control either LED.

The `LED_BRIGHTNESS` variable is changed to `RGB_BRIGHTNESS`, which aligns more closely with the `RGB_BUILTIN` variable name.

`BOARD_HAS_NEOPIXEL` is no longer necessary; it is replaced by `RGB_BUILTIN`.

* Update BlinkRGB example

Update example code for changes with the RGB driver:
- Replace `LED_BUILTIN` and `BOARD_HAS_NEOPIXEL` with `RGB_BUILTIN`
- Replace `LED_BRIGHTNESS` with `RGB_BRIGHTNESS`

* Update board variants

Update board variants for changes with the RGB driver:
- Remove `BOARD_HAS_NEOPIXEL`
- Define `RGB_BUILTIN` pin
- Replace `LED_BRIGHTNESS` with `RGB_BRIGHTNESS` to align with `RGB_BUILTIN` name

Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
Co-authored-by: Vojtěch Bartoška <76958047+VojtechBartoska@users.noreply.github.com>
2022-07-18 15:34:01 +02:00
Tomáš Pilný
097ff8b1f5
Implement simple RGB driver via digitalWrite; solving #6783 (#6808)
* Initial implementation of RGB driver via digitalWrite

* Moved constants to pins_arduino.h

* Changed pin definition + added example

* Wrapped BlinkRGB in #ifdef BOARD_HAS_NEOPIXEL

* Removed forgotten log from example

* Moved RGBLedWrite to new file esp32-hal-rgb-led and created pinMode in variatn.cpp

* Updated example - lowered single channel brightness to LED_BRIGHTNESS

* Changed function name from RGBLedWrite to neopixelWrite + code polishing

* Moved pinSetup portion related to RGB back to common file
2022-06-24 14:04:03 +03:00
Tomáš Pilný
29b8c873c0
Fixing Tone (#6898) 2022-06-24 13:52:29 +03:00
Me No Dev
99520f66f6
Fix fail to set single byte that contains the slave address (#6840)
Checking here really does not work when called from within `onRequest`
2022-06-07 04:50:33 +03:00
Michael Ammann
548412952b
CTS / RTS pins were swapped in this API (#6816)
espressif/esp-idf / components/driver/include/driver/uart.h defines the API:
esp_err_t uart_set_pin(uart_port_t uart_num, int tx_io_num, int rx_io_num, int **rts_io_num**, int **cts_io_num**);
uartSetPins uses that api but alls it with swapped CTS/RTS pins as its API uses a different pin ordering: 
uart_set_pin(uart->num, txPin, rxPin, **ctsPin**, **rtsPin**); 

This fixes the wrong order in the function uartSetPins
2022-05-28 01:15:53 +03:00