Show Posts
Pages: [1]
1  Using Arduino / Interfacing w/ Software on the Computer / Re: OpenECoSys-NetworkViewer Support for Arduino (Scope Demo) on: September 29, 2011, 12:58:41 pm
Rob,

The MinGW compiler is distributed with Qt. Use the "Maintain Qt SDK" application to select the components you need. Once you have selected the components, update your PATH variable (everything is under the C:/QtSDK directory) for the compiler and Qt bin directories. I Have attached an image of what's installed on my system.

2  Using Arduino / Interfacing w/ Software on the Computer / Re: OpenECoSys-NetworkViewer Support for Arduino (Scope Demo) on: September 29, 2011, 07:41:22 am
Rob,

Have you installed the MinGW version of Qt? Also, it is important that you modify your PATH so MinGW & Qt bin directories are included.

Opening the CMakeLists.txt file in the NetworkViewer directory should be straightforward to create the project with QtCreator. Also, make sure you use the CMake MinGW generator when creating the project. You might have generated the project for Visual Studio.


Dominic
3  Using Arduino / Interfacing w/ Software on the Computer / Re: OpenECoSys-NetworkViewer Support for Arduino (Scope Demo) on: September 27, 2011, 07:51:10 am
Quote
I'm sorry I just don't get this svn.sourceforge stuff, all I see is a directory listing with dozens of files and folders with more files, am I suppose to right-click on them all the "save as"?  There has to be a better way.

You have to install an SVN client (Subversion) to get the latest revision of the code :

http://tortoisesvn.net/

Quote
sei() and cli(), but they are already macros that just do the assembly instructions of the same name IIRC.

Thanks for the info.

Quote
We're hitting the road today and will be between towns for a few days so I won't have much internet but the Qt download just finished so at least I can play with that while I'm out of touch

Allright, keep me informed of your progress.

Dominic



4  Using Arduino / Interfacing w/ Software on the Computer / Re: OpenECoSys-NetworkViewer Support for Arduino (Scope Demo) on: September 26, 2011, 02:47:00 pm

Quote
Every access to those variables has to be protected by a mutex of some description, the easiest thing is just disable interrupts I suppose. For a quick read or write that shouldn't cause any drama unless there's some serious time-dependent code running.

Anyway, the mutex handling will also consume some resources (active polling, etc). Disabling interrupts for a quick "memcpy" should do the job in most cases. But yes, there are some time-dependent code that require more attention.

Quote
Can't you just have a macro to set and clear the interrupt flag?

I am hoping for a standardized API from the Arduino stack for interrupt disable/enable. Are you aware of something like this? Otherwise, hardware dependent macros can be written, but I think it is not very elegant for a high level communication library.

Quote
As I assume the whole process is asynchronous so you can't guarantee to get every different value for "variables" anyway can you?


The read & write requests from the NetworkViewer are async requests, and based on the (soft real-time) scheduling of variables from the PC. It is true that you cannot guarantee to get every different value for "variables". You sample them at a determined frequency (+ some jitter). However, one module can transmit its state in a periodic manner (based on a timer for instance) or when a change occurs (event based).

Variable update frequency is mostly limited by the bandwidth you have on your communication channel and the MCU performance.

Quote
How do I get that? I got the exe from sourceforge but that svn link just has links to a 100 files. I assume they are the Qt source files, do I download them separately?

First, you have to build NetworkViewer from the sources :

https://sourceforge.net/apps/mediawiki/openecosys/index.php?title=NetworkViewer:BuildFromSources

Let's hope you can get through the first compilation steps easily so we can start working on your plugin.

Regards,

Dominic

 

5  Using Arduino / Interfacing w/ Software on the Computer / Re: OpenECoSys-NetworkViewer Support for Arduino (Scope Demo) on: September 26, 2011, 08:47:15 am
Hi Dominic,

Very interesting.

Quote
visualization of internal variables in real-time.
How do you gain access to the internal variables? I ask because I have a monitor program

http://arduino.cc/forum/index.php/topic,54005.0.html

that does this to a degree and is very non-intrusive but I'm interested in other approaches.

Another interest I have in NetworkViewer is as a start for a GUI for my debugging tool

http://arduino.cc/forum/index.php/topic,72014.0.html

I planned to write this in .NET but hate the fact that it's bound to Windows and QT seems like a much better option.

Could I use your code as a base for my GUI?

_______
Rob



Hello Rob,

You gain access by defining a shared memory area where the serial / CAN / Ethernet protocol can read and write using the NetworkViewer. The idea is simply to make sure the shared memory is protected (no interrupts can occur) when the protocol accesses it. Be careful, the protection is not yet implemented in the Arduino version since I didn't know how to block interrupts in an "hardware independent" manner (reusable code for PIC32 & Atmel based microcontrollers). So everything runs in the main loop. This would be problematic if you access the shared memory from an interrupt for instance. If you know how to fix that, please tell me!

In your program, you simply use the variables in the shared memory area, so they correspond to the state of the system when they are read by the protocol. I hope this makes sense!

For the GUI, you can use the GPL code of the NetworkViewer. You can also build a plugin for the NetworkViewer that would display the GUI interface you need using all the communication abstraction and plugin mechanism built into the NetworkViewer. I can help you getting started if required.

I agree that Qt is much better suited for portable applications. Using Qt allowed NetworkViewer to run on Linux, Mac, Windows with very little portability problems. However, mono is also interesting if you prefer coding with .NET. http://monodevelop.com/


Dominic


6  Using Arduino / Interfacing w/ Software on the Computer / Re: Osilliscope, Data logger on: June 23, 2011, 01:28:06 pm
Does anyone know of a program that can turn the Arduino into datalogger scope? I'm looking to sample a signal via the analog pins on the arduino and I would like to store it to a computer, I guess comm. would have to be via the usb port. Also, it would be nice if it could be realtime data viewing.

I guess ideally it would be Labview, but it is so expensive and only 30 day trial. But if anyone else knows of a program please let me know. Thank you

Have a look at this and tell me what you think :
http://arduino.cc/forum/index.php/topic,64175.0.html
7  Using Arduino / Interfacing w/ Software on the Computer / Re: Real Time Plotting Tool ( Oscilloscope ) on: June 20, 2011, 07:58:46 am
Hello Brijesh,

Thanks for the comment. I have added information on my original post so it explains a little bit more what is the NetworkViewer.

http://arduino.cc/forum/index.php/topic,64175.0.html

Regards,

Dominic
8  Using Arduino / Interfacing w/ Software on the Computer / Re: Real Time Plotting Tool ( Oscilloscope ) on: June 16, 2011, 01:06:12 pm
Please have a look at this and tell me what you think :

http://arduino.cc/forum/index.php/topic,64175.0.html

Dominic
9  Using Arduino / Interfacing w/ Software on the Computer / OpenECoSys-NetworkViewer Support for Arduino (Scope Demo) on: June 16, 2011, 01:04:37 pm
Hello Everybody,

I have made available the Arduino support for the NetworkViewer interface I am working on for the OpenECoSys (Open Embedded Computing Systems) project:

http://www.openecosys.org

This is work in progress, but you can already use it for visualization of internal variables in real-time. This can be useful for viewing ADC values in real-time like a simple oscilloscope for instance. I have made a little tutorial on how to use the system at :

http://sourceforge.net/apps/mediawiki/openecosys/index.php?title=Use_NETV_with_Arduino

I have tested it on Arduino UNO and it works perfectly for me. It should also work pretty well on ChipKit derivatives.

The idea behind NetworkViewer is that we need to be able to monitor internal states of micro-controllers while they are running to avoid breaking their real-time constraints. My goal is to provide an easy-to-use interface that is cross-platform and versatile. Supporting multiple communication hardware from the same interface is also required. Right now, NetworkViewer supports Ethernet, CAN and serial. They are available as dynamic (loaded at run time) drivers. Over time, other plugins will be created to support other communication devices. My short term goal is to support multiple communication protocols at once to display an unified view of the heterogenous network through the NetworkViewer interface. Scripting and logging is also available as software plugins. More information about NetworkViewer can be found here :

http://sourceforge.net/apps/mediawiki/openecosys/index.php?title=NetworkViewer



All comments and suggestions are welcomed.

Regards,

Dominic L├ętourneau
http://www.openecosys.org
Pages: [1]