Serial Monitor Deluxe 0.1 announcement

Hi all,

Based on my own experience with the Arduino IDE's serial monitor, I developed a small program of my own that does the same thing, with a few enhancements that should make the life (and debugging) of Arduino users easier. For now there's only a Windows version, and of course it's free to download and use.

This is a first, almost draft version, so use at your own risk - and I'll appreciate any feedback. Here's the download page, but please watch the video first to see how it works.

Enjoy!

Just looked at the video. You seem to have a SERIOUSLY USEFUL tool. But I’m a Linux user.

Just one question - do you have to shut down your program if you want to upload a revised sketch?

…R

Robin2: Just looked at the video. You seem to have a SERIOUSLY USEFUL tool. But I'm a Linux user.

Just one question - do you have to shut down your program if you want to upload a revised sketch?

...R

You don't have to shut it down, just to select "(None)" as the current port, otherwise the Arduino IDE will complain it's occupied. Can't think of a way around that.

I wrote this on FPC/Lazarus which is cross-platform, so with a few minor changes to the code I should be able to compile a Linux version. However I'm a 99.9% Linux noob, so who knows :)

Thanks!

igendel: You don't have to shut it down, just to select "(None)" as the current port, otherwise the Arduino IDE will complain it's occupied. Can't think of a way around that.

NONE is fine.

I wrote this on FPC/Lazarus which is cross-platform, so with a few minor changes to the code I should be able to compile a Linux version. However I'm a 99.9% Linux noob, so who knows

I haven't heard of FPC/lazarus.

I suspect if it was written in Python or Java (or one of the Java languages such as JRuby) it would work cross-platform with no changes.

I look forward to the Linux version.

...R

PS just Googled FPC/Lazarus - if you want to share the code I will try to help with the Linux version - no guarantees, however.

I like the concept of the envelopes +1

Robin2: I suspect if it was written in Python or Java (or one of the Java languages such as JRuby) it would work cross-platform with no changes.

I read the list of available ports from the Registry - that the only part which is 100% Windows. If I can find how to do that on Linux, and provided that the Serial component I use will behave nicely, it should work :)

Writing this in Python could be a good exercise (I'm just beginning to learn it), although I really like how Lazarus handles GUI.

robtillaart: I like the concept of the envelopes +1

Thanks, it's all based on my personal experience and frustrations with the default Serial Monitor 8)

igendel: I read the list of available ports from the Registry - that the only part which is 100% Windows. If I can find how to do that on Linux, and provided that the Serial component I use will behave nicely, it should work :)

Am I correct to infer from this that you prefer not to share your code?

That's perfectly fine with me - but I just want to sure.

...R

Robin2: Am I correct to infer from this that you prefer not to share your code?

That's perfectly fine with me - but I just want to sure.

...R

No, I'll be happy to share it (untidy as it is...) - I just didn't think anyone else is into Object Pascal :D A bit later, when I have time to arrange that, I'll post a link.

igendel: I just didn't think anyone else is into Object Pascal

When I saw it was Pascal I realized why it is called Lazarus. Pascal was commonly mentioned in PC magazines in the days before the IBM PC was born. I didn't have a PC then. but I liked the idea of p-code that could run on different platforms. The modern equivalent is Java bytecode - which is great as long as you don't have to use the Java language. I used to do my (hobby) programming in JRuby but somewhat reluctantly changed to Python recently simply because its infrastructure is better than Ruby's and people are much more likely to be familiar with it (Python).

I don't know anything about Lazarus, so I'm not promising anything. But it would pass the time on a rainy afternoon.

...R

Robin2: When I saw it was Pascal I realized why it is called Lazarus. Pascal was commonly mentioned in PC magazines in the days before the IBM PC was born. I didn't have a PC then. but I liked the idea of p-code that could run on different platforms.

It was my first "Serious" programming language. Today for Pascal you have either Lazarus or Delphi (which is amazing and very modern, but also heavy and expensive). Actually, if I remember correctly they called it Lazarus not because of the language per se, but because of an earlier, abandoned attempt at an open IDE.

Robin2: The modern equivalent is Java bytecode - which is great as long as you don't have to use the Java language.

:grin:

Robin2: I used to do my (hobby) programming in JRuby but somewhat reluctantly changed to Python recently simply because its infrastructure is better than Ruby's and people are much more likely to be familiar with it (Python).

Yes, it's kind of unavoidable if you want to stay up-to-date on programming. But I still love the fine-grained control and speed of C/C++/Pascal.. one of the reasons I'm into Arduino actually :slight_smile:

Robin2: I don't know anything about Lazarus, so I'm not promising anything. But it would pass the time on a rainy afternoon.

Knock yourself out :) www.idogendel.com/temp/SMD01Src.zip

Of course, I'll be doing my own research on this matter. Problem is, my only available Linux machine right now is the Beaglebone Black. It'll have to do I guess.

Thanks. I’ll have a look tomorrow.

However things are not looking good. The download links on the Lazurus website don’t work and the stuff installed by my package manager seems to be missing some essential bits

AND it has one of those utterly appalling user interfaces split over several separate windows.

Interestingly these are precisely the reasons why I prefer Python. It works. I just need a text editor.

…R

Robin2: However things are not looking good. The download links on the Lazurus website don't work and the stuff installed by my package manager seems to be missing some essential bits

That's odd, I never had these problems. Then again, I installed mostly Windows versions which are probably tested more rigorously.

Robin2: AND it has one of those utterly appalling user interfaces split over several separate windows.

Heh, well that's a matter of taste. Delphi abandoned this kind of UI for a single-window quite a few versions ago. Unfortunately, FPC/Lazarus developers seem to care less for newcomers, and their general attitude is "it's open source, if you don't like something, fix it yourself". Can't really blame them, they have other important things to attend to and it's all volunteer work anyway. Still...

If you insist, you can write FPC programs in a text editor and compile with just a command line, but the visual GUI design is probably the best reason to be using Lazarus in the first place.

Nice job, I personally use HTERM due to its endless amount of features (might be a good source inspiration). However your tool looks very stable and usability is great.

Have you thought of using different colours to discern different transmissions and to help separate rx data from tx data. Would make debugging a large amount of output nice and easy to scroll through.

pYro_65: Nice job, I personally use HTERM due to its endless amount of features (might be a good source inspiration). However your tool looks very stable and usability is great.

Thanks! HTerm looks like it means business :grinning: in my case, I intentionally chose simplicity over features - to make it more beginner-friendly, and relevant specifically for Arduino users.

pYro_65: Have you thought of using different colours to discern different transmissions and to help separate rx data from tx data. Would make debugging a large amount of output nice and easy to scroll through.

Very true. I thought about it at first, but couldn't find proper documentation for the component that allows advanced coloring, so I went on with a simpler ListBox just to get it working and sort of forgot about the colors... but there should be a way to "hack" color into it, this will definitely be on the checklist for a future version.

igendel: Knock yourself out :) www.idogendel.com/temp/SMD01Src.zip

After several hours I think I now have got Lazarus to work - I was on the point of giving up.

AND THEN ... your link does not work :(

...R

Robin2: After several hours I think I now have got Lazarus to work - I was on the point of giving up.

AND THEN ... your link does not work :(

...R

What the... my whole website is down. Darn hosting. I'll go shout at them...

Until the so-called "security team" of my hosting service get their act together, you can download Serial Monitor Deluxe from here: https://github.com/igendel/SMD Please don't laugh, it's the first time I ever uploaded anything to GitHub :-)

I'll keep a lookout for the source code when you get things sorted.

...R

Robin2: I'll keep a lookout for the source code when you get things sorted.

...R

Of course, with all the mess still going on I forgot to upload the source files... ::) sorry about that, they're online now.

igendel: sorry about that, they're online now.

Thanks, I have it now. Will explore tomorrow sometime.

FYI (because I don't know much about Github) I could not download your zip file on its own, but I could download everything in a zip file. This was no problem for me, but it seems kind of silly if you can't simply select a file and download it.

...R