arduino-ide icon indicating copy to clipboard operation
arduino-ide copied to clipboard

Allow display of more data points in Serial Plotter

Open kubichekster opened this issue 2 years ago • 31 comments

Describe the request

Change the number of plot values back to 500. Or make it a user selectable option

Describe the current behavior

The Arduino IDE 2.x Serial Plotter displays only 50 data values, compared to the Arduino IDE 1.x plotter, which displayed 500 values.

This is a problem because events stream by 10 times faster and are much harder to see. With 500 points we see a much clearer time history of the physical measurements we're making.

I use the Plotter a lot in my K-12 STEM workshops, and this will really have a negative impact.

Arduino IDE version

51f69f6a5930ed1c947ac708b2d7280ea3e0cd57

Operating system

All

Operating system version

Any

Additional context

Additional requests

  • https://github.com/arduino/arduino-ide/issues/1308
  • https://forum.arduino.cc/t/serial-plotter-very-fast-in-adruino-2-1/1123294
  • https://forum.arduino.cc/t/plotter-with-more-samples-in-the-window/1034998
  • https://forum.arduino.cc/t/how-can-i-change-the-amount-of-data-displayed-in-the-serial-plotter-window/1043750/1
  • https://forum.arduino.cc/t/how-can-i-change-the-amount-of-data-displayed-in-the-serial-plotter-window/1043750/18
  • https://forum.arduino.cc/t/serial-plotters-horizontal-scale/1014334
  • https://forum.arduino.cc/t/serial-plotter-x-axis-too-limited/1172318
  • https://forum.arduino.cc/t/your-reason-for-not-switching-to-the-2-x-ide/1176322/10
  • https://forum.arduino.cc/t/serial-plotter-output-too-fast/1233965

Issue checklist

  • [X] I searched for previous requests in the issue tracker
  • [X] I verified the feature was still missing when using the latest nightly build
  • [X] My request contains all necessary details

kubichekster avatar Feb 02 '22 19:02 kubichekster

urgently expected...

ratio-x avatar Mar 07 '22 14:03 ratio-x

Export to Excel would be nice as well.

IanBUK avatar Apr 18 '22 06:04 IanBUK

This feature is desperately needed. Plotter is almost unusable in most applications. Ability for user to adjust by code, or at least via ui control should be heavily considered!!

scorbin1 avatar Jun 17 '22 03:06 scorbin1

In fact, the best would be to let us define the horizontal scale.

fralbo avatar Jul 21 '22 07:07 fralbo

I, too, stumbled upon this.

Obviously it would be nice to have specific features like mentioned above, but I think just to have on par featureset with the former IDE it would be wise to readd display of 500 data points like in the earlier versions. It would be quite odd to have a successor that does not have or has less of a specific feature than the predecessor. I only noticed this when trying to debug something using the serial plotter and found out that for myself 50 data points were absolutely not adequate for my specific situation.

I tried changing this line https://github.com/arduino/arduino-serial-plotter-webapp/blob/04a460e0c21609a63c4064f561990c0128c5a0ed/src/ChartPlotter.tsx#L46 in the bundled package that is being fetched/created when building arduino-ide. The build process did not edit the file back to what it was before, however, unfortunately, it did not increase the number of data points. Being unfamiliar with the build process, I don't know if this is in fact the wrong line of code to adapt, or if the change just doesn't make it into the final arduino-ide build for some reason.

The change in itself would seem to be rather trivial, given that and the featureset of the predecessor I would really like to see the this implemented before the final release.

InstantMuffin avatar Aug 10 '22 14:08 InstantMuffin

I'm running rc9.4 on Linux Mint 21 and the plotter frustrates me. With data once per second plotter shows only 5 X-axis data sets no matter how large I make the window. At fast rate such as 100 data sets / second it shows 50. I can't seem to display 500 seat.

SaturdayScience avatar Sep 15 '22 07:09 SaturdayScience

Hi.. yup, this is so URGENT and needed to make plotter scalable... 50 is really small! only make two sliders to change x/y zoom manually! not a hard work, but VERY life savior.

I'm waiting for this too, hope they fix this ASAP.

Farhankhosravi avatar Sep 16 '22 15:09 Farhankhosravi

Another vote for this enhancement.

SvenRosvall avatar Sep 23 '22 20:09 SvenRosvall

Anyone in the development team to take care about our requests?

fralbo avatar Sep 24 '22 07:09 fralbo

Either going back to the 500-point serial plotter, or (better yet) allowing for perhaps several options for the number of points to plot, would be most appreciated.

pointsplitter avatar Sep 29 '22 12:09 pointsplitter

Yes, please do the requested enhancement / fix! I fortunately have IDE 1.8.19 installed in parallel - it still displays 500 points.

ArnieO avatar Sep 29 '22 13:09 ArnieO

To add to that, my plotter would sometimes display only 5 samples! Some random series of action usually gets it back to 50 samples. Seems like jumping between multiple projects does/undoes the issue but haven't explored well enough. All my projects use serial over USB btw.

bruno-zarokian avatar Oct 09 '22 07:10 bruno-zarokian

my plotter would sometimes display only 5 samples! Some random series of action usually gets it back to 50 samples. Seems like jumping between multiple projects does/undoes the issue but haven't explored well enough.

Thanks for your report @bruno-zarokian. If you are able to find a procedure that can be followed to reproduce this bug, please submit a dedicated issue for it.

per1234 avatar Oct 09 '22 13:10 per1234

I expected a few comments in regards to parity to the 1.X feature set, but I didn't expect so many.

I, too, still want this to be an par or to allow for more samples than 500.

InstantMuffin avatar Oct 10 '22 04:10 InstantMuffin

Hi all. We really appreciate the feedback about how the Arduino IDE 2.x Serial Plotter can be improved. However, once the message has been received, additional comments that don't add any new information can add up to a lot of notifications for those of us who watch this repository to keep up with the development work.

If you only want to express support then I suggest the use of GitHub's "Reactions" feature.

Discussion is always welcome over on the Arduino Forum:

https://forum.arduino.cc/

Thanks in advance for your cooperation. Per

per1234 avatar Oct 10 '22 08:10 per1234

The serial plotter is a web application that is installed as part of Arduino IDE since it's running as a web application, bundled source code can be modified on a local machine.

The package can be found in the installation folder of Arduino IDE \Arduino IDE\resources\app\node_modules\arduino-serial-plotter-webapp\build\static\js\ main.35ae02cb.chunk.js can be modified to change values threshold value, need to replace U=Object(o.useState)(50) with U=Object(o.useState)(5000) it will increase maximum data points to 5000.

Tested with Arduino IDE 2.0.2 version. image

Alex-Tsyganok avatar Dec 05 '22 20:12 Alex-Tsyganok

🤪 Thanks Alex. Better later than never...

fralbo avatar Dec 05 '22 21:12 fralbo

Thanks Alex - nice solution! I will give it a try. However, I hope the developers will build this into the IDE asap. I work with K-12 teachers across the state and the fix needs to be plug-and-play before they can use it at their schools. They also need a portable version, but that's another story. Thanks again


From: Alex-Tsyganok @.> Sent: Monday, December 5, 2022 1:55 PM To: arduino/arduino-ide @.> Cc: Robert F. Kubichek @.>; Author @.> Subject: Re: [arduino/arduino-ide] Allow display of more data points in Serial Plotter (Issue #803)

◆ This message was sent from a non-UWYO address. Please exercise caution when clicking links or opening attachments from external sources.

The serial plotter is a web application that is installed as part of Arduino IDE since it's running as a web application, bundled source code can be modified on a local machine.

The package can be found in the installation folder of Arduino IDE \Arduino IDE\resources\app\node_modules\arduino-serial-plotter-webapp\build\static\js
main.35ae02cb.chunk.js can be modified to change values threshold value, need to replace U=Object(o.useState)(50) with U=Object(o.useState)(5000) it will increase maximum data points to 5000.

Tested with Arduino IDE 2.0.2 version. [image]https://user-images.githubusercontent.com/5132633/205741021-223c3130-0a71-4264-9ac1-38eb364deb82.png

— Reply to this email directly, view it on GitHubhttps://github.com/arduino/arduino-ide/issues/803#issuecomment-1338149431, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJCZ7HXHQ2OSILFKC7M6QM3WLZJFFANCNFSM5NM7CFGQ. You are receiving this because you authored the thread.Message ID: @.***>

kubichekster avatar Dec 06 '22 17:12 kubichekster

@Alex-Tsyganok Thank you for that quick fix!

But I have to tell you that I felt the strong urge to wash my hands after that 😂

falk-stefan avatar Dec 29 '22 18:12 falk-stefan

I tried to modified the js file but not luck here, still only 50 points. Windows 10, Arduino IDE 2.0.3 'for all users', notepad++ editor. I also restarted Windows, in case there is some caching involved. Any suggestions?

image

zapta avatar Jan 14 '23 06:01 zapta

Worked for me as well. To save the changes, I had to open notepad in admin mode, change the value and save (without the txt ending by clicking on all files next to the save button). @zapta did it work for you now? Did you open the correct Arduino version? Did you try uninstalling all older versions and make a clear reinstall? A # samples setting in Arduino preferences or plotter gui would be really nice though.

Leomirdroid avatar Jan 26 '23 13:01 Leomirdroid

@Alex-Tsyganok Thank you a lot!

Ralf-W avatar Feb 02 '23 13:02 Ralf-W

I'll briefly add that while the fix by @Alex-Tsyganok works on my Mac, this is not a solution for teachers (like me) who rely on the IDE in their teaching. Students can't be expected to dig this deep into the code of an application. I have to resort to either advising students to fall back on the old IDE, or use third party things (like processing), but neither of this is good teaching.

Can the fix by @Alex-Tsyganok just be implemented for now, while people work on a more lasting solution like allowing users to change the x-axis?

RolfHut avatar Feb 10 '23 07:02 RolfHut

I consider the auto scaling of plot width a valuable feature. As it stands now, the plot width auto scales to full width as the data fills to 50 samples, then the plotter becomes a sliding window.

Plotter

It would be useful to have the plot width auto scale to full width as the data fills to 500 samples (or a user set limit), then the sliding window activates.

Same code, 100 samples shown on plotter using Arduino IDE 1.8.19 ...

image

Dlloydev avatar May 05 '23 02:05 Dlloydev

Hello again... Came to ask that how long this feature will be take?! Just asking for more samples like IDE 1.8 and older! It's really necessary but after a long while, it doesn't added to IDE V2...

Still waiting for such small feature. We just need an small slider/input to change max samples size.. Please take a look!

Farhankhosravi avatar May 06 '23 12:05 Farhankhosravi

@per1234, @AlbyIanna, any news on this issue? It was assigned a year ago but so far there is no indication here of any progress. Can you please look into it?

zapta avatar May 06 '23 14:05 zapta

The serial plotter is a web application that is installed as part of Arduino IDE since it's running as a web application, bundled source code can be modified on a local machine.

The package can be found in the installation folder of Arduino IDE \Arduino IDE\resources\app\node_modules\arduino-serial-plotter-webapp\build\static\js\ main.35ae02cb.chunk.js can be modified to change values threshold value, need to replace U=Object(o.useState)(50) with U=Object(o.useState)(5000) it will increase maximum data points to 5000.

Tested with Arduino IDE 2.0.2 version. image

I just tested, and the solution works!! Thanks a lot. Any idea on how to make it go slower?

Pkanna10 avatar May 18 '23 04:05 Pkanna10

OK, thanks, that sounds useful! But I have a newbie question: What do I do after I make the change to the .js file? Do I need to recompile or rebuild something in order to update the IDE? Any details would be appreciated. As a general comment, since the fix seems fairly trivial it seems crazy they don't default the number of data points to the version 1.x value (i.e., 500) so all the legacy Arduino programs would still work as designed. thanks again


From: Praveen @.> Sent: Wednesday, May 17, 2023 10:48 PM To: arduino/arduino-ide @.> Cc: Robert F. Kubichek @.>; Author @.> Subject: Re: [arduino/arduino-ide] Allow display of more data points in Serial Plotter (Issue #803)

◆ This message was sent from a non-UWYO address. Please exercise caution when clicking links or opening attachments from external sources.

The serial plotter is a web application that is installed as part of Arduino IDE since it's running as a web application, bundled source code can be modified on a local machine.

The package can be found in the installation folder of Arduino IDE \Arduino IDE\resources\app\node_modules\arduino-serial-plotter-webapp\build\static\js\ main.35ae02cb.chunk.js can be modified to change values threshold value, need to replace U=Object(o.useState)(50) with U=Object(o.useState)(5000) it will increase maximum data points to 5000.

Tested with Arduino IDE 2.0.2 version. [image] https://user-images.githubusercontent.com/5132633/205741021-223c3130-0a71-4264-9ac1-38eb364deb82.png

I just tested, and the solution works!! Thanks a lot. Any idea on how to make it go slower?

— Reply to this email directly, view it on GitHubhttps://github.com/arduino/arduino-ide/issues/803#issuecomment-1552393634, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJCZ7HTGA7A4AC6YHPFOCWTXGWS25ANCNFSM5NM7CFGQ. You are receiving this because you authored the thread.Message ID: @.***>

kubichekster avatar May 18 '23 18:05 kubichekster

Hi @kubichekster. This issue is used to track the request for the Arduino developers to increase the number of displayed data points or to make it user configurable. Comments that add unique information that is relevant to that development work are welcome, but this is not an appropriate place to get assistance with the hack that was shared.

If anyone needs assistance or has questions about that hack, please post on Arduino Forum:

https://forum.arduino.cc/

I'm sure we'll be able to help you out over there.

per1234 avatar May 18 '23 23:05 per1234

@Alex-Tsyganok thank you for this patch; was very helpful to me.

samstafford avatar Jul 25 '23 21:07 samstafford