Skip to content
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

Serial::end hang #5047

Merged
merged 1 commit into from
Apr 15, 2021
Merged

Serial::end hang #5047

merged 1 commit into from
Apr 15, 2021

Conversation

lbernstone
Copy link
Contributor

workaround for #5043. There is a timing issue with HardwareSerial::end. I'm not sure what is hung, but it should be possible to see this in jtag, as it does cause a reboot if you let it. The delay needs to be before you detach the device!?

@me-no-dev me-no-dev merged commit 81b7c47 into espressif:master Apr 15, 2021
@thorv
Copy link

thorv commented Apr 15, 2021

Even after applying that change, the program in #5043 still hangs on my ESP32 devkit-c / Arduino lib 1.0.6 .

@lbernstone lbernstone deleted the serial_hang branch April 17, 2021 13:20
TD-er added a commit to TD-er/ESPEasy that referenced this pull request Apr 27, 2021
When calling Serial::begin() (on ESP32) you apparently need to give all parameters or else it may use default parameters (makes no sense!)
Serial::end() may cause a hang or crash -> timing issue

See crash/hang:
- espressif/arduino-esp32#5047
- espressif/arduino-esp32#5004
- espressif/arduino-esp32@81b7c47
- espressif/arduino-esp32#5112
- espressif/arduino-esp32#5032

Switch back to default:
- espressif/arduino-esp32#5026
@VojtechBartoska VojtechBartoska added this to the 2.0.0 milestone Jul 14, 2021
@SuGlider
Copy link
Collaborator

SuGlider commented Jul 14, 2021

This issue is related to issue #5112
Actually the issue #5112 occurs when HardwareSerial::end() is called in Serial::begin().
PR #5385 should solve the issue #5047 as well.

Issue can now be closed.

@SuGlider SuGlider self-assigned this Jul 19, 2021
me-no-dev pushed a commit that referenced this pull request 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.
@ZinggJM
Copy link

ZinggJM commented Nov 21, 2021

I still get posts related to this issue: #5043.

Please re-open the issue, so other users can give it a "booster shot"!

See e.g. https://forum.arduino.cc/t/esp32-e-paper-display-upload-but-no-output/927375/3

@SuGlider
Copy link
Collaborator

@ZinggJM
Why reopen this issue?
It is solved in Arduino Core v2.0.0+

Are you still using core 1.0.6 or PlatformIO (which is still using 1.0.6)?

@ZinggJM
Copy link

ZinggJM commented Nov 22, 2021

Yes, the installed version is 1.0.6 on Arduino IDE 1.8.15.
The highest version the Arduino Boards Manager offers is 1.0.6.
I usually update boards and libraries when the Arduino IDE reports updates available.

@me-no-dev
Copy link
Member

@ZinggJM you are probably using the old board manager link. Please update it: https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#installing-using-boards-manager

@ZinggJM
Copy link

ZinggJM commented Nov 22, 2021

Yes, like so many others, I assume!
With the new link I get an error message when opening Boards Manager:

Skipping contributed index file C:\Users\ZinggJ\AppData\Local\Arduino15\installing.html, parsing error occured:
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: (FileInputStream); line: 1, column: 2]
Skipping contributed index file C:\Users\ZinggJ\AppData\Local\Arduino15\installing.html, parsing error occured:
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: (FileInputStream); line: 1, column: 2]

@me-no-dev
Copy link
Member

This error is not related to our link. You are the first to report such issue. Maybe some issue with firewall or downloading?

@ZinggJM
Copy link

ZinggJM commented Nov 22, 2021

I will check again on a different notebook.

Please note that https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls
still has Espressif ESP32: https://dl.espressif.com/dl/package_esp32_index.json

@ZinggJM
Copy link

ZinggJM commented Nov 22, 2021

With the line removed, the error went away.

@ZinggJM
Copy link

ZinggJM commented Nov 22, 2021

Aha, your link is a link to the link, not the link itself. Thanks.

@me-no-dev
Copy link
Member

@ZinggJM thanks for noting the old link in Arduino. I have updated it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants