DS203 quad user interface design

I think that i fixed the measure error.
At lines 18 - 19 of the Statistics.cpp, now is:

nSample = (ui8)((nSample>>8) & 0xff);
fSample = Settings.CH1Calib.Voltage( fastCalc1, (float)nSample );

I have modified in this way:

nSample = (ui8)((nSample>>8) & 0xff);
fSample = Settings.CH2Calib.Voltage( fastCalc2, (float)nSample );

Probably the error is the consequence of a copy and paste action.
I don’t know if this modified is correct, but seem to work…

marcosin, thank you for pointing me to this mistake. Fixed in current release.

Hi gabonator1,

Your UI looks great… unfortunately I can only load your April 7, 2013 build… Your May 5, 2013 build is just too big to for my DFU disk. My DFU disk free space is just 492 KB. Your latest hex file is 497 KB. It’s a pity that I don’t have that extra 5 KB or so… :frowning: Else it would be great!

Being a noob here, is there a way to increase the free space of the DFU disk? How big is yours? Is there a special way to make your firmware fit into my 492 KB DFU disk (other than the simple copy & paste method)?

Thanks.

Sorry guys, that was my fault… I was in a hurry and didn’t try uploading the image into DSO. Still working hard on my disertation thesis and do not have much time for this project. I commented out some user modules to make the hex file smaller, and now it can be uploaded without any problem…
The size limitation of flashed hex image was also the reason why I started experimenting with ELF loader - my plan is to have only the basic functionality (bios + oscilloscope + settings + about) present in main firmware, and the other applications (signal generator, spectrum analyser, user modules) would be implemented as standalone *.elf files on DSO’s disk drive and when necessary, the chosen module would be loaded onto flash and executed… For the user there should be no visible change, the switching of applications should be very fast. But now I am facing a stupid problem - I want to place all my BIOS functions and variables into specific memory location, so the elf applications could share the core bios function, making the application binaries very small. But my last experiments bricked both DSO devices I have and thank to jpa I was able to recover at least one of them but now the device asks to enter “master licence” every start… Do anyone know where can I get the license number?

I tried to run the Gabonator App on my DSO, but my Quad got very strange behaviour.
I changed the frequencies on my external frequency generator (500 to 5k Hz) but my dso didnt changed the waveform. After that, I installed the community edition and perfomed well.

How are the SYS and FPGA who should be used with the Gabonator App ? Maybe my problems lies on that.

Hi Gabonator,
thanks for your nice work.
I like both yours and community’s App.
Can you please upload another version of your App, modiffied to install into slot 2 ? (button 2 + power on)
I want to use both of those Apps.

I would change the HEX files myself, but I couldn’t find the hexadecimal addresses description.

Thanks a lot.

pc_07, I altered the build script to make the hex files for all slots. I havn’t tested it yet, so please tell me whether it worked or not: github.com/gabonator/DS203/tree/master/Bin

Thanks a lot Gabonator,
but there is a conflict, as I was affraid.
I have a Community GCC APP in the slot 1, with your APP in the slot 2, your APP works, but the Community APP doesn’t work.

There is probably different SYS or FPGA code for Community APP.
Not easy to solve. :slight_smile:

Thanks for your help.

Main scope apps like community edition take 2 app slots. So if you load community into app1 then it uses app1 and app2. I think the same applies to this one.

So I think you’d need to put community in App1 and this one in App3.

Thanks,
now it works fine.

I was thinking about file size differencies…

Thanks a lot.

Hi gabanator,

Rally great work, keep on.

I think DSO can be a great analysis instrument, I suggest you make more applications.
A simple RLC meter will be great, it could show the resistance, inductance and capacitance of a component as the Q factor. Please do something like it.

Other idea would be a power meter, using a channel to measure voltage and other to measure current (voltage across a well known resistor, it could show the instant power, apparent power and reactive power as well as the power factor.

I think the DSO could be more that a oscilloscope, it could be a full diagnostic portable instrument.

It is sad to exist so few people like you developing grateful software

Best regards

You guys got another newbie on your hands! I just got a new DS203 and am struggling with the user interface. Found Gabonator’s G251 and like the looks of it. I have downloaded the file from several different places and copied the hex file to the upgrade folder (V3.12C). It seems to accept the file, but when I turn the scope off/on I get a mostly grey screen with a banner in it that says “Frequency 1.00 kHz” and everything is frozen. I have been able to download the latest firmware (APP_V110) and bring the thing back to life as I received it. I started with Hardware Ver V2.72 SN #7D19A881 SYS Ver 1.60 DSO APP (plus A1) Ver 1.10. Most of what you guys are talking about is waayyy over my head, but I feel I ought to be able to install the new interface. What am I doing wrong???

i also receive my HW 2.72 DSO203 today …

i wonder if gabonators APP also works for my dso ??

as i do not have and can not find the original APP i do not want to upgrade ;(

Hi gabonator,

I really like your interface to the DSO203, it combines many features that are usually only available on costly scopes - such as FFT and masking… you have even implemented a cut-down ‘arbitary waveform generator’ (usually an expensive item by itself).

Being a long time oscilloscope user (more than 20 years - my first cro was Telequipment single trace 5MHz valve jobby), I have a few suggestions on your interface which you might like to consider.

The biggest issue I have is a “run/stop”. It is there, and is one of the very first things I enabled (on triangle button), because it was not there by default. Now that I have a button for it, the indication that the cro is in ‘run/stop’ is very obscure. How about the whole “trig” menu changes green or red? Although that is only on one page, so perhaps changing the colour of the top “tabs” menu (currently blue)?

I switch between the ‘standard’ interface (v1.06 plus A1) and yours (v3.11C) because the standard interface does have some features your interface does not…

  • As I said above, the ‘run/stop’ is easy to see and use
  • Buffer depth : when running fast it is not an issue. When using long time/div settings, the wait while the buffer fills is terrible. 106+ allows the user to set the buffer size.
  • Trigger : 106+ has pre-trigger, “normal”-trigger and post-trigger (the “T0” selects which one). I tried the “Trig pos” option in your software, but it didn’t seen to change anything?
  • The battery indicator is actually quite useful

On useability side, I agree with ‘solaris7roadshow’ on the primary menu. I think you should swap the rows and columns. Reason being is you use the “<>” to go into the menu, but then need to use the “-+” button to select the most used functions (scope, spectrum, generator). Just using the one button would be so much easier!

In the ‘oscilloscope’ tab, an additional tab should be present where “-+” always sets volts/div and “<>” always sets time/div : the most used functions on any scope!! It is fiddly having to navigate menus (of any description, no matter how shallow or deep you need to go) to set these basic parameters. Perhaps pressing one of the other buttons to either escape the “primary” menu, or fall into to the next most used parameters… vertical position, channel selection (A,B), channel coupling (AC/DC), and trigger mode… the slightly less used functions.

On other matters (bugs? not implemented yet?)

  • Scope : Disp. > Persistance doesn’t work. I believe there is some issue with available memory?

  • Scope : Mask > Start collect / stop collect doesn’t appear to work (it is running all the time).

  • Scope : Mask > Source is fixed on channel A only.

  • FFT : Again mentioned by solaris7roadshow, the display doesn’t show anything unless the signal becomes quite large. Were you going to implement a ‘log’ scale at some stage? (sort of implied by the word ‘linear’ under the FFT menu).

  • Generator : The “volatile” waveform is great! I read you were having trouble with the max samples (36?). Did you ever solve this?

  • The facility to zoom in/out on a ‘stopped’ waveform to see ‘in’ to the sample, or ‘out’ to the buffer size.

  • The trigger mode ‘scan’ seems pretty useless to me. A ‘roll’ mode would be far more useful, especially at large time/div settings.

  • The ‘holdoff’ value… is that in samples? divisions? Having units on some of these menu items would be very benificial.

I love your software, and am going to try and get it compiling so I can contribute - but I am more of a hardware guy than a software guy!

I read a lot of complaints from people whining that the DSO203 did not meet their expectations… crikey, what do they expect for a couple of hundred bucks!! I think it is great, and really exceptional for ‘low speed’ microcontroller projects. Only word of complaint from me … the aluminium case becomes ‘live’ if you put the ground lead onto a ‘live chassis’!

Cheers,
Owen.

Hi all, really great UI thanks a lot gabonator, very good job !
I’m facing a little probem with this app and the last version of the quad I recevied (2.72, APP V110)
I have installed your app in slot 1, and found a slot 3 version of the original app (not the community which have problems with sys 1.6 and 8M memory chip.
All is working, but as soon as I want to save something else than settings like wav or bmp, I lose the calibration, and I get this message while booting :
453
Source/Core/Settings.cpp
Assertion failed !

The files saved are not readable, bmp or wav (bmp are 188 ko)

Can you help ? Really, this is the only serious problem for me with this incredible software…
Thanks

Hi, Gabonator!
I tried your firmware, and it very much was pleasant to me.
But I have couple of notes.

  1. The right menu permanently closes part of the screen. It would be quite good to make it automatically cleaned
  2. I very often use an oscilloscope in the operation. I think that if to assign left toggle to regulate gain of Y, right toggle - sweep length, convenience of operation considerably would increase. And remaining functions which are used less often, it is possible to hide in the menu more deeply (?)

Excuse for my English!

I bought DSO203 with hardware 2.72, sys 1.52, app 1.07.
I installed Gabonator software and this worked good.
Next I upgraded software to 1.60 and 1.10.
and I got this message while booting :
“453
Source/Core/Settings.cpp
Assertion failed !”

Next I upgraded software to 1.62 and 1.13 and I got this same message
I installed old software 1.52 and 1.07 and Gabonator software work ok.
I download this software from:

That assertion message is being generated during the initial part of the software that tries to load the calibration data from a file called CALIB.DAT

Either the file is corrupt or maybe more likely there is some issue in the file access because of 2/8 MB compatibility after you sys changes.

It might be worth checking the CALIB.DAT (it should start with 4 bytes CAL1) and maybe worth trying deleting it after taking a backup.

Hello gabonator1,

I’ve had you improved software installed on my DSO for some time now, and in the last few day upgraded to the lasest version.

Installation was easy and successful.

I’ve found your GUI interface to be very intuitive and easy to use.

Reading some of the comments, I can see some good suggestion for improving what is a very good design already.
I had a look at some of your code with the view to adding a feature to the serial monitor of the measurement window, and realized that I’m much better at hardware than software :slight_smile:

As a result I thought I might add to the global wish list for if you get some spare time in the next few years…

In the measurement section, one of the setting is baud rate.
This is useful for trying to determine what speed a protocol is running at for the most part.
When it does lock onto the data correctly, it also displays the data captured.

What I have found when trying to debug an RS485 problem running to Modbus protocol, was the scope was miss reading the speed or type of signal and as a result report erronous data. When it does capture the data correctly which is about 25% of the time (I can live with that considering to cost of the software) the packets of data are usually 8 plus bytes long, normally I can see 7 of the 8 bytes with the 8th byte hidden by the side menu.

Based on this one observation I can make the following recommendations for improvement of the software:

  • Can the right hand menu be hidden, requiring the pressing of the left button to open it, and the square button to exit out of it? It would also stop the erroneous entry into the right menus cause I hit the wrong selector…

  • in the baud rate setting when it displays the RS232 TTL serial data, can it wrap the screen so that all of the captured data is displayed?

  • Is it possible to set the target baud rate and or type of serial to reduce the capture errors?

Being such a small low cost device, I don’t expect it capable of protocol specific analysis of communications protocols, however, if you do choose to implement protocol specific analysis of serial data, I can test it against know working Modbus_RTU, Profibus_DP and DeviceNet protocols.

Regards,
Ray

There is some hope to have a working version also HW2.81?

I have checked the GitHup repository but seems that gabonator1 is not more active :frowning: