Arduino Forum

Using Arduino => Interfacing w/ Software on the Computer => Topic started by: acboother on Sep 01, 2013, 09:19 pm

Title: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: acboother on Sep 01, 2013, 09:19 pm
Version 3.1.3 now available with support for additional baud rates of 500000, 1000000 and 2000000. For those people already with a download link simply replace the program name with SerialMonitor3_1_3.exe.

Anyone else interested enough please email me or post a message in this thread.

Cheers, Alan (16th April 2017)




Latest version of Enhanced Serial Monitor (ESM) 3.1 now available. Many little fixes (cosmetics, bugs and features).

Big changes are the support for output to file with a new logger visualiser plus all the existing ones can echo their input to the logger.

Also the support for writing out to the ESM and reading from it and the Arduino IDE updated completely with new functions. Same underlying messages but much easier to use function library. Which can be found in the ZIP file on the support page http://alanboother.co.uk/project-cafe/esm/gettingstarted.html (http://alanboother.co.uk/project-cafe/esm/gettingstarted.html)

The help/documentation is now online and can be found here (http://alanboother.co.uk/project-cafe/esm/).

Download is the same as before but with the program name replaced with SerialMonitor3_1.exe If you have lost your download link or are a new user please leave a message here and I will send you the new one.

Add a note here or message me for a download link
Also visit Instructableshttp://www.instructables.com/id/Arduino-Development-Tool/ (http://www.instructables.com/id/Arduino-Development-Tool/) for an earlier version description.


Cheers Alan (July 16, 2015)
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 03:55 pm
What great fun the Arduino is but...
The IDE serial monitor just isn't sophisticated enough for my liking. I found it difficult to get a mass of information displayed meaningfully. The monitor whizzed past and intermixing different types of information just made the display a muddle of text.
I output my IMU data to a Processing sketch which was very informative but was prettier than I needed and I found myself struggling to add more output styles especially when I wanted them to be running concurrently.
So I wrote my own serial monitor I was wondering if others would be interested in it. I'll show/describe it below and would be interested to know people's thoughts. If there is sufficient interest I will look into making it available.
It's been tested on an Arduino UNO, Mega256, Nano and Pro Mini (all clones) and also on self builds using the ATMega328 with a CP2102. It was interesting to discover that the UNO and Mega do not work reliably at 300 baud and the buffering of data between them and the PC is also different. These differences are not noticeable in 'normal' conditions but show up at the limit of performance such as when transmitting a lot of data very quickly, in either direction, especially at the lower or higher baud rates.
I also wanted to integrate data being sent out to the Arduino into the trace so I could observe how long and how much data can flow before it is received and replied to.
The program runs on Windows and has the following window forms:
•   Main monitor
•   Message sender
•   Trace copy
•   LCD emulator
•   Freeform drawing surface
•   Alert reporter with  ability to run external programs
•   PS3 controller visualiser
•   XY scatter plotter
•   Sweep plotter
•   Histogram plotter
•   IMU visualiser
These can be controlled and configured from the PC and/or from the Arduino. To make the above forms respond to the data stream a simple protocol is used with commands identified with a # prefix and parameters separated by a ~ character. Free text is supported for viewing in the main monitor. All window forms have a quick button back to the main monitor window, a clear/reset button, a pause option, tracer text for that particular window form and a test button to try out commands directly as if sent via the serial port.
I adopted text representations rather than binary so it is possible to 'see' what is going on in the Arduino IDE's serial monitor which aids development speed. It may not be as compact or fast as binary (which could be made more data efficient) but its convenience outweighs this benefit and the typical PC is well able to cope - it is possible to have all of the above forms being updated simultaneously from an Arduino running 19200 baud.
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 03:57 pm
(http://alanboother.co.uk/project-cafe/sm/mainmonitor.png)


Main monitor window
•   This allows selecting, refreshing, opening and closing the COM port.
•   Choose a reading strategy - fast read normally and one line at a time where more control over the sequencing of messages to and from is important.
•   Control the display - pausing, clearing and copying the trace, adding in a timestamp which also shows whether the data flow is inbound, outbound or looped back (for test purposes where the serial device does not need to be connected).
•   Choosing a display refresh rate to optimise the loading on the PC when large quantities of data are being transmitted. Whilst reading the trace at high speed is difficult it is useful for the real time visualisers such as the IMU.
•   Read and display buffer usage is displayed to allow tuning and warn of either the PC or the Arduino generating too much data for the other.
•   It is used to manually open the other forms if not opened automatically by the Arduino.
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 03:58 pm
(http://alanboother.co.uk/project-cafe/sm/sender.png)

Message Sender
•   This allows data to be sent outbound on the COM port and controls whether the output is included in the trace window.
•   Control whether the output is not sent out but simply looped back. This is used for convenient experiments with data streams to see how they work with the various forms and visualisers.
•   A looping tool allows multiple parameter substitution and repeats.
•   A joypad simulation with user adjustable data.
•   A keypad simulation with user adjustable data.
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 03:59 pm
(http://alanboother.co.uk/project-cafe/sm/copy.png)


Trace copy
•   This allows you to review the trace output while the main trace window is running.
•   This contains the text of the trace window when requested for by either the user or the Arduino.
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 04:00 pm
(http://alanboother.co.uk/project-cafe/sm/lcd.png)

LCD emulator
•   80 columns by 25 rows.
•   Write text anywhere on the 'screen' in any of 7 colours for foreground and background.
•   Scroll command to you can treat it like a TTY display.
•   Make up your own user interface.
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 04:01 pm
(http://alanboother.co.uk/project-cafe/sm/draw.png)

Freeform drawing surface
•   500 pixels by 500 pixels drawing surface.
•   Commands for line, rectangle ellipse, arc and pie, filled and unfilled, cross and text, in various sizes and orientations and in 5 colours.
•   For example plot out your robot path.
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 04:02 pm
(http://alanboother.co.uk/project-cafe/sm/alert.png)

Alert reporter with the ability to run external programs
•   Somewhere to report special events to the user.
•   Option to send run commands to start programs.
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 04:02 pm
(http://alanboother.co.uk/project-cafe/sm/ps3.png)


PS3 controller visualiser
•   Displays PS3 or similar controller button and joystick values.
•   Green shows values unchanged since last reading.
•   Orange shows values that have changed since last reading.
•   Red shows values that are at maximum.
•   Joystick position cross hairs.
•   Useful for watching what the controller is sending to your robot for example.
•   See how sensitive the different buttons are.
•   Note if the joysticks are not self centring or minimum/maximum values not reached.
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 04:03 pm
(http://alanboother.co.uk/project-cafe/sm/plotxy.png)

XY scatter plotter
•   See the relationship between two values for up to five different sets.
•   Easy user control of axis settings.
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 04:04 pm
(http://alanboother.co.uk/project-cafe/sm/plotsweep.png)

Sweep plotter
•   Trace like oscilloscope.
•   Five traces with a resolution between 10 and 1000 points.
•   Easy user control of axis settings.
•   For example watch accelerometer and gyro readings.
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 04:05 pm
(http://alanboother.co.uk/project-cafe/sm/histogram.png)

Histogram plotter
•   21 bar histogram.
•   Shows percentage of observations and count of observations.
•   Easy user control of axis settings.
•   Over and under range outlier recording.
•   Simple statistics - mean, min and max of within range observations.
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 04:06 pm
(http://alanboother.co.uk/project-cafe/sm/imu.png)

IMU visualiser
•   Roll and pitch visualisation.
•   Invert option to suit installed orientation of breakout board.
•   Accelerometer and gyroscope readings (including gyro drift summation)
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: robtillaart on Oct 14, 2013, 04:24 pm
wow!

2 questions came up:
Can I save the plots made as JPG, (or better as csv file and rerun ?)
support for VT100 emulator?

Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Oct 14, 2013, 04:26 pm
20+years since I did a VT100 emulator.... I think not  :smiley-eek:

I'll add print and save to the wish list - good ideas
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: CrossRoads on Oct 14, 2013, 04:27 pm
Wow!  Lot of capabilities there!
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: JohnGeddes on Nov 20, 2013, 08:59 am
Sorry if I have missed something, but what is the current status of this? It sounds brilliant, but the only link I can find has a warning above it saying not to download it. Is there a stable version yet: if so, where would I find it?
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Nov 20, 2013, 05:49 pm

Sorry if I have missed something, but what is the current status of this? It sounds brilliant, but the only link I can find has a warning above it saying not to download it. Is there a stable version yet: if so, where would I find it?


There was insufficient interest shown by the community to justify me freezing a build version and allowing it to be downloaded. So I just keep on using it and updating the features as I need them (auto scaling has been added, for example, to the scope style trace).

I was expecting more interest as this adds a shed load of information to the developer...

If more interest can be generated then I'll look into letting it out again.

Cheers Alan

Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: robtillaart on Nov 20, 2013, 06:47 pm
Hi Alan,

Think it is a pity you do not provide a latest (BETA) version of your Serial tool, so please reconsider.

I have written several classes/libs for Arduino and posted them on the playground and for most of them there was little feedback too, especially after the first days. So I recognize your argument.
Still by keeping providing the (almost) latest version I collected valuable feedback over time - yes, in small amounts with large intervals - But sometimes I get a thank you mail or I find a lib back in some university project, indicating there is more interest than on first sight.

I rest my case ;)
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: SXRguyinMA on Nov 21, 2013, 03:13 am
This may be exactly what I'm looking for. I'm looking for a way to monitor 4 sensors (3 temp and one flow meter) and plot data to a graph. I'll have to play with this and see what I can come up with. Thanks!
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Nov 21, 2013, 08:31 pm

This may be exactly what I'm looking for. I'm looking for a way to monitor 4 sensors (3 temp and one flow meter) and plot data to a graph. I'll have to play with this and see what I can come up with. Thanks!


I can send you a copy to try if you are interested.

Cheers Alan
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Nov 21, 2013, 08:33 pm

Hi Alan,

Think it is a pity you do not provide a latest (BETA) version of your Serial tool, so please reconsider.

I have written several classes/libs for Arduino and posted them on the playground and for most of them there was little feedback too, especially after the first days. So I recognize your argument.
Still by keeping providing the (almost) latest version I collected valuable feedback over time - yes, in small amounts with large intervals - But sometimes I get a thank you mail or I find a lib back in some university project, indicating there is more interest than on first sight.

I rest my case ;)



I'll send out individual copies to interested parties so I can keep an eye on it more easily then review the situation.

cheers Alan
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: dataino on Nov 24, 2013, 02:23 am
fantastic work .. where to download?

I developed this app for chrome idea very similar but less complete as your

http://www.dataino.it/help/document_tutorial.php?id=13  (http://www.dataino.it/help/document_tutorial.php?id=13)

Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Nov 24, 2013, 01:17 pm

fantastic work .. where to download?

I developed this app for chrome idea very similar but less complete as your

http://www.dataino.it/help/document_tutorial.php?id=13  (http://www.dataino.it/help/document_tutorial.php?id=13)




That looks very interesting.

I'll work on a build this week and some sample code and docs so its easy to get going and email it to those who have asked to have a look at it.
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: dataino on Nov 24, 2013, 03:10 pm
language with which you have developed?
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Nov 26, 2013, 10:19 am

language with which you have developed?


This is .NET
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Nov 26, 2013, 10:50 am

This may be exactly what I'm looking for. I'm looking for a way to monitor 4 sensors (3 temp and one flow meter) and plot data to a graph. I'll have to play with this and see what I can come up with. Thanks!


I'll add you to the posting list
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED - WOW !!!!
Post by: rbright on Nov 28, 2013, 08:24 am
Alan thanks for the direct link to download your application. Most impressed installed/run without any problems and the sample code shows its capabilities well.
Alan I'm not up to speed yet with Processing but is this written in Processing and if not what program have you used.
Have you thought of providing a method by which a user can call up modules like the charting from another sketch e.g. a Data Logger sketch calling your XY plotter.

Alan keep developing, I'm happy to assist with some beta testing if you like

Ray Bright 
Title: Re: Serial Monitor for your toolbox - TOOL FINISHED - WOW !!!!
Post by: acboother on Nov 28, 2013, 11:15 am

Alan thanks for the direct link to download your application. Most impressed installed/run without any problems and the sample code shows its capabilities well.
Alan I'm not up to speed yet with Processing but is this written in Processing and if not what program have you used.
Have you thought of providing a method by which a user can call up modules like the charting from another sketch e.g. a Data Logger sketch calling your XY plotter.

Alan keep developing, I'm happy to assist with some beta testing if you like

Ray Bright   


It is written in .NET. I found Processing too hard to extend to a 'full' application. Not saying it can't be done but I don't have a background in Processing.

Can you explain what you would like? I'm not sure I understand "calling from another sketch". Currently from the Arduino you can send data to the serial monitor that invokes any of the visualizers, you don't have to use only one at a time. If you mean can a single message from the Arduino to the serial monitor can be forwarded onto other visualizers then I have toyed with the idea of writing an event driven mechanism I have been thinking about the following. A message arrives at a visualizer on the serial monitor and then some user supplied script on the serial monitor decides how to decode the message pack and invoke one or more other visualizers - a kind of simplistic programming. However I haven't had a need for it so no effort has gone into it.

Other things on the wish list are:

Title: Re: Serial Monitor for your toolbox - TOOL FINISHED
Post by: acboother on Nov 28, 2013, 11:22 am

Sorry if I have missed something, but what is the current status of this? It sounds brilliant, but the only link I can find has a warning above it saying not to download it. Is there a stable version yet: if so, where would I find it?


There is a version for trial available now. Let me know your email address and I'll send you a link.
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: rbright on Nov 28, 2013, 01:25 pm
You XY plotting works well.
For people following this post the supplied demo code uses serial strings like #plotsweep~-177.4400~177.00~88.00~44.00~35.00 to represent 5 current analog values which are then plotted and replotted as each #plotsweep string is received. All great stuff.

From an arduino programming perspective you would need to build the serial character string as you read the analog inputs or any calculated variables which would be integers.
Obviously character strings may need to be built up from integers so the itoa function will be required maybe in format itoa (analog1,analog1_txt,10). The raw Analog would be stored into an array before processing. 

Alan I like your future consideration of " User defined visualizers from definition files allowing layout of controls (like dials and gauges, sliders and buttons, graphs etc)"

Regards all
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: acboother on Nov 28, 2013, 07:24 pm

You XY plotting works well.
For people following this post the supplied demo code uses serial strings like #plotsweep~-177.4400~177.00~88.00~44.00~35.00 to represent 5 current analog values which are then plotted and replotted as each #plotsweep string is received. All great stuff.

From an arduino programming perspective you would need to build the serial character string as you read the analog inputs or any calculated variables which would be integers.
Obviously character strings may need to be built up from integers so the itoa function will be required maybe in format itoa (analog1,analog1_txt,10). The raw Analog would be stored into an array before processing. 

Alan I like your future consideration of " User defined visualizers from definition files allowing layout of controls (like dials and gauges, sliders and buttons, graphs etc)"

Regards all

The sample code shows how to build up the strings, a helper function to do it for you and also includes a super useful function for dealing with floats which can be a real pain in the Ar...
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: gsram89 on Dec 28, 2013, 04:18 pm
Exactly what I am looking for. I am trying to monitor the output of 6 potentiometers in real time.  Would love to try out your tool and leave a feedback. Please mail me the same. Thanks and appreciate your time and effort!
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: acboother on Dec 28, 2013, 05:07 pm

Exactly what I am looking for. I am trying to monitor the output of 6 potentiometers in real time.  Would love to try out your tool and leave a feedback. Please mail me the same. Thanks and appreciate your time and effort!


Done
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: dkjbl on Jan 21, 2014, 02:09 pm
Can I also have a chance to try out this plotting tool.

Regards
Jorgen
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: acboother on Jan 22, 2014, 06:35 pm
You have mail.


Can I also have a chance to try out this plotting tool.

Regards
Jorgen
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: Wreckerone on Jan 24, 2014, 08:56 pm
Hi,

I would like to try the tool.

Thanks
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: acboother on Jan 24, 2014, 09:07 pm

Hi,

I would like to try the tool.

Thanks


You have mail
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: DonnyM on Jan 24, 2014, 10:10 pm
Nice looking I would like to try it.

Donny
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: jlizotte on Jan 24, 2014, 10:51 pm
I would also like to try this. It will help me tweak the sketch I'm using on my wheelchair based robot. The ability to call an external program will be VERY helpful. It looks fantastic! Thank you for sharing your work.

John
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: tolisn63 on Jan 26, 2014, 01:51 pm
Hi Alan

Can I try your enhanced serial monitor ?
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: maspap on Feb 02, 2014, 09:11 pm
Hi,
I'd like to test it too.
Thanks!
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: cyclegadget on Feb 03, 2014, 09:27 pm
Your serial monitor is so versatile! I would like to try it also please!

Mark
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: nofed on Feb 13, 2014, 11:37 pm
I would really like to try your serial monitor!
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: acboother on Feb 14, 2014, 09:09 am
Sorry for the delays, I have been busy elsewhere.

You all have emails. Let me know if I've missed anyone.

Cheers Alan
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: thedude37 on Feb 23, 2014, 06:40 pm
Alan,

I would appreciate a copy.

Thanks
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: acboother on Feb 24, 2014, 12:47 pm
You  have mail.

Cheers
Alan


Alan,

I would appreciate a copy.

Thanks
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: granosx on Mar 03, 2014, 05:41 pm

You  have mail.

Cheers
Alan


Alan,

I would appreciate a copy.

Thanks



Would I be able to get a copy as well?

Thanks in advance!
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: acboother on Mar 03, 2014, 08:55 pm
You have mail

Quote
Would I be able to get a copy as well?

Thanks in advance!

Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: rydepier on Mar 15, 2014, 10:26 am
Could I have a copy please. This looks perfect for a hovercraft project I am working on.
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: acboother on Mar 16, 2014, 03:05 pm

Could I have a copy please. This looks perfect for a hovercraft project I am working on.


Yiu have mail
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: cootcraig on Mar 16, 2014, 04:19 pm
I would appreciate a copy also.  Thanks.
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: acboother on Mar 16, 2014, 06:00 pm

I would appreciate a copy also.  Thanks.


You have mail.
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: rydepier on Mar 18, 2014, 07:49 am
Many thanks. It worked straight out of the box. I am very impressed with this software and can see it's going to help in many situations.
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: implayer07 on Mar 20, 2014, 11:08 am
Hi , could I get a copy for this tool too ?

I wanna try it out for my inertial sensor !

Thanks in advance !
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: giangi007 on Mar 22, 2014, 02:52 pm
Hello is it possible to have a copy to test it?

thanks ina advance
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: acboother on Mar 22, 2014, 06:41 pm

Hi , could I get a copy for this tool too ?

I wanna try it out for my inertial sensor !

Thanks in advance !

You have mail
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: acboother on Mar 22, 2014, 06:41 pm

Hello is it possible to have a copy to test it?

thanks ina advance

You have mail
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: uxomm on Mar 25, 2014, 04:25 pm
Looks like a very useful tool!
I would appreciate a copy.

Ux
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: larryd on Mar 25, 2014, 08:53 pm
Fantastic work!
Is it possible to get a copy?
LarryD
Title: Re: Enhanced Serial Monitor - TOOL FINISHED
Post by: acboother on Mar 27, 2014, 05:37 pm
You guys have mail
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: larryd on Mar 27, 2014, 11:18 pm
Let's get some Karma for you!
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: waski on Mar 28, 2014, 02:14 pm
I'd really appreciate a link to download. It's definitely what I was looking for :)  Thank you for your work!
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: acboother on Mar 28, 2014, 02:54 pm

I'd really appreciate a link to download. It's definitely what I was looking for :)  Thank you for your work!


Done
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: JimHarman on Mar 30, 2014, 10:10 pm
Thanks Alan - this is working really well for my application.

A couple of notes on the Histogram:
--The set command and the box at the bottom right set the lower limit and not the midpoint as described in the About. Midpoint would be nicer I think.

--Clicking the Reset button does not clear the histogram immediately, there has to be some other event such as receiving new data or the dialog regaining focus. It would be nice if it reset right away.
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: daniellyall on Mar 31, 2014, 12:53 am
could I have a copy please
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: salvation on Mar 31, 2014, 05:55 pm
Looks like a really excellent project and just what I need. Please send me the link.
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: hfoakley1948 on Mar 31, 2014, 09:28 pm
Looks great. Please send me the link.

Thanks fred
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: acboother on Apr 01, 2014, 09:42 am
More links gone out.

Thanks Fred!!!
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: PaulS on Apr 01, 2014, 01:37 pm

More links gone out.

Thanks Fred!!!


Why don't you just post the link here?
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: acboother on Apr 01, 2014, 05:21 pm


Quote
Why don't you just post the link here?


So I can monitor where/to whom it is being supplied.
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: MadsRavnJensen on Apr 07, 2014, 09:07 am
Hi Allan,

Impressive work I must say. Would it be possible to receive a copy ?

Best regards
Mads
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: lar3ry on Apr 29, 2014, 07:00 am
I just discovereed this thread through browsing around looking at SimPlot. I'd like a copy, please!
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: retrolefty on Apr 29, 2014, 01:10 pm
Hope I'm not too late to the party, may I have a link also?

Thanks;
Lefty
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: acboother on Apr 29, 2014, 01:59 pm
Welcome both of you to the party :)
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: godo on May 06, 2014, 10:25 am
Hi Allan,
wow, very impressive, congratulations. May I get a copy please?
Cheers
Sebastian
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: mpooley on May 12, 2014, 09:45 pm
I would Love to Have a copy of this too. It looks fantastic! 

Mike P
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: acboother on May 13, 2014, 09:27 am
You guys are sorted.

Cheers Alan
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: memodelat on May 16, 2014, 12:58 am
Hi Alan,

extraordinary job, congratulations. May I get a copy too, please?

thanks in advance
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: cnbr28 on May 19, 2014, 05:55 pm
Hello Alan

This looks fantastic and incredibly useful. If it's still available, could you link me to a download?

Many thanks

Paul
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: kd7eir on May 21, 2014, 10:06 am
Thank you for all your work on this!
This is perfect for some projects that I am working on right now.  Could I please get a link as well?
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: acboother on May 21, 2014, 06:34 pm
Couple more dispatched. Hope its what you are looking for.

Cheers Alan
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: (deleted) on May 21, 2014, 06:45 pm
(deleted)
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: alll on May 27, 2014, 11:12 am
Something i was looking for looooong time, a simple way to make microcontroller data to live!

Is there a possibility to have a copy of the "enhanced serial monitor"?

Thank You,
manu
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: acboother on May 27, 2014, 11:29 am
Hope everybody who has asked for this has their copy. If I've missed anyone please get in touch again.

Cheers Alan

Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: Randcook on May 27, 2014, 07:27 pm
Hi Alan,
Is this application only  for WIn32 .
Cheers
Peter
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: kd7eir on May 27, 2014, 07:46 pm
I'm currently running it on Windows 8 X64
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: acboother on May 28, 2014, 12:54 am
What OS are you interested in?


Hi Alan,
Is this application only  for WIn32 .
Cheers
Peter
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: Tobbera on May 28, 2014, 02:51 am
I would like to try this tool out.

/Tobias
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: alll on May 28, 2014, 08:12 am

What OS are you interested in?


Hi Alan,
Is this application only  for WIn32 .
Cheers
Peter



Mac OSX! I have my toolchain (Eclipse / AVR (Arduino)) on MacOSX. This would be wonderful if also available on MacOSX.
Thanks,
Manu
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: acboother on May 28, 2014, 10:49 am
Sorry, only available for Windows

Alan
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: Randcook on May 28, 2014, 01:33 pm
Hi Alan,
OSX would be great
What language have you used?

I have an XP box for the sware which doesn't run on a Mac.
So can I have a copy to try-out

Cheers
Peter
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: acboother on May 28, 2014, 02:25 pm
Let me know how it goes.

Alan


Hi Alan,
OSX would be great
What language have you used?

I have an XP box for the sware which doesn't run on a Mac.
So can I have a copy to try-out

Cheers
Peter
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: Randcook on May 29, 2014, 06:09 pm
Alan,
Installed  and working
Thanks
Peter
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: 12340987 on Jun 02, 2014, 06:59 pm
I would also like a download link please.
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: Budvar10 on Jun 03, 2014, 08:50 am
Very interesting ! Can I have a copy to try?
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: texasstudent01 on Jun 12, 2014, 02:58 am
Can I also get a copy?

Thanks!
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: azammit61 on Jun 22, 2014, 06:07 am
Hello Alan,

I also am interested in getting a copy of the enhanced Serial Monitor. 

regards

alex
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: acboother on Jun 22, 2014, 09:32 am

Hello Alan,

I also am interested in getting a copy of the enhanced Serial Monitor. 

regards

alex


Sorry you are having problems with Arduino ERW, I hope that the Enhanced Serial Monitor will get you going.

Cheers Alan
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: sonicalflair on Jun 22, 2014, 08:47 pm
Hello!  I'm working on building and controlling a split flap display.

http://youtu.be/nQdiGxEqky4

I'm current using the Arduino IDE Serial Monitor to command the display and would love to try your Enhanced Serial Monitor!

thank you!

mlo
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: fabiann on Jul 07, 2014, 03:55 am
*puppy-dog-eyes*


Please, please may I have a copy?
Title: Re: Enhanced Serial Monitor - DOWNLOAD available
Post by: wswong on Jul 10, 2014, 01:51 pm
Hi, it looks very handy. May I request a copy please?

Thanks in advance.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: acboother on Jul 15, 2014, 10:24 pm
Now ready to look into adding new features. Please send me your wish list.

Cheers Alan
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: larryd on Jul 17, 2014, 01:49 am
Had computer problems could I get another copy please?
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: jmgarduino on Oct 05, 2014, 10:38 am
Hi Alan,

I have now been working on a couple of projets related to serial communication using jeenodes but having some dificulties with the code - new to C code! I just saw your post and found it potentially very helpful to enable me to complete the work. It has also provided me with ideas to extend the scope of the work.

I would appreciate if you could email me a copy.

Thanks in advance.

Jose
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: acboother on Oct 05, 2014, 08:15 pm

Hi Alan,

I have now been working on a couple of projets related to serial communication using jeenodes but having some dificulties with the code - new to C code! I just saw your post and found it potentially very helpful to enable me to complete the work. It has also provided me with ideas to extend the scope of the work.

I would appreciate if you could email me a copy.

Thanks in advance.

Jose


Coming your way :)
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: fabiann on Oct 17, 2014, 05:16 am
Hey there,

I had asked for a copy of this some time ago, but I've lost the file. Could you send me another download?
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: acboother on Oct 17, 2014, 12:41 pm

Hey there,

I had asked for a copy of this some time ago, but I've lost the file. Could you send me another download?

Sorted
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: JimHarman on Oct 18, 2014, 01:25 am
Hi Alan,

Your serial monitor is extremely useful and I have been using it for several months. One minor issue I have noticed:

I have a logging application that generates exactly 1,000 data points per day. If I set the PlotSweep to display 1,000 points, at the end of each sweep it plots these points, as displayed at the top right of the window:
999
1000
1001
0
1
2
etc

so it is actually displaying 1,002 points per sweep. If the first point is zero, it should reset after 999. It would be very helpful if you could fix this.

Thanks
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: acboother on Oct 18, 2014, 02:56 am

Hi Alan,

Your serial monitor is extremely useful and I have been using it for several months. One minor issue I have noticed:

I have a logging application that generates exactly 1,000 data points per day. If I set the PlotSweep to display 1,000 points, at the end of each sweep it plots these points, as displayed at the top right of the window:
999
1000
1001
0
1
2
etc

so it is actually displaying 1,002 points per sweep. If the first point is zero, it should reset after 999. It would be very helpful if you could fix this.

Thanks


Hmm, I'll have a look at it net week.

I'm glad you find it useful. I use it all the time. Can't imagine doing a project without knowing what's really going on. Has earned its keep in time saved over and over.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: dmhoke on Oct 20, 2014, 04:29 am
ACBooth

Excellent ! ! ! !

Sounds like something that will fit into an application I'm working on.

What would it take to arrange for a DL?

Experience level required??? :)

hoke
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: acboother on Oct 20, 2014, 10:00 am

ACBooth

Excellent ! ! ! !

Sounds like something that will fit into an application I'm working on.

What would it take to arrange for a DL?

Experience level required??? :)

hoke

You need to be able to write a script and run it on the Arduino to output data in string format according to some simple formatting rules. The download includes code samples and you can see/check your output in the Arduino IDE serial monitor window if you seem to have problems. Unformatted data/strings are simply displayed in the Enhanced Serial Monitor in the same way as the Arduino one.

The supplied code includes helper functions to make the formatting easy.

If your Windows PC is up to date there is no installation process. Copy it to where ever you want and run it.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: dschrisman on Oct 21, 2014, 12:11 am
It appears you may be the person to ask this question...

I have an Arduino sketch which works properly when testing with the serial monitor.

I have a Microsoft VBA routine which also makes the sketch work properly.

Now the problem, The VBA routine does NOTHING until I have first run and closed the Arduino Serial Monitor.

My guess is that there is an initialization string that the Arduino Serial Monitor uses to "start-up" the comm.

Does this sound right, and, do you know what that string would be so I can add it to my VBA start-up routine.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: frandef on Oct 31, 2014, 11:44 am
Great work!

Can I try your software?

Thanks

Francesco
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: sp9mrn on Oct 31, 2014, 09:05 pm
Hi, can I also try?
MAc
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: acboother on Nov 04, 2014, 12:30 pm
It appears you may be the person to ask this question...

I have an Arduino sketch which works properly when testing with the serial monitor.

I have a Microsoft VBA routine which also makes the sketch work properly.

Now the problem, The VBA routine does NOTHING until I have first run and closed the Arduino Serial Monitor.

My guess is that there is an initialization string that the Arduino Serial Monitor uses to "start-up" the comm.

Does this sound right, and, do you know what that string would be so I can add it to my VBA start-up routine.
Sorry for the delay. I don't seem to be getting notifications anymore on the forum nor can I see my outbox :(

I can't imagine what your precise problem is. Perhaps if you post some code it might be easier to see what's going on.

The examples make everything seem so simple but making it (your program) robust is another level of complexity I'm afraid.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: acboother on Nov 04, 2014, 12:37 pm
Great work!

Can I try your software?

Thanks

Francesco
I'll be on it once I can get to grips with this new forum :(
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: acboother on Nov 04, 2014, 12:37 pm
Hi, can I also try?
MAc
I'll be on it once I can get to grips with this new forum :(
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: acboother on Nov 06, 2014, 09:27 am
You guys should now have the links
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: rbright on Nov 07, 2014, 02:33 pm
May I have a copy please, I've lost the previous copy from some time back but suspect you have possibly made some changes.
Regards
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: greenman711 on Nov 08, 2014, 05:11 pm
I would very much like to give your software a try, looks great !
Would you please send me a link.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: Chroma on Nov 09, 2014, 09:02 am
Great work!!

I would like to try it, can you send me the link?

Thanks.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - DOWNLOAD available
Post by: acboother on Nov 20, 2014, 05:12 pm
May I suggest a new helper function to make writing conformant messages to the Enhanced Serial Monitor.

Rather than writing Arduino code like this...


Code: [Select]
sprintf(acOutput,"%s~%s~%s~%s~%s", f2s(lDiff, 0), f2s(lRed, 0), f2s(lBlue, 0), f2s(lGreen, 0), f2s(lOut, 0));
  
SMprint("#plotsweep", acOutput);


where you have to sprintf the string into a char buffer before using the helper function SMprint, you can do it without a separate line of code using this function. SMP manages an internal buffer and allows a variable number of arguments to be passed to it.

Code: [Select]
void SMP(char *sFmt, ...)
{
  char acTmp[128]; // resulting string limited to 128 chars
  va_list args;
  va_start(args, sFmt);
  vsprintf(acTmp, sFmt, args);
  va_end(args);

  printf("%s$%d\n", acTmp, strlen(acTmp));

  return;
}


You can put this into your code or into a library. The function prototype for your library is


Code: [Select]
void SMP(char *sFmt, ...);

And you can then use it like in these examples.

Code: [Select]
SMP("#plotsweep~%s~%s~%s~%d~%d", f2s(fRaw, 0), f2s(fDrive, 0), f2s(fVoltage * 10.0, 0), iPostMap, iRaw);


which also shows the helper function f2s which allows you deal with printing out floating point numbers :)


Code: [Select]
SMP("#lcd~clear");

SMP("#lcd~1~1~  f: %s  %s  %d %d", f2s(fCurrentOffset, 3), f2s(fVoltageOffset, 3), nunchuk.joy_x_offset, nunchuk.joy_y_offset);

  


Cheers Alan
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: rbright on Dec 05, 2014, 02:41 am
Could I have a download link please.
Regards
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: barcesat on Dec 08, 2014, 11:51 am
This looks very nice!
I would really like to test it,
thanks
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: jray on Jan 13, 2015, 11:54 am
Found this great thread while researching for a way to receive data from a datalogger based on Arduino Uno.
Would you please send me a link.?
Cheers
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: Ammitzb on Jan 13, 2015, 11:34 pm
This looks just like the thing I have been looking for - very impressive. I would really appreciate a copy.

Thanks a lot.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: acboother on Jan 14, 2015, 12:35 am
I hope I have dealt with everybody's request but I may have missed someone when the new forum was introduced as my notifications seemed to go wonky for a bit.

If you asked for the link but I haven't replied I'm very sorry and please ask again.

Alan
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: rbright on Jan 14, 2015, 12:59 pm
May I also have a link to the monitor?
Regards
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: r7wsc on Jan 18, 2015, 11:55 am
This looks amazing, just what I need for my traction control project... Please may I have a copy?
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: larryd on Apr 04, 2015, 02:42 am
May I have a link to your monitor?
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: spidyhero on Apr 06, 2015, 12:34 am
hi Alan,

I would appreciate a copy.

Thanks
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: acboother on Apr 06, 2015, 12:50 am
I'll be on this for you guys tomorrow :)
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: shodaiime on May 05, 2015, 09:03 pm
Hi
I'd appreciate to have a copy of the code.
Thanks.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: acboother on May 05, 2015, 09:58 pm
Hi
I'd appreciate to have a copy of the code.
Thanks.
Sorry the code isn't available.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: shodaiime on May 06, 2015, 10:19 pm
Hi Acboother

 I would like to try your software, can you send me the link?

Thanks

Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: Isaac96 on May 10, 2015, 01:00 am
Hi
Can you send me the link?
This looks super cool. :)
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: acboother on May 10, 2015, 08:30 am
You guys have mail.

Cheers Alan
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: Isaac96 on May 10, 2015, 09:21 pm
So here's my pic of the PS3 screen.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: acboother on May 10, 2015, 11:48 pm
That's really odd. It seems corrupted. I'll investigate.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: acboother on May 11, 2015, 11:47 am
It was corrupted. The file on the server was 500'ish bytes smaller than the one I have. I guess everything else was fine otherwise there would have been other problems showing up.


So a new file is in place with the same link as before. Anyone previously downloading can re-download if they want, especially if they want to use the PS3 visualiser for a controller interface.

Cheers Alan
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: Isaac96 on May 18, 2015, 03:49 am
Awesome! The updated version looks great! Could you post some examples for the PS3 visualiser?
Thanks! :)
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: acboother on May 25, 2015, 10:42 am
Awesome! The updated version looks great! Could you post some examples for the PS3 visualiser?
Thanks! :)
I'm not sure what you are looking for but...

You need to build up a control string to send to the Enhanced Serial Monitor like this

   
Code: [Select]
SMP("#PS3~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d",
        ps3.data.joy_left_x,        ps3.data.joy_left_y,    ps3.data.joy_right_x,   ps3.data.joy_right_y,
        ps3.data.btn_joy_left,      ps3.data.btn_joy_right,
        ps3.data.accel_x,           ps3.data.accel_y,
        ps3.data.press_up,          ps3.data.press_right,   ps3.data.press_down,    ps3.data.press_left,
        ps3.data.press_l1,          ps3.data.press_l2,      ps3.data.press_r1,      ps3.data.press_r2,
        ps3.data.press_triangle,    ps3.data.press_circle,  ps3.data.press_x,       ps3.data.press_square,
        ps3.data.btn_select,        ps3.data.btn_start,     ps3.data.btn_ps3);


Where the data structure referred to is


Code: [Select]

 struct _data{
 unsigned char joy_left_x;
 unsigned char joy_left_y;
 unsigned char joy_right_x;
 unsigned char joy_right_y;
 unsigned char accel_x;
 unsigned char accel_y;
 unsigned char press_up;
 unsigned char press_right;
 unsigned char press_down;
 unsigned char press_left;
 unsigned char press_l2;
 unsigned char press_r2;
 unsigned char press_l1;
 unsigned char press_r1;
 unsigned char press_triangle;
 unsigned char press_circle;
 unsigned char press_x;
 unsigned char press_square;
 unsigned char btn_left;
 unsigned char btn_down;
 unsigned char btn_right;
 unsigned char btn_up;
 unsigned char btn_start;
 unsigned char btn_joy_right;
 unsigned char btn_joy_left;
 unsigned char btn_select;
 unsigned char btn_square;
 unsigned char btn_x;
 unsigned char btn_circle;
 unsigned char btn_triangle;
 unsigned char btn_rt;
 unsigned char btn_lt;
 unsigned char btn_rb;
 unsigned char btn_lb;
 unsigned char btn_ps3;
 }data;

        
This is read and populated after reading a USB host device the PS3 controller plugs into using I2C.

I used the visualiser to confirm the buttons etc were in the right place in the structure. It also showed me the dead spaces, if any, around the zero positions for the sticks, whether they returned to thier zero positions (worn controllers didn't) and how precisely the pressure sensitive buttons can be pressed.

You can populate the above string in anyway you are able to read your PS3 controller of course. Also you can populate it with any source of data and I used it with data from Nunchuks and filled the unused data with zeros. This showed me things like C and Z buttons not working as expected on a clone Nunchuk and also the different dead spaces the manufactures chose by their choice of dead zones in the potentiometers installed.

I toyed with emulating a sender to the Arduino from this visualiser but was able to do all I needed with the standard one in the ESM
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: majhi on Jun 07, 2015, 07:08 am
I would like to try your tool, please.  Cheers.
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: acboother on Jun 08, 2015, 09:32 am
I would like to try your tool, please.  Cheers.
Sorted
Title: Re: Enhanced Serial Monitor (11 Visulisers, sample code) - new helper function
Post by: acboother on Jun 08, 2015, 10:01 am
I am on the cusp of doing some updates and logging to a file is on the list.

This is likely to be in the form of a CSV file so it can be loaded into Excel or otherwise simply processed. As with the other visualiser interfaces you would be able to control it from the ESM or with commands from the Arduino such as (these are ideas and hopefully self explanatory)

Code: [Select]
"#log~file~C:\myarduino\run.csv"    
  // for example or just log it and write it out later
  // option to create/overwrite file etc
"#log~start"
"#log~pause"
"#log~restart"
"#log~stop"


and actual sending of header and data
Code: [Select]
#log~~~~~~~~~~"
where the data for each column fits between the ~ markers as with the other visualisers.

As you can see you could write anything out of course and not a column formatted file.

Any input appreciated
Title: Re: Enhanced Serial Monitor - file logging option?
Post by: acboother on Jun 08, 2015, 10:06 am
...and the column delimiter

Code: [Select]

"#log~delim~,"

  // use the comma otherwise defaults to a tab character if not set
Title: Re: Enhanced Serial Monitor - file logging option?
Post by: Isaac96 on Jun 09, 2015, 09:54 pm
Well, I am trying to find out a way to control one of the axes with a potentiometer. Would I change the 'joy_left_x' value to do so?
Title: Re: Enhanced Serial Monitor - file logging option?
Post by: acboother on Jun 10, 2015, 12:53 am
Well, I am trying to find out a way to control one of the axes with a potentiometer. Would I change the 'joy_left_x' value to do so?
Yes, that would work but make sure you read off the wiper pin of the pot and have the other connected to 5v and gnd... sorry if that was something you already knew.

The value you read from the pot will be between 0 and 1023 whereas the input to the PS3 visualiser will be expecting 0 to 255.

You can use the map function like this

Code: [Select]
int iVal = map(analogRead(APOT), 0, 1023, 0, 255);

BUT...

You'll find that

Code: [Select]

int iVal = map(analogRead(APOT), 0, 1020, 0, 255);


will yield a better distribution of iVal's at the 255 end of the 'scale'
Title: Re: Enhanced Serial Monitor - file logging option?
Post by: JimHarman on Jun 13, 2015, 08:49 pm
Logging to a file would be very useful for me. The format you propose would be fine. I would like a copy when this is available please.

Also some of the other tweaks I have suggested in the past would be very useful if you have not done them already:

Plotsweep:
-- Fix so if xdatapointcount is set to 1000 it resets after # 999 for a total of 1000 points. My copy resets at 1001 for a total of 1002.

--(new) It would be nice if when you specify the yrange it turned off Auto, or if there was a way to explicitly turn it on and off. Currently Auto defaults to checked and there is no message to explicitly turn it off.

Histogram:
--The set command and the box at the bottom right set the lower limit and not the midpoint as described in the About. Midpoint would be nicer I think.

--Clicking the Reset button does not clear the histogram immediately, there has to be some other event such as receiving new data or the dialog regaining focus. It would be nice if it reset right away.

Thanks again for a very useful tool!
Title: Re: Enhanced Serial Monitor - file logging option?
Post by: acboother on Jun 14, 2015, 12:54 pm
I'll get on with it next week :)
Title: Re: Enhanced Serial Monitor - file logging option?
Post by: Isaac96 on Jun 14, 2015, 06:30 pm
Ok, this is my current code. I am not quite sure how to get it to work.
Code: [Select]

// This is not the only, nor best, code - just an example.

// copy this code into a sketch
int n;
char acInput[100];
char acOutput[100];
unsigned long ulMillis;

 const char* joy_left_x;
 const char* joy_left_y;
 const char* joy_right_x;
 const char* joy_right_y;
 const char* accel_x;
 const char* accel_y;
 const char* press_up;
 const char* press_right;
 const char* press_down;
 const char* press_left;
 const char* press_l2;
 const char* press_r2;
 const char* press_l1;
 const char* press_r1;
 const char* press_triangle;
 const char* press_circle;
 const char* press_x;
 const char* press_square;
 const char* btn_left;
 const char* btn_down;
 const char* btn_right;
 const char* btn_up;
 const char* btn_start;
 const char* btn_joy_right;
 const char* btn_joy_left;
 const char* btn_select;
 const char* btn_square;
 const char* btn_x;
 const char* btn_circle;
 const char* btn_triangle;
 const char* btn_rt;
 const char* btn_lt;
 const char* btn_rb;
 const char* btn_lb;
 const char* btn_ps3;
 
void setup() {
  Serial.begin(9600);
  printf_begin();

  SMprint("#BEEP", "");

  delay(100);

  return;
}

void loop() {
  if(millis() - ulMillis > 100) // only update after a period of time has passed
  {
   SMprint("#PS3~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d",
        joy_left_x,        joy_left_y,    joy_right_x,   joy_right_y,
        btn_joy_left,      btn_joy_right,
        accel_x,           accel_y,
        press_up,          press_right,   press_down,    press_left,
        press_l1,          press_l2,      press_r1,      press_r2,
        press_triangle,    press_circle,  press_x,       press_square,
        btn_select,        btn_start,     btn_ps3);
 }

 if(Serial.available()) // look out for input from serial monitor sender
 {
  if(Serial.peek() == 35)
  {
    n = 0;
    while (n < sizeof(acInput))
    {
      if (Serial.available())
      {
        acInput[n] = Serial.read();
        acInput[n+1] = 0;
        if(acInput[n] == 10)
        {
          char *psCmd, *psVar;
          psCmd = strtok(acInput,"~");
          sUpper(psCmd);
          if(strcmp("#SET", psCmd) == 0)
          {
            psVar =  sUpper(strtok(NULL,"~"));
            char * psData = strtok(NULL,"~");
            float fSet = atof(psData);
            if (strcmp("P", psVar) == 0)
            {
               // set variable in your sketch to fSet
            }
            else if (strcmp("I", psVar) == 0)
            {
               // set some other variable in your sketch to fSet
            }
           }
           break;
          }
          n++;
        }
      }
    }
    else
    {
     Serial.read();
    }
  }
}

// helper functions
// uppercase strings
char * sUpper(char *pStr)
{
    char *pStart = pStr;
    while(*pStr)
    {
        *pStr = toupper(*pStr);
        *pStr++;
    }
    return pStart;
}
// formatter for serial monitor - NOTE the length info checked by the serial monitor
void SMprint(const char *sCmd, const char *sText)
{
    printf("%s~%s$%d\n", sCmd, sText, strlen(sText) + strlen(sCmd) + 1);
    return;
}
// maps printf family to Serial
int serial_putc(char c, FILE *)
{
  Serial.write(c);
  return c;
}
// begin printf family support
void printf_begin(void)
{
  fdevopen(&serial_putc, 0);
}
// printer helper for float support
char * f2s(float f, int p){
  char * pBuff;                         // use to remember which part of the buffer to use for dtostrf
  const int iSize = 10;                 // number of bufffers, one for each float before wrapping around
  static char sBuff[iSize][20];         // space for 20 characters including NULL terminator for each float
  static int iCount = 0;                // keep a tab of next place in sBuff to use
  pBuff = sBuff[iCount];                // use this buffer
  if(iCount >= iSize -1){               // check for wrap
    iCount = 0;                         // if wrapping start again and reset
  }
  else{
    iCount++;                           // advance the counter
  }
 return dtostrf(f, 0, p, pBuff);       // call the library function
}


But it gives me errors:

Code: [Select]
Arduino: 1.6.4 (Windows 7), Board: "Arduino Uno"

Build options changed, rebuilding all



C:\Users\Isaac\AppData\Roaming\Arduino15\packages\arduino\tools\avr-gcc\4.8.1-arduino5/bin/avr-g++ -c -g -Os -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10604 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\Isaac\AppData\Roaming\Arduino15\packages\arduino\hardware\avr\1.6.7\cores\arduino -IC:\Users\Isaac\AppData\Roaming\Arduino15\packages\arduino\hardware\avr\1.6.7\variants\standard C:\Users\Isaac\AppData\Local\Temp\build831738289607539306.tmp\SMCAFE_example_PS3.cpp -o C:\Users\Isaac\AppData\Local\Temp\build831738289607539306.tmp\SMCAFE_example_PS3.cpp.o

SMCAFE_example_PS3.ino: In function 'void loop()':
SMCAFE_example_PS3.ino:66:54: error: too many arguments to function 'void SMprint(const char*, const char*)'
SMCAFE_example_PS3.ino:8:6: note: declared here
too many arguments to function 'void SMprint(const char*, const char*)'


What am I doing wrong? ( I don't really understand this as well as I should.)
Title: Re: Enhanced Serial Monitor - file logging option?
Post by: acboother on Jun 14, 2015, 08:35 pm
I have fixed the code for you. I have used the most recent functions for formatting the printing which I currently use in a library file called _util

When/why it stopped I don't know but it doesn't compile under 1.6.4 or 1.6.3

Code: [Select]

#include <SPI.h>
#include <Wire.h>
#include <_util.h>


// This is not the only, nor best, code - just an example.

// copy this code into a sketch
int n;
char acInput[100];
unsigned long ulMillis;

 const char* joy_left_x;
 const char* joy_left_y;
 const char* joy_right_x;
 const char* joy_right_y;
 const char* accel_x;
 const char* accel_y;
 const char* press_up;
 const char* press_right;
 const char* press_down;
 const char* press_left;
 const char* press_l2;
 const char* press_r2;
 const char* press_l1;
 const char* press_r1;
 const char* press_triangle;
 const char* press_circle;
 const char* press_x;
 const char* press_square;
 const char* btn_left;
 const char* btn_down;
 const char* btn_right;
 const char* btn_up;
 const char* btn_start;
 const char* btn_joy_right;
 const char* btn_joy_left;
 const char* btn_select;
 const char* btn_square;
 const char* btn_x;
 const char* btn_circle;
 const char* btn_triangle;
 const char* btn_rt;
 const char* btn_lt;
 const char* btn_rb;
 const char* btn_lb;
 const char* btn_ps3;
 
void setup() {
  Serial.begin(9600);
  printf_begin();

  SMP("#BEEP", "");

  delay(100);

  return;
}

void loop() {
  if(millis() - ulMillis > 100) // only update after a period of time has passed
  {
   SMP("#PS3~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d~%d",
        joy_left_x,        joy_left_y,    joy_right_x,   joy_right_y,
        btn_joy_left,      btn_joy_right,
        accel_x,           accel_y,
        press_up,          press_right,   press_down,    press_left,
        press_l1,          press_l2,      press_r1,      press_r2,
        press_triangle,    press_circle,  press_x,       press_square,
        btn_select,        btn_start,     btn_ps3);
 }

 if(Serial.available()) // look out for input from serial monitor sender
 {
  if(Serial.peek() == 35)
  {
    n = 0;
    while (n < sizeof(acInput))
    {
      if (Serial.available())
      {
        acInput[n] = Serial.read();
        acInput[n+1] = 0;
        if(acInput[n] == 10)
        {
          char *psCmd, *psVar;
          psCmd = strtok(acInput,"~");
          sUpper(psCmd);
          if(strcmp("#SET", psCmd) == 0)
          {
            psVar =  sUpper(strtok(NULL,"~"));
            char * psData = strtok(NULL,"~");
            float fSet = atof(psData);
            if (strcmp("P", psVar) == 0)
            {
               // set variable in your sketch to fSet
            }
            else if (strcmp("I", psVar) == 0)
            {
               // set some other variable in your sketch to fSet
            }
           }
           break;
          }
          n++;
        }
      }
    }
    else
    {
     Serial.read();
    }
  }
}


As you will see the function SMprint is replaced with SMP

The _util.cpp file is here

Code: [Select]
/*

    Please feel free to use this as you wish... I'm sure some enterprising coder will improve it :)

    Alan Boother 2013/07/03
*/


#include <stdlib.h>
#include <stdio.h>
#include "_util.h"
//--------------------------------------------------------------------------------------
char * sUpper(char *pStr)
{
    char *pStart = pStr;

    while(*pStr)
    {
        *pStr = toupper(*pStr);
        *pStr++;
    }

    return pStart;
}
//--------------------------------------------------------------------------------------
/*
From SurferTim, Miramar Beach - Arduino Forum
*/
int freeRam() {
  extern int __heap_start,*__brkval;
  int v;
  return (int)&v - (__brkval == 0 ? (int)&__heap_start : (int) __brkval);
}

/*
    Utility function for use in printing floats into buffers like sprintf(...

    The library function dtostrf is the basis of this utility. It does a lot of work
    in converting floats to strings but what makes it a bit irritating is that it needs
    a buffer to write the float into which makes it very cumbersome in in-line code -
    just rewrite the sprintf example below using dtostrf!

    A collection of static char buffers is maintained in the function so that they are used
    consequtively with each call. A single buffer cannot be used when the function is used
    as a parameter to a call like sprintf in the example/test code below. This is simply because
    the compiler writes the code so that all the calls to fs2 are made before passing the
    results of the calls to the routine sprintf.

    This function does hard work of cycling through the internal buffers. The default
    number of buffers is 10 so a sprintf, for example, with more than 10 calls to fs2 will
    overwrite the the beginning of the buffer. Avoid this by making a subsequent call to sprintf.
*/
char * f2s(float f, int p){
  char * pBuff;                         // use to remember which part of the buffer to use for dtostrf
  const int iSize = 10;                 // number of bufffers, one for each float before wrapping around
  static char sBuff[iSize][20];         // space for 20 characters including NULL terminator for each float
  static int iCount = 0;                // keep a tab of next place in sBuff to use
  pBuff = sBuff[iCount];                // use this buffer
  if(iCount >= iSize -1){               // check for wrap
    iCount = 0;                         // if wrapping start again and reset
  }
  else{
    iCount++;                           // advance the counter
  }
  return dtostrf(f, 0, p, pBuff);       // call the library function
}
//--------------------------------------------------------------------------------------
int serial_putc(char c, FILE *)
{
  Serial.write(c);
  return c;
}
//--------------------------------------------------------------------------------------
void printf_begin(void)
{
  fdevopen(&serial_putc, 0);
}
//--------------------------------------------------------------------------------------
char * _S(const char * pPString){
  char * pBuff;                         // use to remember which part of the buffer to use for dtostrf
  const int iSize = 4;                  // number of bufffers, one for each PSTRING before wrapping around
  static char sBuff[iSize][40];         // space for 40 characters including NULL terminator for each string
  static int iCount = 0;                // keep a tab of next place in sBuff to use
  pBuff = sBuff[iCount];                // use this buffer
  if(iCount >= iSize -1){               // check for wrap
    iCount = 0;                         // if wrapping start again and reset
  }
  else{
    iCount++;                           // advance the counter
  }
  strcpy_P(sBuff[iCount], pPString);
  return sBuff[iCount];
}
//--------------------------------------------------------------------------------------
void SMP(char *sFmt, ...)
{
  char acTmp[128]; // resulting string limited
  va_list args;
  va_start(args, sFmt);
  vsprintf(acTmp, sFmt, args);
  va_end(args);

  printf("%s$%d\n", acTmp, strlen(acTmp));

  return;
}
//-------------------------------------------------------------------------------------------


and the _util.h file is here

Code: [Select]

#ifndef _util_h
#define _util_h

#include <stdlib.h>
#include <stdio.h>
#include <SPI.h>
#include <Wire.h>
#include <avr/pgmspace.h>

char * sUpper(char *pStr);
char * f2s(float fValue, int iPrecision);
#define S(str) _S(PSTR(str))
#define PSTRING(buff, str) static char buff[] PROGMEM = str
char * _S(const char * pPString);
int serial_putc(char c, FILE *);
void printf_begin(void);
void SMP(char *sFmt, ...);

int freeRam(void);

#endif // _util_h



I don't know when/where the function SMprint stopped compiling but this one is much nicer as it means you don't have to allocate a buffer to put your data into. The buffer, 128 bytes, is inside the function as it were.

Hope this gets you going again.

Alan
Title: Re: Enhanced Serial Monitor - file logging option?
Post by: acboother on Jun 14, 2015, 08:41 pm
I'm working on the next release so I will change the sample code in the About at the same time.

Title: Re: Enhanced Serial Monitor - file logging option?
Post by: acboother on Jun 15, 2015, 04:00 pm
Plotsweep:
-- Fix so if xdatapointcount is set to 1000 it resets after # 999 for a total of 1000 points. My copy resets at 1001 for a total of 1002.

--(new) It would be nice if when you specify the yrange it turned off Auto, or if there was a way to explicitly turn it on and off. Currently Auto defaults to checked and there is no message to explicitly turn it off.

Histogram:
--The set command and the box at the bottom right set the lower limit and not the midpoint as described in the About. Midpoint would be nicer I think.

--Clicking the Reset button does not clear the histogram immediately, there has to be some other event such as receiving new data or the dialog regaining focus. It would be nice if it reset right away.

Thanks again for a very useful tool!

Plotsweep
Auto is turned off when mid or interval is set.

Not sure about the range issue. I treat it like a piece of graph paper so 0 to 10 on the x-axis will have 11 points, 0 to 200 would be 201 and so on. I think this is the way I have written the code. I prefer to keep this working this way so I have added a "#plotsweep~reset" command you can send from the Arduino to set the sweep back to the beginning. I image you could then send this command in after 1000 points and have the plot look like what you hope for?

Histogram
The setting is now for mid point and clear does it job straight away

Log
#log~open~filename will open or create the file specified. For creating the file the folder has to already exist.

#log~close will close the file if already open

#log~delete will delete the file if already open. Use to start a new log in it for example.

#log~any text you want
will send "any text you want" to the log visualiser. Cannot send text like "open" as they will be interpreted as commands

The logging will still be recorded in the log visualiser even if a file is not open for writing to.

The user interface has a way to open and close the file directly.

also the standard commands will do what is expected
"#log~clear"
"#log~pause-on"
"#log~pause-off"

Also the other visualisers have an option to copy their input to the log. This can aid in development.

The file output to the log file is in ASCII can be subsequently used in a text editor, eXcel or what ever you need.

All visualisers now support the following standard commands and options on screen where appropriate:-

~clear
~pause-on
~pause-off
~log-on
~log-off


Cosmetic improvements and little bugs removed.

Now writing on-line help system and debugging... a fews days yet then :( before release.
Title: Re: Enhanced Serial Monitor - file logging option?
Post by: Isaac96 on Jun 15, 2015, 07:00 pm
Ok, the PS3 is compiling at least. I haven't had time to test it yet.
Title: Re: Enhanced Serial Monitor - file logging option?
Post by: acboother on Jun 22, 2015, 09:48 pm
New version of Enhanced Serial Monitor (ESM) 3.1 now available. Many little fixes (cosmetics, bugs and features).

Big changes are the support for output to file with a new logger visualiser plus all the existing ones can echo their input to the logger.

Also the support for writing out to the ESM and reading from it and the Arduino IDE updated completely with new functions. Same underlying messages but much easier to use function library.

The help is now online and can be found here (http://alanboother.co.uk/project-cafe/esm/).

Download is the same as before but with the program name replaced with SerialMonitor3_1.exe If you have lost your download link or are a new user please leave a message here and I will send you the new one.

Cheers Alan
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: larryd on Jun 23, 2015, 04:20 am
@acboother

Thanks for sharing the work on your project.
Would you send me the download link again.

+1

.
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: Isaac96 on Jun 23, 2015, 04:23 pm
Could I have the link again too?
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Jul 09, 2015, 11:03 am
Done :)
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: vicmic on Jul 15, 2015, 05:20 pm
Really nice screenshot of Your Enhanced Serial Monitor!
It's that what I need for my project.
How I can download and try it?
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: YuriRzhanov on Jul 15, 2015, 10:25 pm
I would like to try it too, if possible.

Cheers,
    Yuri
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Jul 16, 2015, 09:46 am
GROAN....


Downloading problems!?!?


Because this program is only downloaded a few times compared to others Chrome and Avast (may be others) throw up a warning. This looks like the problem:


http://www.basicsimple.info/2015/02/22/avast-blocking-download.html (http://www.basicsimple.info/2015/02/22/avast-blocking-download.html)

A real irritant! Catch22 as the author says.
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Jul 16, 2015, 09:57 am
wow!

2 questions came up:
Can I save the plots made as JPG, (or better as csv file and rerun ?)
support for VT100 emulator?


The new version now has full logging support.
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: Isaac96 on Jul 17, 2015, 11:16 pm
Downloaded it 15 times.  :o That should help. BTW, I am using Chrome and Windows 7 with no antivirus.
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Jul 18, 2015, 10:08 am
Downloaded it 15 times.  :o That should help. BTW, I am using Chrome and Windows 7 with no antivirus.
Thank you
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: copjohn on Jul 25, 2015, 06:44 am
Hi acboother is it possible to post alink for your latest version or send me a copy.
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: sterks on Sep 13, 2015, 01:33 am
Alan,
Your ESM looks awesome. I would like to try it out with my Arduino Due.

I noticed on the Instructibles page you mention a planned enhancement to format output or Excel. Is this in the latest 3.1?

Please be so kind as to send me the latest download link.
Thank you,
Glenn
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Sep 13, 2015, 09:05 am
The latest has a logging options which can also be sent to a file. All the visualisers can be logged plus a (almost) free format logging tool.

It doesn't write directly into Excel cells using any interprocess method so you have to import/open the file in Excel or a text editor or your favourite tool.

Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: Isaac96 on Sep 18, 2015, 01:56 am
Hello. I'm back again!
Why don't you just post the link to the .exe in the first post?
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: JimHarman on Nov 07, 2015, 07:15 pm
I am getting a lot of use out of your ESM but I have couple of questions:

1) How do you specify the color in PlotXY? I did not see an example of this in the Help.

2) Is there a way to get it to store the setup strings in Flash, along the lines of F()? My sketch needs every last bit of RAM.

Thanks for making available very useful tool

Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: larryd on Nov 08, 2015, 04:24 am
If possible would you send/link me the latest version.
Great work.


.
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Nov 08, 2015, 09:32 am
I am getting a lot of use out of your ESM but I have couple of questions:

1) How do you specify the color in PlotXY? I did not see an example of this in the Help.

2) Is there a way to get it to store the setup strings in Flash, along the lines of F()? My sketch needs every last bit of RAM.

Thanks for making available very useful tool


I left the parameter off the help file but it is in the tool. #PLOTXY~x~y~c where c is a number 0 to 4 for five colours of cross. Actually you can use any number for the colour and it will turn it into an integer and wrap around 0 to 4.

There is nothing special about the strings in the library code so you can replace them with whatever method you need to if you are having memory problems.

Pleased you like the ESM.

Cheers Alan
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Nov 08, 2015, 09:35 am
If possible would you send/link me the latest version.
Great work.

You have PM.

Cheers Alan
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: larryd on Nov 08, 2015, 07:31 pm
Thank you Alan
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: Tvixen on Nov 14, 2015, 02:48 pm
Hi Alan,

I would appreciate a copy.

Thanks
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Nov 14, 2015, 03:23 pm
Hi Alan,

I would appreciate a copy.

Thanks
Sorted
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: gadgfreak on Sep 15, 2016, 03:40 pm
Sorry - I just found this, is there any way I could get a copy for testing?
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: ballscrewbob on Sep 16, 2016, 02:30 pm
Could I please request a copy to try with an errant MKR serial issue.
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Sep 19, 2016, 10:25 am
You guys now have links.

Alan
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: aggrav8d on Sep 20, 2016, 09:38 pm
Where is the git project?
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Sep 21, 2016, 12:53 am
Where is the git project?
What are you talking about?
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: microcat on Sep 22, 2016, 02:22 pm
aggrav8d: His software is closed source proprietary, so there is no GIT project. You have to request the software here on the forum and he will email you a download link.

acboother: https://en.wikipedia.org/wiki/Git
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: caniggia on Nov 07, 2016, 11:32 am
Hi,

I would appreciate a copy.

Thanks
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Nov 07, 2016, 04:56 pm
You have PM

Lets us know what you use it for.

Cheers Alan
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: caniggia on Nov 08, 2016, 01:29 pm
Hi Alan

Thanks for the link.
I have tested it a little bit w/o any HW.
And i think it's a great tool for quick visualization.

But i need to know one thing:
Whats the license of this app and library?
Is it just for personal use, or may i use it at work?


BR
caniggia
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Nov 08, 2016, 05:50 pm
You have PM

Cheers
Alan

Hi Alan

Thanks for the link.
I have tested it a little bit w/o any HW.
And i think it's a great tool for quick visualization.

But i need to know one thing:
Whats the license of this app and library?
Is it just for personal use, or may i use it at work?


BR
caniggia

Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: ameliaamelia on Nov 29, 2016, 10:44 pm
I am an old man who likes to write software lines.
For my home automation project, I'm using Arduino Due (15 in total, my house is very large).
I would be most grateful if you send me a copy of your work.
Many thanks.

amelia
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Nov 30, 2016, 10:13 am
@ameliaamelia you have mail

Alan
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: wichmannr on Dec 02, 2016, 05:58 pm
Hi acboother,

I would appreciate if you could also send me a link
to your Enhanced Serial Monitor.

Many thanks in advance

Rolf
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Dec 02, 2016, 06:02 pm
Hi acboother,

I would appreciate if you could also send me a link
to your Ehanced Serial Monitor.

Many thanks in advance

Rolf

You have a PM.

Alan
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: werther86 on Dec 15, 2016, 12:30 am
Hi,
If possible I'd like to get a copy as well.
Willing to plot my analog sensors, IMU, temp etc for kinda hobby project.
Thanks
Title: Re: Enhanced Serial Monitor - Version 3.1 now available
Post by: acboother on Dec 15, 2016, 10:27 am
Hi,
If possible I'd like to get a copy as well.
Willing to plot my analog sensors, IMU, temp etc for kinda hobby project.
Thanks
I hope you find the ESM useful.

Some advice, apologies if this is what you generally do anyway, especially for the IMU. I found the algorithm development for the IMU quite a challenge and the visualiser very helpful. The output from the IMU devices suffers from noise on the signal and drifts which you will have to deal with in the code.

Start by simulating the output from the IMU by sending data from your Arduino, perhaps simulating altering of the angle of the IMU by adjusting potentiometers for example. Make sure you see the small 'aeroplane' in the visualiser doing what you expect. Then start collecting data and outputting the real values in place of the simulated ones. If you haven't got the code to stabilise the signal you will see the 'aeroplane' jittering around and even possibly also rolling over with time! Time now, to work on the algorithm... good luck.

Alan

Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: acboother on Apr 17, 2017, 08:34 am
Version 3.1.3 now available with support for additional baud rates of 500000, 1000000 and 2000000. For those people already with a download link simply replace the program name with SerialMonitor3_1_3.exe.

Anyone else interested enough please email me or post a message in this thread.

Cheers, Alan (16th April 2017)
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: BobW99 on Jun 16, 2017, 12:23 am
Sounds like this may be the ticket to retrieve the data from a Flywheel Dyno. Would love a copy.
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: acboother on Jun 16, 2017, 10:03 am
Sounds like this may be the ticket to retrieve the data from a Flywheel Dyno. Would love a copy.
Probably will do what you want. You have mail.

Is this dyno full size or for models? Tell us a bit more please.

Alan
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: Steve_ on Jun 26, 2017, 11:48 am
Would love a copy to use for viewing the output of an oxygen, a temperature and a humidity sensor.

Steve
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: acboother on Jun 26, 2017, 12:12 pm
Steve_ you have PM. Hope it does what you want.

Alan
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: acboother on Sep 18, 2017, 01:39 pm
Version 4 now available

https://forum.arduino.cc/index.php?topic=500805.0 (https://forum.arduino.cc/index.php?topic=500805.0)
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: cesr2330 on Aug 12, 2019, 04:06 pm
Good morning, I am from Colombia, and I am in a project that consists of graphing signals from pressure, flow, temperature sensors, among others.

It is necessary to have a sampling frequency of at least 20 milliseconds, so far I have only been able to make measurements to more than 60 milliseconds, but it is necessary to decrease that value. When I try to lower the frequency, the program closes.

I don't know how to solve that problem in my project, and I would love to be able to guide you with your proposal.

Thank you very much for your attention.
When under 30 milliseconds, the SerialPortDataRecived generates error. "Modified collection enumeration operation cannot be executed."

Sorry for my English, I'm still learning.

Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: acboother on Aug 12, 2019, 09:51 pm
Hi, I'm not really sure what you have going on there. Perhaps you are sending too much data for the performance of your PC. What PC are you using for this?

Have you tried comms at higher baud rates?

May be you should migrate to version 4 but you will have to make a few changes to your messages but its not too difficult to do. https://forum.arduino.cc/index.php?topic=500805.0 (https://forum.arduino.cc/index.php?topic=500805.0)

This is faster and the message packs are also smaller which helps.

There will be a time a limit to how much data you can send to the ESM. Perhaps you have reached that limit? If so you will have to send less, collect data up and send in a separate faze or only use a text visualiser like the LOG.

Alan
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: GoForSmoke on Aug 18, 2019, 09:55 am
I tripped across this thread looking for something else so haven't read through the 14 pages.

Does your serial monitor have any kind of cursor controls?

I coded for ANSI terminals for over 10 years, both VTxxx and Wysexxx and later on terminal programs on x86 PC's.

Once you have cursor controls you can end the scrolling, print labels like you would for a report and display values for them and the values can be changed right in their places exactly like you would do with LCD or TFT displays.

I wrote a lot of business software that used edit and report screens that way and do have an example sketch for Arduino writing to a software terminal window that does have to be set up which is more than beginners would like to do. In a box in the bottom of the display it shows a ball (char 'O') bouncing inside of a box... I had to use time code to slow that down enough to see, Arduino absolutely wipes up doing text work!
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: acboother on Aug 18, 2019, 02:27 pm
Sorry no terminal emulation available. I wrote VT100 emulator years ago for PCs and I don't think I'll be going back down that path again. Cursor control... may be I'll have a think on that one.


Version 3 of the ESM has been replaced with V4. https://forum.arduino.cc/index.php?topic=500805.0 (https://forum.arduino.cc/index.php?topic=500805.0)

A new update of 4 is due soon with some clean ups.
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: GoForSmoke on Aug 19, 2019, 05:05 am
Cursor control including clear screen/form feed is all it would take to bring serial monitor up to next level uses.

The other critical function is key entry rather than line entry. Keys need to be seen as they are pressed or released to allow responsive user IO.

We already have software terminals. Windoze has Hyperterminal and PuTTY and Linux has several choices. The PITA part especially for beginners is the setup.

Attached is a >9000 byte post sample, it's not -the- best demo but it does demonstrate key entry and cursor control on a PC terminal. The box and ball are from a demo I wrote for microTutor at the UofD back in 81 or 82.
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: acboother on Aug 19, 2019, 10:42 am
You will see I took out some simple 'keyboard' entry options out when I went from v3 to v4.

Simulating a keyboard to send 'keystrokes' to the Arduino? Is that what you are suggesting?

And then a set of messages that work with the "LCD" type screen that can be sent from the Arduino to the ESM?

Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: GoForSmoke on Aug 19, 2019, 05:24 pm
You will see I took out some simple 'keyboard' entry options out when I went from v3 to v4.

Simulating a keyboard to send 'keystrokes' to the Arduino? Is that what you are suggesting?

And then a set of messages that work with the "LCD" type screen that can be sent from the Arduino to the ESM?


Simulating a keyboard? I don't think so.. I mean when a real PC keyboard key is pressed it should send the key to the Arduino immediately without echo, what VT100 does. That is as opposed to the IDE SM that uses line entry. Like edlin vs vi editing.

Your PC keyboard can be used as a button box, every char on-screen can be used like a led without wiring anything. That is what the sketch I attached shows, you hit the right keys to change the motion of the "ball" in the box and it responds immediately. It allows a whole lot to be shown w/o wiring anything.

In the early-mid 80's my fave cursor controls were done by printing char values smaller than 0x20. They take fewer bytes than Esc chars. IIRC my Wyse to Z80 ran at 19200 baud, the fewer chars sent the faster the screen would hop.

Yeah, that demo uses Esc chars... I know. I could find the Esc chars docs but not using non-printables for one space left, right, up, or down. Bell was char 7 and clear screen was FF, char 12.
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: acboother on Oct 10, 2019, 02:50 pm
I wouldn't have line input for the simulated keyboard. When the appropriate input form was on screen the keys the user typed would be sent directly to the Arduino.

A lookup table could be provided to allow keystrokes to be mapped to a string of characters if required
before sending. This lookup table would be editable of course.

I wouldn't be inclined to write a visualiser for the ESM that received VT terminal type instructions from the Arduino. Too much work for too little return.

Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: GoForSmoke on Oct 10, 2019, 07:46 pm
Visualizer?  Is that about being able to make colored squares and blinkers?

It would enable users to simulate multiple leds they don't have to run example sketches.
A user could learn a lot of C/C++ with just the board and connected PC.

The same terminal capabilities also allow serious business and science apps using screen entry, also page editing.

The example is a bit over the top with the bouncing "ball" but once I saw how fast it is I couldn't resist. Unlike in the S-100 days, the user won't be waiting 1/2 to whole second for the edit screen to load. Arduino is faster at this than my late 80's turbo-XT's.
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: Power_Broker on Oct 12, 2019, 01:59 am
I'm interested in this, but I'm having a heck of a time finding:

1.) A video showcasing the program
2.) Where to download it from
3.) What the latest version is

Have you thought about using GitHub (https://github.com/) to organize and version control your program?
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: GoForSmoke on Oct 12, 2019, 04:36 am
You mean the ESM?
Title: Re: Enhanced Serial Monitor - Version 3.1.3 UPDATE
Post by: acboother on Oct 12, 2019, 09:54 am
I'm interested in this, but I'm having a heck of a time finding:

1.) A video showcasing the program
2.) Where to download it from
3.) What the latest version is

Have you thought about using GitHub (https://github.com/) to organize and version control your program?
Back in posting 198, I mentioned that ESM v3 had been replaced by ESM v4 and a new thread was started here https://forum.arduino.cc/index.php?topic=500805.0 (https://forum.arduino.cc/index.php?topic=500805.0).

I very much doubt I'll produce a video to go with it nor will I put it onto GITHUB.

Whilst I recognise that it is a step up from using the IDE and the built in serial monitor it is still possible for a non-newbi developer to get to grips with it as the output is still Serial.println.  All the cleverness comes from formatting that string to be compliant with the ESM receiving the message(s) and picking up serial input into the Arduino and to this end some functions and macros exist to make it simple and consistent to do this.

For those who want to take it further there is simple scripting, data persistence on the PC, a collection of sample sketches, user editable help for each individual project...

The latest release of v4 is linked for download on the first posting of that new thread and will be updated as I make releases. A new release should be available in about 2-4 weeks (cleaned up help system, more control over output in the SWP visualiser... all stuff I have found to be useful plus the odd minor bug fix).


I'm interested in this, but I'm having a heck of a time finding:

1.) A video showcasing the program
2.) Where to download it from
3.) What the latest version is