Skip to content

HardwareSerial: re-implement based on ESP-IDF UART driver #5403

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
igrr opened this issue Jul 16, 2021 · 0 comments · Fixed by #5549
Closed

HardwareSerial: re-implement based on ESP-IDF UART driver #5403

igrr opened this issue Jul 16, 2021 · 0 comments · Fixed by #5549
Assignees
Labels
Area: Peripherals API Relates to peripheral's APIs. Status: Solved
Milestone

Comments

@igrr
Copy link
Member

igrr commented Jul 16, 2021

To make porting the core to the new chips easier, HardwareSerial should be implemented on top of the ESP-IDF driver. Task is to:

  • Investigate if:

    1. ESP-IDF uart driver provides sufficient functionality for HardwareSerial to work
    2. doesn't require significantly more resources than the current implementation
    3. doesn't result in significantly worse performance in common scenarios

    If the answer to any of these is no, consider using uart_hal from ESP-IDF hal component, instead.

  • Port HardwareSerial to the UART driver (or hal) and add test coverage.

@igrr igrr added the Status: To be implemented Selected for Development label Jul 16, 2021
@VojtechBartoska VojtechBartoska added this to the 2.0.1 milestone Jul 29, 2021
me-no-dev pushed a commit that referenced this issue Aug 23, 2021
## Summary
This PR is a complete reffactoring of UART Serial Hardware and respective HAL in order to use IDF instead of current Register manipulation approach. 

It  implements Arduino SerialEvent functionality. 

Fix #5287  
Fix #5273 
Fix #5519 
Fix #5247 
Fix #5403
Fix #5429
Fix #5047
Fix #5463
Fix #5362 
Fix #5112  
Fix #5443 

## Impact
It solves many reported issues related to UART.
It was tested and works fine for ESP32, ESP-S2 and ESP32-C3.
@VojtechBartoska VojtechBartoska added the Area: Peripherals API Relates to peripheral's APIs. label Dec 13, 2021
@VojtechBartoska VojtechBartoska added Status: Solved and removed Status: To be implemented Selected for Development labels Apr 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Peripherals API Relates to peripheral's APIs. Status: Solved
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants