Skip to content
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

"Auto Show Serial Monitor" #115

Closed
wants to merge 3 commits into from
Closed

"Auto Show Serial Monitor" #115

wants to merge 3 commits into from

Conversation

rmangino
Copy link

Added support for automatically showing the Serial Monitor window. This support is controled by a checkbox menu item in the Tools menu ("Auto Show Serial Monitor"). The feature is disabled by default and is tracked by a boolean "serial.auto_show_monitor_window" in Preferences.txt. When "auto show" is disabled the Serial Monitor window behavior is unchanged (i.e. if you don't enable "auto show" the IDE will work as it always has).

NOTE: I do not know how to handle the internationalization issues (adding the menu item text to the various string resource files).

…is support is controled by a checkbox menu item

in the Tools menu ("Auto Show Serial Monitor"). The feature is disabled by default and is tracked by a boolean
"serial.auto_show_monitor_window" in Preferences.txt. When "auto show" is disabled the Serial Monitor window behavior
is unchanged (i.e. if you don't enable "auto show" the IDE will work as it always has).
@rmangino
Copy link
Author

Not sure why no one has even looked at this since it is asked for all the time.

@lestofante
Copy link

actually seems that the only patch accepted are from Arduino's team
developer. I hope this is just because they have to develop the DUE
version, because there are MANY good patch request...

2012/10/31 Reed Mangino notifications@github.com

Not sure why no one has even looked at this since it is asked for all the
time.


Reply to this email directly or view it on GitHubhttps://github.com//pull/115#issuecomment-9953345.

@rmangino
Copy link
Author

rmangino commented Nov 1, 2012

Thank you for the info. It is just a little frustrating since I know so many people are asking for this feature. I haven't turned it off since developing it. :)

@mbanzi
Copy link
Member

mbanzi commented Nov 1, 2012

To be more consistent with the way Arduino operates the checkbox should be in the preferences window.

@rmangino
Copy link
Author

rmangino commented Nov 1, 2012

Hi,

That isn't the way the Tools->Board operates. Because this option could be changed from run to run (i.e., frequently) it makes sense, from a usability standpoint, to keep it close to its corresponding action.

(Says the ex-Apple software engineer who kind of knows a thing or two about UI design). ;-)

ffissore pushed a commit that referenced this pull request Dec 19, 2012
…viour of the monitor when failing to find a proper port to use, made the monitor show up only at the end of a successfull upload
@dlchambers
Copy link

Sorry if I'm being daft... this thread says "fixed" and "closed", but in Arduino 1.0.4 I don't find any way to autostart Serial Monitor after upload.
Setting "serial.auto_show_monitor_window=true" in preferences.txt has no effect.
Holding down CTRL during an upload has noeffect.

Is there actually any way to autostart the Serial Monitor after upload?

@rmangino
Copy link
Author

You aren't being daft. I implemented the feature and the Arduino team never incorporated it. I still use it in my local build but gave up on the Arduino team - they just don't care.

@dlchambers
Copy link

Why don't they care? Have they lost interest in pushing Arduino forward?

@rmangino
Copy link
Author

rmangino commented Apr 2, 2013

No, I'm sure the Arduino team is still doing awesome stuff. For some reason no one feels like this is a valid feature. What other development IDE doesn't allow you to keep a "debug window" open at all times? I was a software engineer on the Visual Studio team at Microsoft and the Xcode team at Apple. This feature is a no-brainer for the Arduino IDE.

Like I said, I have the feature enabled in my local build. You can pull the code directly and build the IDE yourself if you like (which you do at your own risk of course).

@ffissore
Copy link
Contributor

ffissore commented Apr 2, 2013

@dlchambers Quite the contrary. We've created branch ide-1.5.x-pull115 in order to make evaluating the code easier. We've just decided that this feature, compared to others that are still baking (library mangement for example) has a lower priority. We'll eventually merge the pull request.

@rmangino Keeping the serial monitor open (like a debug window), for some reason I still have to get clear, it's tough. RXTX may be blamed for this: on some OSes the IDE becomes unstable when you mess up with serials.

@rmangino
Copy link
Author

rmangino commented Apr 2, 2013

@ffissore Thank you for the clarification. I only use the IDE on OS X but have never had a single issue. I'm certain I don't know the codebase like you do but I spent a good amount of time analyzing the the affected code. Honestly, I was very surprised to find the functionality scattered all over the place. A simple globally accessible FSM might make easy work of this.

Also note that I am not keeping the serial connection open - I am just not closing the window.

@penguin359
Copy link

I'll have to merge this into my own port of the Arduino IDE. I've been dying for this feature. I just submitted my first pull request on Github for Arduino which more patches coming soon. Hopefully, it receives a better reception than this, otherwise we might have to maintain our own fork of Arduino, perhaps Arduino++!

@rmangino
Copy link
Author

rmangino commented Apr 8, 2013

I totally agree. This is an IDE right? Thus, the features should be geared towards developers. Again, this is a no brainer feature.

@penguin359
Copy link

Well, I should be careful, it sounds like it's being held back due to inconsistent support across all OSes. The fact that there are two branches in the official git repo for this should indicate that it is probably going to be supported. Luckily, I'm primarily a Mac user myself.

@penguin359
Copy link

@rmangino Does your git repository on github represent your current up-to-date version of Arduino that you use? I might have to add it to my personal fork with extras.

@rmangino
Copy link
Author

rmangino commented Apr 9, 2013

@penguin359 Unfortunately no. This feature is important enough to me that I don't want to have to go through the hassle of re-applying it over and over. Thus, the version of the Arduino IDE I use everyday lags behind the current version.

@penguin359
Copy link

I've created, but not uploaded, a simple patch that will auto-open the serial monitor if it was open when Upload was pressed. It does not use any preferences or adds any menu items, but it is based on the latest ide-1.5.x branch. Would a simpler patch like this be useful or easier to approve?

@wolph
Copy link

wolph commented Sep 19, 2013

Is there any progress here?
I understand the issue being complex but there are already working pull requests so I don't see the issue here... alternatively, make it a setting which you have to manually enable.

This feature has been requested for over 3 years, surely it cannot be that hard to merge in?

Please tell us what is wrong with the current patches so we can fix them or if there is nothing wrong, merge them... It's just annoying to have to run your own fork.

@rmangino
Copy link
Author

All I can do is "second this" request. My changes still work with mainline. It is not a complicated change.

Every time I pull I just merge my changes in again... and off I go.

@damellis
Copy link
Contributor

This was requested a while ago and I didn't include it because I think it's more important to minimize the number of options / checkboxes in the interface. Auto-showing the serial monitor by default (if it was open when the upload started) also felt weird to me.

My suggestion would be either: let people click the serial monitor button before the upload finishes, and then open the window when it's done; or, find a nice way to keep the serial monitor open during upload.

Of course, I'm not handling the software any more, so this is just an opinion.

@rmangino
Copy link
Author

Thanks for the comment @damellis. But as I stated earlier, I was an engineer on both the Xcode team at Apple and the Visual Studio team at Microsoft. I honestly can't think of any other development tool that doesn't provide this functionality straight out of the box or via a user-selectable option.

When you are learning or when you are debugging an issue, you want the monitor to open every single time you run. Not wanting to add another checkbox is not a reason to withhold a feature that is expected to be there.

Also, just my opinion. ;-)

@damellis
Copy link
Contributor

Much as I enjoy using Xcode (and have appreciated Visual Studio in the past), I think it's fair to say that the Arduino IDE is aiming at a somewhat different style than either of those tools. It still needs to provide the functionality that people need, of course, but the tradeoff between simplicity and functionality might not be the same as in other tools.

@rmangino
Copy link
Author

We are talking about a feature that would be off by default (thus will not impact users who don't want it), has been requested countless times over a period of years, and which already has a working solution. It is mind boggling to me it won't be added.

@penguin359
Copy link

This is a big feature that I also wanted and eventually, I implemented my own version of it in my personal fork of Arduino. My own solution was a pretty small patch and I had considered putting it up as a pull request, but that was before I discovered @rmangino work on the matter. After that, I didn't want to steal his spotlight. My understanding is that there were some concerns about portability with his version of the solution and breakage on Windows. That and keeping changes small held it back. I can push my version to github as well if you are interested.

@rmangino
Copy link
Author

Don't hold back on my account @penguin359 - make your pull request. I have tested my changes under Windows and OS X (10.9) and I've run into zero issues. If your patch is smaller/safer than mine then they should just take it. What kills me is that we wouldn't be changing the behavior for anyone who doesn't want to use the feature. I sincerely don't understand the pushback given that it is such a frequently requested feature. I'm stepping out at this point... I don't have the cycles to keep fighting for this.

@DanielWittenaar
Copy link

Could someone please put the patch up? I'm right now busy with 1 heck of a big project. Debuggin and rewriting a driver. While busy with that for days i push the "Serial Monitor" button at least 100 times a day..
I really could use that patch. As i'm getting sick of pushing it over and over again.. Just a simple checkbox and everyone can choose for them self if they want to use it or not.. But oke.. A patch is no problem either. Ony people that need that function can install it. And if it is unstable.. Oke delete it again.. So @penguin359 or @rmangino Please be my guest.. I'm a windows 7 user. Will test it and report back.

@Bitbeisser
Copy link

I can't understand how this hasn't been implemented right from the start (just like being able to adjust the syntax colors in the IDE).
When trying to debug some setup() code (after initializing the serial port of course), there is no f****g way to do this with the option to automatically open (re-open) the serial monitor.
I think it is utter nonsense that these patches are not considered by the Aduino folks... :-(

@rmangino
Copy link
Author

rmangino commented Oct 9, 2013

@Bitbeisser I feel your pain. As I've stated multiple times: my patch does not change the default behavior in any way. Current users won't even know a change has been made unless they specifically go looking for it. Again, one of the Arduino devs needs to point to another development IDE which doesn't allow a user to view the "debug window" automatically when running/debugging your app.

…ndow upon successful sketch upload

This fix was originally attempted via the following pull request but the Arduino team didn't take it (even though users have been asking for it for years).
rmangino@77c869d

This new pull request fixes an issue which didn't exist when I made the original pull request (over a year ago).

This support is controlled via a checkbox menu item in the Tools menu ("Auto Show Serial Monitor"). The feature is *disabled by default* and is tracked by a boolean "serial.auto_show_monitor_window" in Preferences.txt. When "auto show" is disabled the Serial Monitor window behavior is unchanged (i.e. if you don't enable "auto show" the IDE will work as it always has).

The serial monitor window is hidden when the sketch fails to compile.

NOTE: The IDE's default behavior has *not* changed. The only difference is that a user may now *explicitly* request that the serial monitor window be shown upon automatically upon successful upload.
Signed-off-by: Reed Mangino <reed@themanginos.com>
@rmangino
Copy link
Author

rmangino commented Oct 9, 2013

I have submitted a new pull request based off the current Arduino master. Closing this request so that hopefully someone on the dev team will consider the new request.

@rmangino rmangino closed this Oct 9, 2013
@rmangino
Copy link
Author

rmangino commented Oct 9, 2013

You can view a year's worth of comments here: #115

@mattkenefick
Copy link

Is this done yet?

@rmangino
Copy link
Author

@mattkenefick I completed the necessary work well over a year ago. The Arduino team doesn't want my work - they still don't believe people want this feature. Don't hold your breath.

@cmaglie
Copy link
Member

cmaglie commented Feb 14, 2014

@rmangino,

we are committed to merge your patch, I assume that your latest version is in #1613.

C

@PaulStoffregen
Copy link
Sponsor Contributor

I'm curious how this works with Leonardo. Has anyone tested that?

@Bitbeisser
Copy link

On 2/14/2014 1:32 PM, Paul Stoffregen wrote:

I'm curious how this works with Leonardo. Has anyone tested that?

I can test this this weekend, don't have any of my Leonardos with me,
only a Yun and not sure if that is a valid test. Would be nice to
finally be able to check debug output in setup() without going through

hoops... ;-)

-- P.C.Worx * On-Site IT Services Phone: (323)744-1081 Mailing address:
12021 Wilshire Blvd. #290, Los Angeles, CA 90025 www.pcworxla.com --


This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com

@cmaglie
Copy link
Member

cmaglie commented Feb 15, 2014

I'm experiencing problems with Leonardo and Micro: #1613 (comment)

please remember to check the patch in #1613 and not this one (and also provide any feedback there). Thanks!

tbowmo pushed a commit to tbowmo/Arduino that referenced this pull request Jul 14, 2016
Created a small PingPongSensor that demonstrates node-to-node communi…
@per1234 per1234 added Component: IDE Serial monitor Tools > Serial Monitor Type: Duplicate Another item already exists for this topic labels Apr 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: IDE Serial monitor Tools > Serial Monitor Type: Duplicate Another item already exists for this topic
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet