Oscope Improvements

(Virtual Arduino Uno)

(Real Arduino Uno)

Kwatters & I have have been pounding together unit tests - in the process I noticed Oscope in Nixie was bork'd - so I fixed in .. and improved it.

Graphically its more like an oscope - previous one ran a trace and flashed erased it then ran another trace. Now, its endlessly scrolling.  On the right is the label of the pin, min, max and avg values.  In addition it has a little pause button that will hold the screen until pressed again.   The pins are displayed in seperate channels, similar to a digital analyzer.  It has a form of auto-scaling based on min & max values.  

Some other general improvements is the Oscope is more likely to work with "any"  PinArrayController - so potentially RasPi, BeagleBoard and others ..  Also its now much easier and cleaner to swith to virtualized hardware to preform tests, and then switch back to real hardware .. 

Currently in PR - https://github.com/MyRobotLab/myrobotlab/pull/482

Next now is :

  • Create MrlServoEncoder
  • Fixe audo-disable
  • Fix EncoderEvents (aka previously ServoEvents)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
hairygael's picture

Really great!! It's been a

Really great!!

It's been a while that everytime i needed the oscope i would return to version 107, can you believe it!

I use often the oscope for to test new PIR or finger sensors.

I see the pictures you posted above you try the oscope only with a Arduino Uno, are the pins showing when using a Arduino Mega? Last version I tried was 1.1.150 and the extra pins of the mega were not available in the oscope also the button clear was not active.

GroG's picture

I tested Mega your right -

I tested Mega your right - I've got more work to do :D

GroG's picture

Fixed in >= 153

Welcome Mega !

Tested on both Virtual

And "real" hardware

Now moving on to Servo fixes - unless you find something

hairygael's picture

Wow cool ! I didn't test yet.

Wow cool !

I didn't test yet. I will do that tomorrow!

I may have still something to fix, in version 1.1.150, when selecting the tab "pins" instead of "oscope" with a Arduino Mega, the picture of the board type was incorrect. It always displays a Arduino Uno and the pins are not correctly aligned with numbers of course.

GroG's picture

Ugh .. the pin thing is a PAIN

I got the Arduino Uno all polished up ...  But switching from one to another was way more work than I thought it was ..  

Just now I got it to "switch" again (correctly) ...
But now I've got 72 pins to align :P

This will take some more work ... I hope it will be of use - when its fully worky.
I was also scared of how many different Arduino board layouts there are - Uno & Mega are probably the most 
popular .. most variants follow Uno's pin footprint.  If I'm really motivated, I might do the mini too 

hairygael's picture

Gee, I didn't intend to add


I didn't intend to add awfully extra work.

It's just when something is not worky for someone that starts, it makes things more confusing.

Personnaly the "pins" tab is not something I use...


GroG's picture

Ahah :D I'd bet you'd use it

Ahah :D

I'd bet you'd use it if it ever worked ;)

Sorry, didn't mean to complain, but in the end this is really good ..

The Arduino was the nearly the very first service gui built .... and it suffers greatly being the first, from fixes on top of fixes and half completed projects..   

But now we are vetran UI developers !

And now its time to cut through the bad code and my previous mistakes...

The pin tab never functioned well (if at all) - and now its time to actually make it useful.
When I started looking into it last night, I thought "Wow, this would certainly be useful to me if it only did what it was supposed to"  ... which is be a extremely easy interface to write, read, and control the input & output of a board.

The Uno is working well, I just have 2 more board layouts to do .. the mega & mini  (I don't have anymore boards that have different pin layouts)

Your input is greatly appreciated Gael, and please keep it coming

hairygael's picture

Hello Grog, Tested version

Hello Grog,

Tested version 1.1.155 and the Arduino pins and oscope are working very well!

Great job!

apache's picture


How can I get a version of the inproved oscope?  The one I have has the flashing lights.


Thanks in advance.


GroG's picture

Hi apache, the latest can be

Hi apache,
the latest can be downloaded from the "latest" link.

Quite a lot has changed, we use a webgui now.
This is what the arduino oscope looks like.

apache's picture

Thanks so much.  I will do it

Thanks so much.  I will do it today.  I imagine the upgrade is not so simple.  I will need to save and port all my settings to the new instalment.

apache's picture


Sorry to be such a bother.

Down loaded the latest version but I can not get it started when I run the inmoov script.  If I run the myrobotlab script it starts just find.

The error I get is:

15:07:32.840 [python.interpreter.6] INFO  class org.myrobotlab.service.Python - finishedExecutingScript
15:07:32.848 [python] ERROR c.myrobotlab.framework.Service - python error Traceback (most recent call last):
  File "<string>", line 42, in <module>
  File "InMoov/system/InitCheckup.py", line 12, in <module>
NameError: name 'runtime' is not defined

Any hints???



P.S. made a change to InitCheckup.py and it run further.  Changed the small r in runtime.setLogLevel("INFO") to a capital R.  It now stops loading when the myrobotlab panel comes up but then stops loading all the other components.  See below

P.S.S.  Found another error and got further.  I changed  line 37 in c:\mrl\InMoov\services\2_SwingGui.py

print "MRL version : ",runtime.getVersion()[-4:]


print "MRL version : ",Runtime.getVersion()[-4:]

still froze but at least it loaded more.  Seems like "runtime" needs to be changed to "Runtime" in a number of places.

Not sure where to report these bugs.  If you know where, let me know and I will do so.