Viewing XML buffer data in Excel

Hello , Yes i believe it was the same problem as the other client. Like him i have set the culture to invariant. I have also added a screen to show releases and change history to be found off the about menu.

This is version 1.0.0.2 Beta, Please let me know if this change fixes your import problems.

File Attached.

Cheers Pete.
DSONanoXMLExportFileReader.zip (128 KB)

Dear Bainesbunch - Its working now!
Your software looks like the beggining of very necessary tool! It will be great to have some sort of guidelines with voltage and time scale.
Or maybe a line which You can slide which tells You what voltege the peak on the waveform is. I mean some way to tell the precise measurments on the waveform.
Thank You,
Piotr

This is just throwing some ideas out there for Bainesbunch. I don’t know how difficult it would be to create voltage and time cursors. If cursors are used, then display frequency as well as delta time for the two cursor locations. If that is too difficult then maybe have the mouse pointer display a pop-up box with the waveform data displayed such as in Excel. The mouse context box could display voltage and time of that point of the waveform (time is derived from sequence number and time-scale). Then you could drag and drop the cursor data to another window on the screen that uses two drag drops to figure time interval and/or frequency for those two drag drop points of the waveforms. This would also require a unique tick mark on the waveform for each drag-drop.

This may be too far outside the box. :smiley:

Thanks for the feedback.

On a couple of point you raised.

The system already reads the profile section of the xml file and sets scales (or at least is should).

A tip on the rotary dials, If you click on them and then you can use the scroll wheel on your mouse to rotate them. I may remove them as they where only an attempt to make it look pretty :slight_smile:

If you look at the profile info at the top of the form you will see buttons next to the trigger index and the max/min voltage. clicking these will move the waveform to start displaying at the point of these events.

I will look into the idea of a cursor on the time line that gives you an info box with offset from trigger and input value at the cursor point. If i was to implement 2 cursors i could also give a time difference/frequency of the cursors.

I think for my own sanity and ease of updating i will now only post the follwoing thread on the forum

http://www.seeedstudio.com/forum/viewtopic.php?f=12&t=1772&p=6528#p6528
Cheers Pete.

Hello Folks,

I had a few hours to play with today and so I decided to look at some of the requests coming in on the forum for my application. Here is a release 1.0.0.2 with the following additions and fixes

I have added a cursor system that allows the user to set a start and end cursor. An information form that can be shown from the menu at the top of the main form shows cursor information (See screen Shot)

CursorInfo.gif

I have added a line on the trace to show the trigger point.

MainScreen.gif

I have fixed the x scale issue that was off by a magnitude of 10

Please keep the suggestions and bugs finds coming.

I am looking for a volunteer to write up a user manual for this if anyone fancies taking on the task the more languages the better. PM me of you’re brave enough to take it on.

Cheers Pete
DSONanoXMLExportFileReader_V1_0_0_3.zip (132 KB)

Wow! great improvements. Could You propabbly add captions to X and Y scale (0mv, 0.1mv, 0.2mv - according to scale).
Could You also add smaller (maybe dotted), lighter grey Grid - with smaller divisions (like half of Div scales). It would improve understanding of waveforms.
Fantastic- Thank You!
Piotr

Neat Idea, so your wish is my command and here we have it Grid scale markers and dotted half division lines (see screen Shot).

MainScreen.gif

Version 1.0.0.4 attached.

Cheers Pete
DSONanoXMLExportFileReader_V1_0_0_4.zip (133 KB)

“S” is a unit of conductance. “s” is a unit of time.

Noted and will be in the next release.

Cheers Pete.

First of all, this application has become very useful, job well done. After extensive use of v1.0.0.4, I have some suggestions.

  1. With the trigger index button, single click as it is now, double click to center the trigger on the screen. Same with the Max Min buttons.
  2. Voltage offset, can you set the voltage offset to zero with a double click on the slider button or provide a separate button?
  3. Sample offset and Time Index are confusing me. Should they both be called Trigger Offset? The Nano references everything to the Trigger.
  4. The current waveform area could be called the Viewing Window with it’s current tabs. The current XML profile area could be called the Data Window with it’s own tabs. One tab could be XML Profile Data and another tab could be Cursor Data, with room for more additional tabs later as required.
  5. Add voltage cursors similar to the time cursors and place all that data results under the new Data Window’s Cursor Data tab.
  6. It appears that you are preparing for multiple scope inputs under the Configuration Tab?
  7. I will create a data train xml file tomorrow to test the logic analyzer portion. I will include data stream parameters and make it available in this thread.
  8. Instead of writing a users guide, I would be glad to make a user video series if you like. It has been proven that when a programmer (You) sees another’s interpretation of how the program works (Me), it provides new insight to the programmer, and usually results in improvements.
  9. The program name “XML Data Viewer” could be more generic and would stand on its own irregardless of the XML file creator such as DSO Nano or DSO Quad (MiniDSO) or some other application as yet unknown.

These are all suggestions which I believe you are asking for. I am very impressed with the functionality that has been gained thus far. It will completely eliminate my use of Excel for viewing XML files. I expended a good amount of effort learning Excel XML, but will gladly throw it all away for this!

I think that’s a great idea. If you end up making a video of usage of BenfWaves, I’ll put it up on my project’s wiki. The most recent binary I uploaded today includes a basic trace display.

I still can’t get the v97 program or any previous version to run without errors. Attached is my error log. Maybe you could specify what is wrong.
runtimeerror.zip (907 Bytes)

This is an error I haven’t seen before. It’s failing to load the application icon, and throwing an exception. What version of Windows are you running? It could be because the icon is png-compressed.

Thanks for your response. I did notice that icon thingy in the error report. I am running WinXP Pro, 32-bit, SP3, with both Net 3.5-SP1 and Net 4-Extended installed. My default PNG program is Macromedia Fireworks which is a graphics editor closely coupled with DreamWeaver, a webpage editor.

Thanks

OK FOlks,

Another version hot of the keyboard for you.

Lots of Changes in this version.
Name changed to “XML data Viewer”
Moved application to an MDI format.
Added Double click events to the index buttons to centre trigger on display.
Added voltage cursors.
Added the ability to re-save a timeframe of the original XML file between time cursors.
Added Up down Buttons to the rotary controls
Changed S to s for seconds
Made data import library more robust to differing XML versions

I need someone to test the matlab and gnuplot exportsd for me please as i dont have these applicaions

Lygra … your offer of a video manual sonds like a great idea. do you want to have a go with what we have or wait for the final beta cut.

New version 1.0.0.5 attached

Screen Shot below

MainScreen.gif

Cheers Pete
XMLDataViewer_V1_0_0_5.zip (150 KB)

I’ve uploaded a new version that doesn’t use a PNG-compressed icon. I’d be interested in seeing if that solves your problem or not.

Thanks, the v99 file loads properly. I will experiment with it this week-end. It may prove helpful if you repeat your file location link with each update announcement post.

BenF has the best method of new releases, a new post for that version release. It keeps everybody focused upon the current release and reduces release confusion. You could start a new release post and include the file link in each new post. Bainsbunch could do the same and attach the new version zip in each new post.

Here are a few comments on this version of the application.

  • The spectrum analyzer is pretty cool, but it needs grids and axis labels.
  • The waveform flickers when it’s redrawn. You should use double buffering.
  • The waveform axis labels (voltage and time) should change when the offsets change, but they don’t.
  • The intention of the MDI model is to have multiple documents (multiple XML files open at the same time), not just multiple windows.
  • There’s a reason that Windows has theming support. As much as possible, you should attempt to adhere to the Windows appearance preferences selected by the user instead of overriding them. In short, not everyone wants their windows to be blue and pink.
  • You should be using Subversion and the Google Code release system. Immediate advantages are that you’d have an actual website instead of scattered forum posts, you’d have backups and the ability to revert any local accidents, other developers would be able to see your source instead of just guessing at what you’re doing from the binaries, etc. There are many tutorials such as this one - http://www.shokhirev.com/nikolai/programs/SVN/svn.html - for beginner developers to learn how to use source control. I’d be interested in looking at the most current version of your source, and Subversion is the easiest way to do it.
  • Excel export doesn’t work. It says that the provider is not registered on the local machine. This might be caused by compiling for AnyCPU or x64 instead of x86, though I didn’t check your binary target.
  • Here’s what your Matlab code looks like when it’s exported:

attenuation = x1; fileNumber = 'S001'; firmware = 'V3.61'; sampleCount = 4098; sampleDiv = 5 ms; timeDiv = 5 ms; timeRange = 0.8196; triggerIndex = 1374; triggerKind = 'EdgeRising'; triggerLevel = 78 mV; triggerMode = 'Auto'; triggerSens = 16 mV;

Attenuation, sampleDiv, timeDiv, triggerLevel and triggerSens should be numbers in scientific notation without any units or other characters. Otherwise it won’t run. The same applies to the Gnuplot export.

Good luck with development, and keep up the good work.

  • The spectrum analyser is pretty cool, but it needs grids and axis labels.
    - The waveform flickers when it’s redrawn. You should use double buffering.
    - The waveform axis labels (voltage and time) should change when the offsets change, but they don’t.
    <I’m not sure i understand what you are asking for here>- The intention of the MDI model is to have multiple documents (multiple XML files open at the same time), not just multiple windows.
    <well i thought that a container form could contain things, like other forms. Where is it specified that i cannot use an MDI container in the way i have>
  • There’s a reason that Windows has theming support. As much as possible, you should attempt to adhere to the Windows appearance preferences selected by the user instead of overriding them. In short, not everyone wants their windows to be blue and pink.
    <Perhaps, but this is not the first or the last application that is not doing it>
  • You should be using Subversion and the Goggle Code release system. Immediate advantages are that you’d have an actual website instead of scattered forum posts, you’d have backups and the ability to revert any local accidents, other developers would be able to see your source instead of just guessing at what you’re doing from the binaries, etc.
    <once the application is ready for its first release then i will publish the source. As a seasoned programmer of 20 odd years i don’t actually need a beginners tutorial on source control but than you for the reference. You don’t need to investigate the binaries to see what has changed just look at the history list embedded into the application>
  • Excel export doesn’t work. It says that the provider is not registered on the local machine. This might be caused by compiling for AnyCPU or x64 instead of x86, though I didn’t check your binary target.
    <I will look into this, it sounds like a real bug, not just a niggle about presentation>

Cheers Pete.

Thanks for another update. For more info on how the Nano uses cursors, refer to this video: youtube.com/watch?v=8T6OpWTEGjo.

I was expecting to view both the Data Window and the Waveform Window at the same time. I thought that you might keep the v1004 window ratios and just switch out different data as tabs where v1004 held the XML profile data. Maybe this helps to communicate my idea. The cursor data and the waveform need to both be viewed at the same time for maximum effectiveness.

I am out of time until this weekend, at which time I can provide more feed-back.

Thanks