arduino / serial-monitor

Arduino pluggable monitor for serial ports
GNU General Public License v3.0
15 stars 5 forks source link

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

Closed njz3 closed 1 year ago

njz3 commented 4 years ago

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:

kittaakos commented 4 years ago

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:

Pros:

Cons:

Thoughts?

cmaglie commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago
  • 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 commented 4 years ago

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 commented 4 years ago

(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 commented 4 years ago

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

njz3 commented 4 years ago

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.

zomerfeld commented 3 years ago

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

notisrac commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

+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

hasselmm commented 2 years ago

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 commented 2 years ago

@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 commented 2 years ago

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

https://github.com/arduino/serial-monitor/blob/679bbae900187637899681f94e90841f75c97b22/main.go#L63

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:

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

Reports

877dev commented 1 year ago

74880 is still missing? Why on earth..