Git Product home page Git Product logo

Comments (7)

lcgamboa avatar lcgamboa commented on August 18, 2024 1

Thanks for the support, now the example works correctly.

from qemu.

o-marshmallow avatar o-marshmallow commented on August 18, 2024

Hi @lcgamboa ,

Thanks for reporting this issue. As far as I know, this example requires an external USB-to-UART adapter as it uses another UART controller than the default one, with given pins from Kconfig.

I cannot reproduce what you are getting, even on the real chip. What is your configuration for this example?

from qemu.

lcgamboa avatar lcgamboa commented on August 18, 2024

I'm sorry I forgot to let you know that I modified the code to use the default pins for ease of use with many different processors. I modified the lines 29 and 30 of file uart_echo_example_main.c from :

#define ECHO_TEST_TXD (CONFIG_EXAMPLE_UART_TXD)
#define ECHO_TEST_RXD (CONFIG_EXAMPLE_UART_RXD)

to:

#define ECHO_TEST_TXD (UART_PIN_NO_CHANGE)
#define ECHO_TEST_RXD (UART_PIN_NO_CHANGE)

from qemu.

o-marshmallow avatar o-marshmallow commented on August 18, 2024

Hi @lcgamboa ,

Thanks for the details, I also needed to use the UART port number 0 in the menuconfig to reproduce the issue.
I will investigate this issue.

from qemu.

lcgamboa avatar lcgamboa commented on August 18, 2024

I did some more tests and it seems that there is some difference when the sent string is greater than 128 bytes. For real hardware the string limit is 1024 bytes, for Qemu esp32-c3 the limit is a multiple of 128. In the figure below a string of 2048 bytes is sent, for real hardware (top terminal) it is split into two parts of 1024 (in the most times). For Qemu esp32-c3 (bottom terminal) it is always split into several parts with sizes x*128 randomly. Same with ESP32 for hardware and on Qemu esp32. Apparently this is not a problem and is probably due to a limitation in the Qemu implementation.

echo

from qemu.

o-marshmallow avatar o-marshmallow commented on August 18, 2024

Hi @lcgamboa ,

The reason behind this is that the ESP32-C3 UART controller underneath uses the ESP32 UART implementation, which explains why it has the same behavior. This choice was made to quickly get something up and running while developping other controllers.
If you think this is a critical bug and it needs to be fixed as soon as possible, feel free to open a new issue

from qemu.

lcgamboa avatar lcgamboa commented on August 18, 2024

Hi @o-marshmallow ,

I believe it is not critical, this limitation is because the buffers always have a fixed size of 128 in the Qemu implementation.

Another problem that occurs is that when the uart receive threshold is set to a value lower than 128, the interruption only happens when the buffer reaches 128 and throttle_rx=true occurs. It's not critical either, but it can disturb an application that needs to process exactly the configured threshold.

from qemu.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.