Skip to content

Serial monitor max baudrate limited to 115200 (legacy IDE has 250000, 1000000, ...) #20

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
njz3 opened this issue Jun 24, 2020 · 16 comments · Fixed by #34
Closed

Serial monitor max baudrate limited to 115200 (legacy IDE has 250000, 1000000, ...) #20

njz3 opened this issue Jun 24, 2020 · 16 comments · Fixed by #34
Assignees
Labels
conclusion: resolved Issue was resolved topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project

Comments

@njz3
Copy link

njz3 commented Jun 24, 2020

Describe the request

Compared to legacy IDE's serial monitor, it would be nice to get the "extra" baudrate like 230400, 250000, 500000, 1000000, and 2000000.

Describe the current behavior

serial-monitor does not offer the option of some useful baudrates.

Additional context

Additional requests:

@njz3 njz3 changed the title Serial monitor speed limiter to 115200 (legacy ID Serial monitor speed limiter to 115200 (legacy ID IDE has 250000, 1000000, ...) Jun 24, 2020
@njz3 njz3 changed the title Serial monitor speed limiter to 115200 (legacy ID IDE has 250000, 1000000, ...) Serial monitor speed limited to 115200 (legacy ID IDE has 250000, 1000000, ...) Jun 24, 2020
@njz3 njz3 changed the title Serial monitor speed limited to 115200 (legacy ID IDE has 250000, 1000000, ...) Serial monitor max baudrate limited to 115200 (legacy IDE has 250000, 1000000, ...) Jun 24, 2020
@kittaakos
Copy link

Compared to legacy IDE's serial monitor, it would be nice to get the "extra" baudrate like 230400, 250000, 500000, 1000000, 2000000,

I propose the following:

  • Introduce a new preference for additional, user-defined baud rates,
  • By default, there aren't any custom baud rates,
  • Users can add custom ones, this custom baud rate shows up in the UI with the built-in ones,
  • Users can select it.

Pros:

  • We do not have to update the code when we have to add support for a new baud rate, users can do it locally,
  • We do not pollute the UI with all the baud rates.

Cons:

  • The implementation requires more effort than just adding a new enum.

Thoughts?

@cmaglie
Copy link
Member

cmaglie commented Jun 30, 2020

Custom baudrate are not always supported and from the Java IDE we know that very few user needs it (well actually no one ever asked for a custom baudrate as far as I remember).

IMHO it's a lot of work for very little benefit, for now I'll just add the missing "standard" baudrate and see how it goes, @kittaakos we may implement your proposal in the future if there is demand.

@njz3
Copy link
Author

njz3 commented Jun 30, 2020

I may be one of the few user that use the "extra" baudrates ;-)
Those are useful for example for the Mega2560, the Leonardo or the Due where the COM port would handle much more than the 115200 baudrate. Specifically, the Mega2560 does not handle well 115200 (timing errors), while 250000 and 500000 are perfectly well handled.

A mixed solution would be to add also a 'custom' baudrate in the list which would use a configurable value in the preference, or simply use an editable combobox to enter a custom value instead of a fixed list of choices.

@kittaakos
Copy link

  • a new preference for additional

Just to make sure we're all on the same page: I meant a Pro IDE preference. It has nothing to do with the CLI config.

@cmaglie
Copy link
Member

cmaglie commented Jun 30, 2020

I may be one of the few user that use the "extra" baudrates ;-)

In fact I said to add them.

A mixed solution would be to add also a 'custom' baudrate in the list which would use a configurable value in the preference, or simply use an editable combobox to enter a custom value instead of a fixed list of choices.

Did you use a baudrate that is not already listed in the Java IDE? what's the use case?

@cmaglie
Copy link
Member

cmaglie commented Jun 30, 2020

(I'm asking because we have a huge backlog for the pro IDE and don't want to spend time on features that are very minor improvement)

@njz3
Copy link
Author

njz3 commented Jun 30, 2020

I personnally use the standard baudrates of the Java IDE, not a custom baudrate.
To help you sorting out, I would say:

@njz3
Copy link
Author

njz3 commented Jun 30, 2020

I forgot to explain the use case:
I use an Atmega2560 where I implemented a basic text protocol to control my system (I do motor control). The terminal can return lots of information after a command is interpreted. Most of the time, I directly type the commands from the Arduino IDE to test my code and send commands. I can switch my terminal to a streaming mode with a message every "X" ms with lots of debug printout and I can use the serial plotter to draw internal variables. It is very handy.
(The very same protocol is also used in a communication library to perform realtime control of a motor.)

Using the 115200 baudrate with the Mega2560 was giving garbage characters to appear from time to time or wrong point on the serial plotter, furthermore it was limiting how many values I can output every milliseconds.
This was really annoying, that's why I moved to 1000000 baudrate now.

@rsora rsora transferred this issue from arduino/arduino-pro-ide Mar 1, 2021
@silvanocerza silvanocerza added the type: enhancement Proposed improvement label Mar 1, 2021
@zomerfeld
Copy link

I also use 250000 and now have to use the old IDE :'(

@notisrac
Copy link

I'd just like to use the 74880 baud setting, which is what the ESP8266 uses when booting (right before the user code starts).

@ullix
Copy link

ullix commented May 20, 2021

I am using ESP32s, and most modern modules including them use a CP2102N chip, which support Data transfer rates up to 3 Mbaud

I would very much like to use that speed whenever possible, until we get away from those USB-to-Serial crutches. Fast speed will also be beneficial for power saving, as the units can go back to sleep sooner.

Arguing that people don't need this speed reminds me of Bill Gates opining that 640k RAM is all that people will ever want!

@malster69
Copy link

+1
Please return speeds 74880 and above 115200 for ESP users. As already stated, ESP uses 74880 for debug output natively. Typically we use 921600 for loading when not using OTA. Huge step back if these speeds can't be returned as per v1.8.

Mal

@per1234 per1234 added type: imperfection Perceived defect in any part of project and removed type: enhancement Proposed improvement labels Nov 1, 2021
@hasselmm
Copy link

I'd like to question the label "type: imperfection". Lack of baud rates like 74880 and the like seems like a regression to me. Actually that's the primary reason for me to switch back to the old IDE for certain projects.

@per1234
Copy link
Contributor

per1234 commented Jan 17, 2022

@hasselmm the "type: imperfection" label is only a general purpose way to classify issues and PRs are being related to a defect rather than an enhancement.

We do not have a label for regressions. They are classified just the same as non-regressive defects. There is a "Type: Regression" label in the classic Arduino IDE repository, but I was not convinced it provided enough value in that project to be worth the extra work of determining which issues it was appropriate for. It might seem straightforward, but it often doesn't end up that way. This is actually an example of such. If this project is considered on its own (which is reasonable from a purely development standpoint due to it having a completely new code base), then the lack of these important baud rates is not a regression because the project never had them. But if you consider the context of Arduino IDE 2.x as a continuation of the Arduino IDE project, then every feature which has not yet been developed in this new code base is indeed a regression. In fact, it is often very difficult even to determine something so simple as whether a user submitted issue can be considered a defect report or a feature request (we take the shortcut here by letting them pick that label).

Please note that the term "imperfection" is not a metric of the severity of the defect. We have separate labels for that purpose, which are applied by the project managers while assigning development priorities:
https://github.com/arduino/arduino-ide/labels?q=criticality

@per1234
Copy link
Contributor

per1234 commented Jun 22, 2022

Now that the "pluggable monitor" system has been implemented in Arduino IDE 2.x (arduino/arduino-ide#982), the baud rates available are now dependent on the monitor tool in use (information here):

Values: []string{"300", "600", "750", "1200", "2400", "4800", "9600", "19200", "38400", "57600", "115200", "230400", "460800", "500000", "921600", "1000000", "2000000"},

In this case, that monitor tool is the arduino/serial-monitor project, so I have transferred the issue to that repository.

Note that there is now much closer to parity with Arduino IDE 1.x in the available baud rates. The only ones still missing are:

  • 74880
  • 250000

Probably the first is the most critical due to it being required for use with ESP8266.

Reports

@per1234 per1234 transferred this issue from arduino/arduino-ide Jun 22, 2022
@per1234 per1234 assigned cmaglie and unassigned AlbyIanna Jun 22, 2022
@877dev
Copy link

877dev commented Dec 18, 2022

74880 is still missing? Why on earth..

@per1234 per1234 added the conclusion: resolved Issue was resolved label Jan 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conclusion: resolved Issue was resolved topic: code Related to content of the project itself type: imperfection Perceived defect in any part of project
Projects
None yet
Development

Successfully merging a pull request may close this issue.