Skip to content

Serial Monitor scroll is incomplete when autoscroll is enabled #1736

Closed
@per1234

Description

@per1234

Describe the problem

The Arduino IDE "Serial Monitor" view has a "Toggle Autoscroll" control. When this is enabled, the view automatically scrolls down as the number of lines of data exceed the visible height of the view.

🐛 The autoscroll is not done completely, resulting in the most recently printed line only being partly visible.

To reproduce

Equipment

  • Any Arduino board capable of serial output.

Steps

  1. Create a sketch that produces sufficient serial output to exceed the height of the "Serial Monitor" view:
    void setup() {
      Serial.begin(9600);
      delay(10000);
      for (byte counter = 0; counter <= 100; counter++) {
        Serial.print("hello #");
        Serial.println(counter);
      }
    }
    void loop() {}
  2. Connect the Arduino board to your computer.
  3. Select the board and port in Arduino IDE.
  4. Open the "Serial Monitor" view if it is not already open.
  5. Select "9600 baud" from the dropdown baud rate menu at the top right corner of the "Serial Monitor" view.
  6. If it is not already enabled, click the "Toggle Autoscroll" icon near the top left corner of the "Serial Monitor" view to enable autoscroll.
  7. Select Sketch > Upload from the Arduino IDE menus.
  8. Wait for the upload to finish successfully.
  9. Immediately select the "Serial Monitor" tab in the bottom panel.
    The "immediately" instruction, as well as the delay in the sketch, are required to avoid the demo's result being affected by a separate autoscroll-related bug https://github.com/arduino/arduino-ide/issues/1724
  10. Wait until the sketch program's 10 s delay has passed.
    🐛 The line shown at the bottom of the "Serial Monitor" view is not hello #100 as expected:
    image
  11. Scroll the output field of the "Serial Monitor" view downward.
    🐛 The field was not scrolled all the way to the end of the output even though autoscroll was enabled.

Expected behavior

The most recently printed line is always shown above the bottom edge of the Serial Monitor view when autoscroll is enabled.

Arduino IDE version

Original report

5695fd8

Last verified with

76f9f63

Operating system

Windows

Operating system version

10

Additional context

I bisected the issue to ac9cce1 / #1662 (it does not occur when using the build from c0af1e6)


This bug also occurred in previous versions of Arduino IDE: #972, but was fixed by #1446

Additional reports

(from current incarnation of the bug)

(from time of the previous incarnation of the bug: #972)

Related

Issue checklist

  • I searched for previous reports in the issue tracker
  • I verified the problem still occurs when using the latest nightly build
  • My report contains all necessary details

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions