Skip to content

HardwareSerial bugfix & improvement #3713

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

Merged
merged 2 commits into from
May 5, 2020

Conversation

hreintke
Copy link
Contributor

@hreintke hreintke commented Feb 5, 2020

This PR includes :

Bugfix : Disable/enable uart interrupts during transfer from fifo to queue

Improvement : Remove unnecessary check for full queue in uart isr

@bdring
Copy link

bdring commented Feb 14, 2020

The previous commit seems to have broken my code. This PR appears to have fixed it.

The problem appeared as random, but regular corruption of the data. The corruption usually looks like a swap of the order of 2 characters.

My firmware is a CNC controller. In the UART data are move commands that are software flow controlled and "real time" command like status requests and pause, etc., that can be sent at any time. Therefore, the UART data needs to be rapidly read to check for real time commands. Anything that is not a real time is placed into another buffer. This is done using RTOS task. Typically the baud rate is 115200, but users are free to change that.

@hreintke
Copy link
Contributor Author

@me-no-dev :
Can you check this PR and merge if OK.
If you see issues with it, please let me know so I can work on those.

@bdring
Copy link

bdring commented Feb 26, 2020

@hreintke @me-no-dev

Can this be expedited? This appears to fix a previous commit that broke serial communications.

@maudette01432
Copy link

Waiting anxiously - would be great to have this fix in the main arduino board manager version as well.

@bdring
Copy link

bdring commented Mar 26, 2020

Please expedite this. Serial comms is currently broken.

hreintke referenced this pull request Apr 21, 2020
* Minimize HardwareSerial Receive and Transmit delays

* Remove uartRxFifoToQueue from esp-hal-uart.h

Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
@bdring bdring mentioned this pull request May 3, 2020
@me-no-dev me-no-dev merged commit 49b7664 into espressif:master May 5, 2020
vvhh2002 pushed a commit to vvhh2002/arduino-esp32 that referenced this pull request Jun 15, 2020
* master:
  M5Stack's product offering includes various ESP32-based camera devices. (espressif#4030)
  Fix for issue 3974 m_connectedCount incorrectly decremented when no connection exists
  Add a new board of KITS for IoT education (espressif#3703)
  update M5Camera pins (espressif#4021)
  Update SD_MMC.cpp (espressif#4020)
  Added missing wifi_provisioning dependency. (espressif#4003)
  HardwareSerial bugfix & improvement (espressif#3713)
  Allow using custom linker scripts (espressif#3735)
  Add M5Stack-ATOM Board (espressif#3883)
  Minor modifications in provisioning (espressif#3919)
  Add support of unified provisioning to Arduino
  Update install-platformio-esp32.sh
  add new board Handbit  (espressif#3807)
  Move _STREAM_BOUNDARY before _STREAM_PART (espressif#3720)
  Add Senses's WEIZEN board from Senses IoT platform (espressif#3687)
  Revert "std::shared_ptr Memory Leak (espressif#3680)" (espressif#3682)
  std::shared_ptr Memory Leak (espressif#3680)
  Minimize HardwareSerial Receive and Transmit delays (espressif#3664)
  fix removeApbChangeCallback() error in spiStopBus() (espressif#3675)

# Conflicts:
#	CMakeLists.txt
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.

4 participants