DSO203 GCC APP - Community Edition (2.51+SmTech1.8+Fixes)

I forgot to mention Quadpawn to jpa: (great work really impressive, thanks a lot!)

It works, but the process to install it is not conventionnal, because when I drop the hex file on the virtual disk, I don’ t get another instance with the .rdy extension, it just became busy while copying the file.

But If I power off/on, the application is ok with my configuration, it is able to write calibration.

Hello all,



I just bought a DSO and right now I am really happy with it. The finishing and the hardware is very great for such a low price.



Anyway, I would like to participate in the software developpment, I really like to code and this project is challenging.

My questions are, could anyone summarize to me which firmware/APP/FPGA are the ‘best’ and the most used by developpers here ?

From my reading on this forum, which is from my side a bit messy, I believe that the best firmware is the one from Marco => Where can I find the latest source code ? I am not sure if the one I got is the right one.

For the APP it seems this one from Gabonator is the one to use. Right ?

What about the FPGA ?



Thanks a lot everyone !



Flo

Flo: It seems that we are trying to figure out what can be ran on the new 8MB 2.72HW units. (BTW: Don’t go above 35V)



fflan: I tried to install QuadPawn as well. My setup is not modified at all: Stock everything from the store.

It has HW version 2.72, SYS 1.60, App (PLUS A1) 1.10.

I held button 4, starting copying PAWN_011.HEX. It set for a while and then said that USB Drive disconnected.

I turned it on and off and QuadPawn came up. So, so far, same results as you (no .rdy file)

Howewer, I don’t see calibration.ini file after running the Calibration app.



Looking at the Calibration app, save_calibration() should create this file. Do you have it ?

EDIT: I see CALIBRAT.INI now. I needed to unplug the cable and replug it.



In early November, Petteri Aimonen, made a few changes related to 8M devices. Some of the comments were:

“Upgrade to AlterBIOS 0.4 to make it work on 8M devices.” and “Add support for 8M flash chip”



So, it is strange that you can’t get this bios to work. Although, I didn’t try.


Yes, pawn is ok for me too !

I have two files : CALIB.DAT and CALIBRAT.INI (which I saved elsewhere)

I think they are for APP110 and Pawn when I have it (APP110 is now installed on slot 3 and it uses slot 3/4, so I don’t have pawn working anymore : not surprising.)


My problem is actually with SYS1.6, alterbios seems to not install anything. (How to be sure it is installed ?)

I have tried Sys1.52 and the community app wasn’t saving anything…

I don’t remember if I tried at this moment AlterBios, but I think I did.



Pehaps the good combination is the older SYS, alterbios0.4 and the community app : to be tried…



My other concern is gabonator, really good and working with sys 1.6 (I can save parameters, but others files corrupts the memory, and I lose calibration, and because It is not stored on the flash memory, I can’t restore it.

<LINK_TEXT text=“http://www.seeedstudio.com/forum/viewto … 441#p18441”>http://www.seeedstudio.com/forum/viewtopic.php?p=18441#p18441</LINK_TEXT>



An ideal configuration would be (for me) : Gabonator and the community APP fully working, with or without Pawn

OR

Gabonator and Pawn

OR

Community APP and Pawn

The main fault on the origina APP is tension and zero V accuracy, ridiculous…and well adressed by the two others;…



Thanks for your help

Thanks to recent posters for running the tests on the 8MB hardware which do show that there are problems with running the alternative software on this model. I, for one, am keen we get this resolved as I don’t want to get stuck with the supplied software on the second 8MB model I am getting when my existing 2MB model can run all the alternate apps without problems.



Here is my attempt at a summary of software sources to be considered. Please correct, add as needed.



There are 4 main apps plus the Pawn scripting apps.



Standard APP as supplied by manufacturer



Gabonator, Different UI approach, source at https://github.com/gabonator/DS203



Community App, many improvements, source at https://github.com/pmos69/dso203_gcc



Wildcat - Branch of Community App, not all features but some nice improvements, Zip of code is in post here <LINK_TEXT text=“http://www.seeedstudio.com/forum/viewto … cat#p18218”>http://www.seeedstudio.com/forum/viewtopic.php?f=26&t=2957&p=18218&hilit=Wildcat#p18218</LINK_TEXT>



Then there are 3 main current versions of SYS



SYS1.50 as supplied by manufacturer 2MB support, can be used with Wildcat, source at https://github.com/Seeed-Studio/DSOQuad_SourceCode



SYS252116 small modification to standard SYS (2MB) to support more signal gen range, used by Community App, source is in this post <LINK_TEXT text=“http://www.seeedstudio.com/forum/viewto … 116#p16851”>http://www.seeedstudio.com/forum/viewtopic.php?f=26&t=2957&p=16851&hilit=SYS25116#p16851</LINK_TEXT> although it is labelled as 1.6



SYS1.6 as supplied by manufacturer and supports only 8MB, source is <LINK_TEXT text=“http://kapsi.fi/~jpa/stuff/other/dso_qu … ources.rar”>http://kapsi.fi/~jpa/stuff/other/dso_quad_8M_version_sources.rar</LINK_TEXT>



SYS1.6 and 1.5 mainly differ around the ExtFlash support. Logically the API looks the same which is why I thought that the alternate apps might have worked. My current theory is that because the 1.6 SYS has much bigger Flash buffers then there may be a problem with the RAM memory footprint of the SYS and the APPs overlapping because of that. I don’t know at the moment what sets the memory base addresses of the app and the SYS to see if the apps can be adjusted to avoid any conflict.



It is possible that Alterbios could be used with the older SYS but I can’t find any good explanation of Alterbios operation other than it can take over the standard Bios calls, but there was a comment that the App also has to be adjusted to use this.

And which of these will work with latest Hardware revision 2.72 and 8M flash? The list itself is not new, we need to know which of these support the hardware, or are working on supporting it.

@bobtidey : Good summarize…

I’ve seen a source code managing the two memory chipset, but I don’t remember which app it was.



I have just tried that (the community pack) :

SYS 1.50 1.6 from Marco Sinatti ( http://pmos69.net/dso203/SYS25116.hex )

APP_G251.hex

FPGA 2.61

The device is recognized like having a 2Mo, you can’t format, you can’t access or save, but the app starts.

Alterbios 0.4 does not install (or I don’t know how, because it kept copying for ever)



So actually we need Sys1.6 on this device.

I put SYS_B160 and restart with community app : “parameter record not found” before starting.

But now I can format and I can save calibration parameters (dummy test)

I get a file 9222D88A.WPT.

I succeed to save ONE BMP of 47k and ONE BUF, but after that, the next files are 0 ko, I get ERR with all the next trials.

After a new quick format I can save another bitmap (you must disconnect/reconnect usb to see it)

In either case, the bitmap is readable but not… nice, for the less…

I can’t access to the timing under AUTO triggering : the field is empty

I can’t access to frequency above 50khz in square mode…



So, it’s useless like that…



I can try the Wildcat version under Sys1.6, but I’m sceptic. Edit: Confirmed, it is worse, when saving the second bitmap, it crashes.



@rapp.chr : read my previous post, APP110 (original for v2.7, the only one good for saving bmp etc), gabonator (with the restiction of saving wav, bmp…) and quadpawn are working with system 1.6 on my quad.



edit : Forgot to mention the dfu version v3.12c, and I miss a logo (grey frame)

Thanks, I must have missed that :slight_smile:

Hello everyone,



Thanks for the summarize, it helps!



I am looking at the source code, and I think I will work on the SYS to start with the basics, and after on the community APP. The Gabonator one does not seem to need any improvment :slight_smile:.

For the 2MB/8MB story, I guess you mean the external flash ? I saw on the schematic that the ext flash is a 16MB. Even if I guess few MB are used to load the FPGA (normally less than 1mb should be enough), to what needs are the left ones?



However I saw with disappointment that the JTAG port on the STM32 is used by other stuff and is not available for debug :cry: . I was expecting to debug it using an Rlink and Ride (similar to ST link).



Thanks!

Great to hear you are looking at this as well. If you are looking on 2.7 schematic the flash is M25PE16-VMW6P which is 16MBit (2Mbyte) which is the previous one. I haven’t found a full schematic for the 2.72 hardware but it should have a 64Mbit (8Mbyte) component.



One strategy might be to understand the memory usage of the SYS and APP as I suspect a greater RAM memory footprint of the 1.6 SYS may be conflicting with the current alternate APPs. The processor is supposed to be 256K ROM and 48K RAM but as has been found out here it seems to actually have the larger memories of a different version with 512K ROM and 64K RAM. AlterBios is one example that is exploiting a bit of the extra capacity.



I can see for example that the RAM usage of the APP in the Community / Wildcat App is set to start at 0x3000 (12K) for constants copied from RAM plus heap variables and the stack set at 0xAAF0. The linker files give the basic set up plus one can get an assembler listing from the .elf file which shows all the memory locations used. The SYS functionality is accessed via a bios jump table and I think uses RAM from 0 upwards. Now the 1.6SYS definitely uses significantly more memory as its EXT Flash buffer is 0x1200 long compared with 0x300 for the 1.5 SYS. This is because the paging in the 8MB Flash is different. I haven’t worked out yet where the top of the 1.6SYS RAM usage is yet. I was hoping to check the memory positioning of the AP110 factory app which does work with SYS1.6 but I can’t find the source for that. I think there is sufficient spare space to maybe reposition the APP RAM a bit to avoid a conflict if there is one.



What dev environment are you intending to use? So far I have only attempted building APPS and I used the CodeSorcery toolchain 2011.03 as linked on the community github. Originally I tried a more recent one but although it built OK the APP wouldn’t execute correctly.

Added Pmos69’s FFT and spectrograph functions:



Added selectable Hamming window or adjacent bin summing, some amplitude compression and screen calibration in decibels. Adjacent bin summing provides flat frequency response at the expense of resolution restricted to every other bin. Provides flat response similar to a flat top window but only expands bandwidth to 2 bins.



Corrected FFT frequency values displays. Also allowed meters to show with FFT on but channel turned off.



Optimized code so still fits within 2 ROM “slots” (barely, beware if recompiling…) - without spilling into the 3rd.

Hello,could you please tell me why cant I download wildcat3 to my device.I have:

HW:2.72

SYS:1.52

APP:2.53

It gives me an error of not enough space on the drive.The available space is 492k and the file is around 2G.Do I have to download all the files in the folder?I have other apps on it too but dont use them.Is that a promlem?

Thank you for your time in advance.

I’m not sure I understand the numbers you quote 492k and 2G. The file you need to install is just APP1.hex (or APP2, APP3 if putting in different slots). This is a 183k file. The rest of the material in the zip is the source code etc.



You start up the DSO with the USB connected and left hand button pressed which puts it in download mode and then just copy the APP1.hex file across.



By the sound of it you may have the latest hardware with 8GB disc. You can check this by looking at drive properties when mounted. If so then this software may not be compatible with this yet as it was built for the previous models with 2GB discs. That is one area I am interested in sorting out. There is no harm in trying as you can restore the original software if you have its hex file.

I guess you are getting a HEX file that is bigger than what it is supposed to be(possibly rendered in HTML format). You should use the right-click save-as option to save the HEX file before you use. Check the HEX file size to be sure you got it correctly.

Three days ago I also got my DSO QUAD. It reports HW ver. 2.72 and the drive size in Win Explorer ist 8MB.

It took me a day to find out about this firmware stuff.



What works:

  • Gabonator
  • Pawn stuff



    What doesn’t work:
  • APP_G251
  • Wildcat 3



    Both install, start and do a lot, but e.g. the time base setting is never displayed and

    I can’t fire up the CAL screen. Looking at the code this is wierd, as short/long/extra long

    key presses are correctly processed but the cal routine ist probably never called as

    one of the first things it would do is blank the screen, but that remains undisturbed.



    Thanks to the Gabo package I could set up a dev environment on Win, rebuild his latest app version

    and run it as APP4.



    @tsipaki7

    I find your SYS and APP versions posted somewhat surprizing as I understand the 8M hardware

    requires SYS 1.60, mine has that. Also my APP is 1.10 and I’d like to know what 2.53 is.



    Try the wildcat3.zip file from the post above yours. If it unpacks with no error then the download is ok.

    Then try one of the appX.hex files.



    Warning! make sure you have the hex file for the stock firmware before you do anything!

    I found that installing something as APP 2-4 often corrupts APP1.



    Wilhelm

mr.django, I appear to be in the same boat. I have HW version 2.72 and got the errors you report with APP_251 and Wildcat 3. I was also not able to observe a signal from the signal generator.



I’m going to try Gabonator and Pawn Stuff later and report back.



Is this “Pawn Stuff”? All I could find in a quick search was something called QuadPawn.

https://github.com/PetteriAimonen/QuadPawn



And just to confirm, this is Gabonator?

https://github.com/gabonator/DS203

Re: issues with hardware 2.72:



The code I posted was not tested with and never meant to work with the newer HW2.72/SYS 1.60. File reads/writes

will likely fail with this version as cluster size used is different with the newer 8Mb drive it uses. One of the first things the

program does is read the config file, which will likely corrupt the menus, among other things, if not read properly.



Unfortunately, at this time, I don’t have one of these later 8Mb version devices, so I can’t test any possible

modifications to make it compatible. I just purchased another Quad (NOT from SEEED), but it turned out

to be a 2Mb version (with a sub-standard “clone” ADC that had to be replaced, I might add… Produced nothing

but garbage on one channel at the faster time bases) .



For those with the earlier version, here’s a minor update, bug fix and performance improvement:



CHANGELOG TO VERSION W3.1:



-Fixed color background for FFT values being used from out of bounds array index, producing faint

blue background (or possibly something else if recompiled) instead of black. Also changed FFT

frequencies display to green to match channel D color (provides better visibility than red).



-Fixed inadequate buffer size being used under some conditions when using spectrograph function.



-Fixed a bug where meter readings of one channel would show up on another channel if it was turned

off and FFT turned on.



-Changed triggering selection logic to better integrate with FFT when not displaying trace.

When all channels are off, triggering will be set to FFT displayed channel. Also, trigger selection

shortcut will acknowledge FFT channels, if on, when switching trigger source, rather than channel D.



-Changed V/div shortcut: now if selection is already on V/div, will toggle channel on/off, rather than

going to other analog channel’s V/div and turning that one on, if off. Also if FFT is on with all

channels off, shortcut will go to the FFT’s channel V/div but will not turn it on (long press again

to toggle channel trace on/off if desired).



-Added V2 cursor = db in FFT mode, V2 cursor position added at top of screen. Helps calculate db

readings, particularly near bottom of screen.



-Changed graphics of FFT freq displays so peak trace can be clearly seen through them, providing

better visibility at top of screen.



-Changed most often called for background graphics refresh source from ROM constants to run time

loaded RAM arrays. Provides significant increase in frame refresh rate (specially in single frame

buffer mode) and reduction of ROM size allows program to still fit within 2 “slots” in spite of

increased size/complexity.



-Start/Stop will now pause spectrograph.



-Eliminated needless simultaneous drawing of hidden trace graphics while in spectrograph mode

(speeds up refresh).



-FFT summing mode now engages a bin earlier at the extreme left in the spectrum.

I just installed The Wildcat 3.1 app. (Hardware v2.6, SYS 1.50)

Thank you so much for this, Wildcat!!! :smiley:

It’s fantastic!

I just found one issue.

The frequency of the internal signal generator is 4 times higher than indicated.

The internal frequency counter and the FFT display the real frequency. e.g. with the signal gen set at 1 kHz the app displays 4 kHz.

I confirmed with another frequency counter and it also shows 4 kHz when the signal gen is set to 1kHz.

Any idea?



Sorry if this has been addressed before.



Regards,



Markus

Are you using the modified SYS that was designed for the community app? That will cause that effect with the WIldcat APP which is designed to use the standard stock SYS.

So… is there -any- firmware out there that works with HW 2.72? Or am I now stuck with an albatross? :cry: