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

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:

Thanks for your answer!

Good question :oops:

On my display it says SYS 1.50 SmTech 1.6



Could you please target me to the correct SYS?



Edit: just found everything on page 1 of this thread.

Now that’s embarrassing :smiley:

Ok found everything on the DSO wiki :smiley:

Works like a charm now!

HW 2.72 with 8M?

I have HW 2.6