EEVblog Electronics Community Forum

Products => Test Equipment => Topic started by: ivan747 on December 02, 2014, 02:16:21 am

Title: wave2wave: A waveform format converter, alpha preview
Post by: ivan747 on December 02, 2014, 02:16:21 am
Note that I added a poll. It applies to the finished product, with at least dozen formats and options, not this alpha version

Hi guys,

We have been working on a very cool program. The idea is to convert between waveform formats. You know, one can get waveforms from oscilloscopes, circuit simulators, dataloggers, math programs, CSV files and a multitude of sources. And one often needs to get this waveforms to somewhere else... CSV is fine for excel and maybe Matlab, but what about that arbitrary waveform generator or LTspice or other stuff?

Our idea here is to have a converter that can understand all these formats and convert them easily in batches.

So I present out alpha version: wave2wave 0.01

(https://www.eevblog.com/forum/testgear/wave2wave-a-waveform-format-converter-alpha-preview/?action=dlattach;attach=121647;image)

Right now it: 

(https://www.eevblog.com/forum/testgear/wave2wave-a-waveform-format-converter-alpha-preview/?action=dlattach;attach=121649;image)

How to use:
Select on the left pane in which directory you have your Rigol CSV files] (the program will look for the .csv extension)
Select on the right pane where you want your output files going to
Select which channels you wish to convert
Click convert

Attached files:
*zip file containing program and some file samples
*screenshot of the program
*screenshot of a waveform captured from a real world switchmode power supply, fed into LTspice


More formats and features are coming soon and we are definitely listening to your feedback  :-+



We hope you like it
-Ivan and Marco
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: c4757p on December 02, 2014, 02:24:52 am
Any plans on sharing source?
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: ivan747 on December 02, 2014, 02:55:37 am
Any plans on sharing source?
As of yet, we haven't figured out how we're going to distribute (and/or sell) future versions. I have no idea whether to open source or not. Don't take me wrong, but no matter what, you'll be able to integrate it into your programs by calling the executable with some parameters.

There are advantages on open source, we can get a lot of test equipment to be compatible but I feel that everything will sort of becomes a mess eventually. Maybe we could release the source code and accept collaborations. But... If there are collaborations to be made, they would all pass through out hands, and I know that a lot of people do not like that in open source, so that's a con.

But what I definitely have plans for is documenting all the formats I decode and releasing that documentation.


What are your opinions on this? What sort of sales models you tolerate more? Open source+donations, freeware where we accept donations, 1 time purchase, free with purchased API or free with paid extras? Anything else?

-Ivan
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: c4757p on December 02, 2014, 03:08:25 am
I really don't have any patience for the fidgety "this is open source, this isn't" crap a la "they would all pass through our hands, and I know a lot of people do not like that in open source" - I just like there to be source available. Preferably under an open license so other people can distribute the changes they've made at their own discretion, but why bother managing it as if it were a big project?

I am rather a fan of the Github model - if you put the code there, people can fork your repository, make whatever changes they want, and then either just keep them, distribute them, or (best) submit them back to you using the built-in system for that (you can just choose to keep or reject).

But I just like some combination of "source available" and "we won't airdrop lawyers on top of you if you do things with it"!

Paid is fine by me too - but I'd probably warn that I don't know as if this is really complex enough to justify paying for it, for most people. You might find nobody ends up using that if you do it. But it's up to you, I'll tolerate whatever :-+

But what I definitely have plans for is documenting all the formats I decode and releasing that documentation.

Excellent.
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: ivan747 on December 02, 2014, 12:00:32 pm
We've  not decided about source, but information needs to be free.
I think some people share your opinion too, so I added a poll, let's see how that turns out  :-+
Ah, and just remember this is an alpha version, there's a truckload of stuff missing. Next in the list is a binary format  :) I got it reverse engineered and half documented.
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: artag on December 03, 2014, 11:26:21 am
What OS are you targeting ?

I think a totally open project has benefits in encouraging other people to add formats and OS support. If you do it all yourself, you're going to have to charge a lot, because it's a lot of work. And that reduces your customer base, so you have to charge more ..

Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: EEVblog on December 03, 2014, 11:36:45 am
I hate to burst your bubble, but such a niche program is unlikely to financially break even.
So my vote is just open source and ask for donations. Buy muffins with the donations, I recommend Bob And Pete's.
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: ivan747 on December 03, 2014, 06:19:19 pm
Well I think the message from everyone is clear, in regards to open source. We're moving the development from Delphi to Code::Blocks and wxWidgets. That means it's going to be C++, C and cross platform. So in a sense, the source code will be ready to be released when we decide to pull the plug (probably when it's useful enough and can convert a handful of formats).

Something that a lot of people might not know is that, wihle you can handle CSV files in Excel, it can only take about 100k rows of data. Nowadays even an ancient DS1052E can produce more than that. This program easily adapts the format in under 10 seconds on a modern computer (without any optimizations).

It could also open up some nice possibilities for those who need it, like the LTspice example. It could also add cross compatibility with different AWG and oscilloscope brands, specially the obscure chinese ones, like Owon (I got their UltraWave format figured out now, you can use that on AG series AWGs).

But I still understand it's a niche.

Something good about Code::Blocks and wxWidgets is that it's cross platform. I like that because there are not many frameworks to work with test equipment on Linux, that I know of. There's no LabView equivalent for example. There's some python stuff here and there but still, the more we give to them, the better  :-+ I'd like to switch to Linux, but doing electronics stuff on Linux is more of a sacrifice than anything for the moment.
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: novorado on April 01, 2015, 08:48:37 am
Hey folks, here is a quick write of RIGOL 2 LTSpice C++ converter that seem to do the job just fine. Mod it as you want or ask us to extend https://sourceforge.net/p/rigol/code/ci/master/tree/
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: Lukas on April 01, 2015, 01:40:14 pm
It'd be nice if the functionality of the waveform converter is available as a library so that it can be incorporated into other applications dealing with waveform data. Or make it available as a simple tool that reads data from stdin and dumps it on stdout.
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: nuno on April 01, 2015, 09:50:21 pm
You're building on Rigol format information you reverse-engineered yourself or on what's available around?
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: ivan747 on April 01, 2015, 11:02:58 pm
You're building on Rigol format information you reverse-engineered yourself or on what's available around?

It's a CSV file, so it's very universal, but technically, yes, it was reverse engineered by us, although it wasn't hard.
PWL was a little less trivial because I couldn't really find an authoritative source that described the format, so some guesswork went into it.
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: ivan747 on April 01, 2015, 11:06:00 pm
Hey folks, here is a quick write of RIGOL 2 LTSpice C++ converter that seem to do the job just fine. Mod it as you want or ask us to extend https://sourceforge.net/p/rigol/code/ci/master/tree/

Excellent, thanks for your work  :-+
This was an attempt at something bigger but the feedback wasn't as I expected and then there is sigrok, which in the future is going to do what I intended this to do. I'm not good enough at programming to really help with sigrok.
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: nuno on April 01, 2015, 11:09:06 pm
This would be a good candidate to implement in something like TCL/Tk, cross platform without need to compile.
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: alex.forencich on April 03, 2015, 02:04:02 am
This would be a good candidate to implement in something like TCL/Tk, cross platform without need to compile.

I would personally be most interested in a Python library.  Cross platform, no compilation required.  Interactive.  Also has access to and can be used with powerful libraries like numpy and scipy for signal processing, matrix manipulation, etc.  Don't know if there is a similar set of libraries (basically matlab equivalent functionality) in TCL/Tk. 
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: Warhawk on May 08, 2015, 06:53:50 pm
Hi, I would like to point out that this application works only when a period is used as a decimal delimiter in the OS settings.
Title: Re: wave2wave: A waveform format converter, alpha preview
Post by: ivan747 on May 09, 2015, 11:38:14 pm
Very interesting, I'll tell the person who programmed it because he uses the same IDE for other projects of his own. Thanks.