arduino oscilloscope, a nice one :-)

And going back to the original topic....

Has anyone tried it yet? was it easy to use? I'd like to hear your feedback...

Thanks!

Some traffic stats about my post: (yeah kind of off topic)

From the 300 people that read this thread only 100 went to my blog entry, and from there only 45 went to the project page..

I hope this stats are helpful to you, one would expect that 100% of the people that read this post bother to click twice in order to read the full details...

Looks nice.

I have something similar, but rudimentary, working in Processing. I would have been tempted to try it, if it was in java as I have other code in java that I'd like to take advantage of.

wow, good timing. I'm learning Arduino and electronics at the same time.. the first thing I wanted is some kind of logic analyzer and scope.

I have Jonathan's excellent book and have been working to tweak the Processing to my liking....this will speed my progress.

thanks!!!

Wow really nice! A good use for my old arduino! :slight_smile:

that's so sweet!

can't open the .pde file here...

got this error:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
      at processing.app.Sketch.setCurrentCode(Unknown Source)
      at processing.app.Sketch.load(Unknown Source)
      at processing.app.Sketch.<init>(Unknown Source)
      at processing.app.Editor.handleOpenInternal(Unknown Source)
      at processing.app.Editor.<init>(Unknown Source)
      at processing.app.Base.handleOpen(Unknown Source)
      at processing.app.Base.handleOpen(Unknown Source)
      at processing.app.Base.handleOpenPrompt(Unknown Source)
      at processing.app.Base$3.actionPerformed(Unknown Source)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
      at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
      at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)
      at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)
      at java.awt.Component.processMouseEvent(Component.java:6263)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
      at java.awt.Component.processEvent(Component.java:6028)
      at java.awt.Container.processEvent(Container.java:2041)
      at java.awt.Component.dispatchEventImpl(Component.java:4630)
      at java.awt.Container.dispatchEventImpl(Container.java:2099)
      at java.awt.Component.dispatchEvent(Component.java:4460)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
      at java.awt.Container.dispatchEventImpl(Container.java:2085)
      at java.awt.Component.dispatchEvent(Component.java:4460)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

the PDE is not Processing code, is arduino code.

Let me know how it goes...

i know that pde is arduino code, the error is from the arduino IDE

Well... you didn't explain how exactly did you get that error so it's hard to help you, and all I can do is guess.

Can you open other PDE's and flash them successfully on the arduino?

yes i can open other files and flash them, i got the error when i try to open the file on the IDE, i've dowloaded the file another time to check if its not corrupted but its the same.

can you share the code here?

thanks...

EDIT: I opened the file with notepad then I copied the source diretly to the IDE and everything is working now :wink:

I'll leave feedback later

it seems the arduino IDe doesnt like filenames that have dashes.. rename it to arduinooscillo.pde and it should work

I'll fix it in the repository, thanks!

ya, i also had to open the file with notepad and paste the code in - not too big a deal...

I am getting a lot of crashes with the C# program - divide by zero and some others. It seems to have a hard time 'finding' my arduino board also. I have tried 2 computers - my VISTA computer did not work but my XP workstation did. I'll try later with the source code assuming I can get the project to open with C# express. That might give me a clue as to why the communication is not working. I'm somewhat new at this so I might be missing something...

I am VERY interested in this application so I am determined to get it working and hopefully I can contribute in some tiny way.

Awesome! That is the spirit :slight_smile:

works fine on Win7 x86, but like mk3 I'm getting a lot of crashes like:

if I "zoom in" than "zoom out" quick, the program stops working (only hapened a couple of times, can be or not related);

if I select "new parallax" with the arduino in use the program crashes;

sometimes it crashes without touching in nothing and, with some seconds of use, sometimes it stays working for some minutes, but always ends up crashing...

one, two and\or three channels works fine, with four channels the window crashes;

selecting "new arduino" with it already in use, i got this program error:


if I select "repeat" the message keeps appearing, if I cancel, the program crash;

after some time working, the program crashes, the arduino's pin 13 LED stay always on and the program only works again if I reset the arduino.

whats the max and min values from the trigger?

can you divide the program in two, one for the arduino and another one for the parallax?

sorry for my bad English ::slight_smile:

Ok, I released a new version that should fix the crashes,

http://xoscillo.googlecode.com/files/XOscillo_20100210.zip

known issues:

  1. If you click on "new arduino" or "new parallax" when you don't actually have one it will cause a hang.. needs fixing but its not a serious issue.
  2. selecting 4 channels on arduino makes it crash

I'd appreciate if you guys could give it a quick go and let me know how it goes with these fixes..

Thanks!

I've tried the new .exe on one computer. Nominally works but it doesn't take much poking around to make it crash, unfortunately.

I also pulled the code down so now I can open the project in C# Express 2010.

It would help if you could make an outline of the operation or... explain more of the limitations. I understand about the prescaler but I'll have to study what you have done with the analog in. Looks like you have bypassed the Arduino command and are using AVR and C... is that correct? Furthermore I assume some commands must pass from the C# code back to Arduino to tell it how many channels of data to send... still need to study the code.

I also think it is likely that since this is real time it's behavior will be different on different hardware until it gets a lot of code for handling errors.

The crash you are seeing is only related to the rendering of the graph.. if you comment out those few lines it can run for ages.. I believe the garbage collector is releasing some stuff it shouldn't release.

ok, thanks!

garbage collector... ya.. one of the first things I read about C# is that you cannot manually release objects... trust the GC to do it. I don't like that very much. I suppose there might be some way to hang on to an object you need to use.... prevent collection?

Does the C# application pass the number of channels to Arduino?.. according to the user selection?

[edited to add 3)]

Ok I uploaded a new release

  1. More stable, removed a few race conditions
  2. fixes the 4th channel issue on arduino
  3. Removed the div by zero exception <---new!

grab it here:
http://xoscillo.googlecode.com/files/XOscillo_20100210v3.zip