arduino / arduino/Arduino

Backspace characters are not rendered in the console

Open
#5,603 2 comments 0 reactions 0 assignees View on GitHub
Component: IDE feature request
Dominant language
Java
Stars
14.6k
Forks
7k
PR merge metrics
No merged PRs in 30d

Description

When working with the chip-kit extension for arduino, the `pic32prog` program is called to program the PIC. The code for this can be seen [here](https://github.com/sergev/pic32prog/blob/master/pic32prog.c#L522) to emit backspace characters to the console, to emulate a progress bar. This tool is configured using [these lines](https://github.com/chipKIT32/chipKIT-core/blob/6cbbc9b511c20ebafd7511ad15f10eaec5b5f850/pic32/platform.txt#L120-L139)

Unfortunately, the arduino console shows these characters as backspace symbols, rather than moving the document insertion point back to the start of the progress bar.

If this were changed in core, it would probably need to be [here](https://github.com/arduino/Arduino/blob/master/app/src/processing/app/EditorConsole.java#L131-L135)

Which of this are reasonable approaches to fixing this behaviour?
* Use a full console-emulator inside the arduino IDE
* Implement handling of `\b` and `\r`, and hope nothing else is really needed?
* Modify `picprog` binary to produce \b-free output?

Contributor guide

Open the contributing guide

Research direction

Start in app/src/processing/app/EditorConsole.java at lines 131-135, then compare the output configuration in chipKIT-core's platform.txt and the backspace emission in pic32prog.c. Reproduce the chipKIT programming output in the Arduino console and determine the supported scope of control-character handling. Done means progress output no longer displays backspace symbols and the chosen behavior is verified with this tool.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.