DS203 quad user interface design

The 227KB download file is a web page. Thanks for finding this!

Even with the HEX load, I don’t get the error but I don’t get a change in the scope app either.

I tried both APP_G251.hex and copying it as APP.hex.
I tried Linux and Windows both. Do I need to downgrade the FPGA and SYS code for this?
Does it install as the default app or is it on another startup button? I tried buttons 2-3-4 and get no app.

I have the most recent FPGA according to the firmware wiki page. So that’s probably not the issue. I upload my firmware from an XP box, I couldn’t get it quite right with Ubuntu.

Did it come back with a file after you uploaded the firmware? Have you been successful in uploading another firmware? I used the name found in the git repo. Did you obtain your file via git, or by web page? Is your firmware about 76KB?

I just did a diff between the correctly downloaded hex file via web page raw, and via git download. The diff claimed the text for each line to be the same, however the line end character is not. I also noticed the file size as claimed by XP is 75KB for the web copy, and 76KB for the git copy.

The web page raw download produced an .err when I tried to load it. The git copy worked great. Perhaps a zip copy of the original source file would be handy, this would ensure data integrity, as it appears the github web page is modifying the files before sending them for download. Git was intended to be for source code, not binary files, I suspect that’s one reason why this didn’t work as one would expect.

A quick review of the current alt GUI.

I like it much much. I see the grey features, implying they are planned, but not implemented yet. Those look really interesting.

Things I like include,
– Better contract of the text, the flashing text and odd contract of the original gui was some times a bit hard to read for those with less than perfect eye sight.
– Not using the push button of the selector switch, I find them hard to press, especially if I have gloves on.
– I find the gui just plain easier and more intuitive to navigate. Options are near each other, the selector doesn’t jump around the screen, it flows from one selection to the next.

Things that would be really cool to see include,
– Save primary setting such that they are kept when I turn it off, then back on. Things like channel 1 amplitude, trigger setting, time base, ect.
– HEX file that can be loaded into slot 2 or 3 instead of 1. Perhaps noted in the name like APP_G251_slot1.hex APP_G251_slot2.hex, ect.
– Custom wave form uploaded via USB for generator.

All in all, it’s a great start, I wish I were a better programmer and could help. Keep up the good work, I’m eager to see what you come up with next.

I tried to compile under wine, but with out luck. I used “wine cmd” to get into a windows command prompt, but get this message. [code]C:\DS203\Build\arm_win32>makefile.bat
DS203 Build tool by valky.eu
Target slot: !APP!
DFU Drive: !TARGET!

Your current path contains spaces, it can cause some problems…
Press Return key to continue:
Compiler not found !

C:\DS203\Build\arm_win32>
[/code] I changed the makefile.bat like this set CBASE=C:\arm-2011.03\bin\ I would guess there is a space in a step of the compile process that doesn’t match the wine expectations. I don’t know where that might be though. Any thoughts about how to find it or them?[code]C:\DS203\Build\arm_win32>cd C:\arm-2011.03\bin\

C:\arm-2011.03\bin>dir
Volume in drive C is
Volume Serial Number is 0000-0000

Directory of C:\arm-2011.03\bin

12/5/2011 6:20 AM .
12/5/2011 6:20 AM …
4/20/2011 4:34 PM 380,928 arm-none-eabi-abiactel.dll
4/20/2011 4:34 PM 592,896 arm-none-eabi-addr2line.exe
4/20/2011 4:34 PM 611,328 arm-none-eabi-ar.exe
4/20/2011 4:34 PM 1,072,640 arm-none-eabi-as.exe
4/20/2011 4:34 PM 229,888 arm-none-eabi-c++.exe
4/20/2011 4:34 PM 591,872 arm-none-eabi-c++filt.exe
4/20/2011 4:34 PM 228,864 arm-none-eabi-cpp.exe
4/20/2011 4:34 PM 55,808 arm-none-eabi-elfedit.exe
4/20/2011 4:34 PM 229,888 arm-none-eabi-g++.exe
4/20/2011 4:34 PM 226,816 arm-none-eabi-gcc.exe
4/20/2011 4:34 PM 226,816 arm-none-eabi-gcc-4.5.2.exe
4/20/2011 4:34 PM 44,563 arm-none-eabi-gcov.exe
4/20/2011 4:34 PM 4,233,728 arm-none-eabi-gdb.exe
4/20/2011 4:34 PM 656,384 arm-none-eabi-gprof.exe
4/20/2011 4:34 PM 868,864 arm-none-eabi-ld.exe
4/20/2011 4:34 PM 602,624 arm-none-eabi-nm.exe
4/20/2011 4:34 PM 744,448 arm-none-eabi-objcopy.exe
4/20/2011 4:34 PM 888,320 arm-none-eabi-objdump.exe
4/20/2011 4:34 PM 611,328 arm-none-eabi-ranlib.exe
4/20/2011 4:34 PM 373,248 arm-none-eabi-readelf.exe
4/20/2011 4:34 PM 792,064 arm-none-eabi-run.exe
4/20/2011 4:34 PM 593,920 arm-none-eabi-size.exe
4/20/2011 4:34 PM 455,680 arm-none-eabi-sprite.exe
4/20/2011 4:34 PM 593,920 arm-none-eabi-strings.exe
4/20/2011 4:34 PM 744,960 arm-none-eabi-strip.exe
4/20/2011 4:34 PM 166,400 cs-make.exe
4/20/2011 4:34 PM 38,912 cs-rm.exe
27 files 16,857,107 bytes
2 directories 31,728,070,656 bytes free

C:\arm-2011.03\bin>
[/code]
Also I plan to have a Doxygen file available shortly. I’m downloading and installing Doxygen now. That should make some nice call graphs and such things to make it a bit easier to study your code.

I wanted to try it out (and maybe even help to improve it if I like it - I’m a programmer), but couldn’t.

First, I cloned the git repository. Then I copied .hex file to my DS203, it was renamed to .rdy. But nothing happened. That is, current firmware in the device was not overwritten: everything works like I did not try to update the device with completely different firmware. Very strange. I tried many times of course. With all other firmware (standard, marcosin’s, and my own) everything works correctly, and always updates perfectly.

Then I tried to compile:

% cd Build/arm_linux % make make: *** No rule to make target `BIOS.o', needed by `all'. Stop.
Obviously, I’m using Linux.

So, what am I doing wrong?

I also tried with linux, specifically ubuntu 11.10 64 bit. The original thread was “DS203 development on Win32 platform” under the tech support section. So I suspect the linux stuff is really just junk in the back ground, and probably won’t work with out some additional efforts. I have XP, but with a full HDD, so I tried using WINE on a Ubuntu box that did have space, but no dice.

Liss, can you try the WINE approach, I suspect it’s a minor config issue with WINE. It’s been a while, I forget how to step through bat files.

Liss, I did my firmware upgrade with a XP box, and it worked fine for me. You should have the same files I have, so perhaps there is a bug in the linux DFU process. Perhaps try again, even though it noted .rdy. I think it’s not fully ready unless you unmount the device before you pull it from the USB. I could not get the Linux DFU to work for me, but that’s largely because I got lazy and used the instructions for windows.

Can you post the file size of the firmware you tried to install and more notes about the install process? Do you know what FPGA firmware and such you have? I had successfully uploaded the 2011-11-15 found on this page seeedstudio.com/wiki/index.p … mware_List I had macrosin’s installed just before I installed this one.

Please see below how I do it, it should work for you too. It works perfectly for me for updating firmware (however, for updating FPGA you need traditional mount-cp-umount).

Could you please check, does sha256sum of my .hex match yours?

[code]% sha256sum Bin/APP_G251.hex
576e8498406a88c6d5d810bcd2326e172ccaa604c3eac89f4dfd9b8c77e9231a Bin/APP_G251.hex

% dsofwu Bin/APP_G251.hex
Volume in drive D is DFU V3_10_C
Directory for D:/

APP_G251 rdy 76084 2011-12-07 12:15
1 file 76 084 bytes
427 520 bytes free
% cat =dsofwu
#!/bin/sh
mcopy “$1” d:
sleep 8
mdir d:

% cat /etc/mtools.conf | grep -B1 DFU
drive d:
file="/dev/disk/by-id/usb-Vertual_DFU_Disk_4ÿ_d2K88X__C-0:0"
[/code]
And, as I have said in the previous message, I tried many times. Since with any other firmware (compiled by me or others) it works in 100% of cases I guess there is something wrong with the .hex in the git tree, or my DS203 somehow different.

Today I have tried on Windows, when I copied the firmware in the DFU disk, Explorer automatically closed the window. Nothing happened, firmware did not update. Then I did the same for standard firmware AP1_B252.hex, Explorer automatically closed the window again, and it worked. So, this proves for sure OS is not the problem here. I get the same result in both Linux and Windows.

I also tried with traditional mount-cp-umount (and then mount-ls-umount to make sure I got .rdy). Nothing worked.

My FPGA version is 261. I’m sure it is 261 because it behaves differently than 222 (which I tried before updating to 261).

But inability to compile the firmware is another big problem. Even if update worked, I need to compile it to be able to improve it. And according to its README it definitely needs a lot of work. But standard firmware also needs a lot of work, so I thought maybe gabonator’s firmware is better place for a start? Its unfortunate that it does not work.

Yes, you are right. I examined provided Makefile and it looks useless because it expects .c (in both “.c.o” and “.cpp.o” rules) and .S files in its directory. But even if I copy all .cpp and .h files to its directory, and correct rule for “.cpp.o” (it should look for .cpp not .c files) - I still get the same output. So basically there is no Makefile. What’s the point to include in the git tree junk like Makefile which cannot work?..

Since I’m not familiar with the project, and never created Makefiles manually (because I use cmake for my projects), its not really obvious how to compile it.

Since it does not work, there is no point because I do not know how to debug .bat files (actually, its even worse: I do not know anything about .bat files except they are scripts interpreted by cmd). By the way, Wine’s cmd still needs a lot of work (I know because I’m subscribed to Wine’s mailing lists, and I contributed some patches to Wine, helped to fix some bugs), so it may not work at all no matter what you try.

And I need it to compile in Linux (without Wine, virtual machines, etc.) anyway, because this is where I develop the software. For now, I’m stuck, because even precompiled .hex does not work.

Yes I get the same check sum. Do you know how to get the boot loader firmware number? That’s about the only thing I think think if that might be different from the two. When I do it with explorer, it comes back as expected for me, so something certainly seems wrong.

I’m reasonably ignorant about how the boot loader works for the quad, but perhaps something crashed and is being held in that state. Perhaps pulling the battery and turning the power switch on, then off, such that it allows the bulk caps to discharge, might reset something. I doubt it, but might be worth a try. Does seem odd to me. Boot loaders don’t typically get effected like that but who knows, seems like a fairly easy and short to try as a stab in the dark.

It looks like there are several potential DFU boot loader options out there. I wonder if this DFU is the same or really close to one of those. Perhaps it’s a known bug of some sort, and has forum posts or such that might help shine some light.

I see the ISP header is there. I seem to recall that about any TTL 232 adapter can program via that port, so you could probably force it that way with flashmagic or equivalent. I’m guessing you wouldn’t want to do that any time soon.

Thanks for the script, I’ll try it the next time I upload a firmware.

any updates on this project? :wink:

Indeed… any progress?

Has anyone gotten the tool chain working under Linux? (I don’t have Windows here)

I’m a software engineer (among other things) so I really want to make the UI “hot stuff”.

  • Bill

First, Thanks so much for the UI. I was scared my quad was going to be totally unusable at first.
Is there a calibration procedure in this software though? I noticed mine was off quite a bit.

I’m getting the toolchain going on Linux, and I’ve found a few bugs in the summon-arm-toolchain code.

More specifically, some libraries need to be manually installed. In Fedora, they are (at a minimum):
gcc, c++, xforms, gmp, mpfr, mpc, libmpc2, termcap, ncurses, in their full (i.e. *-devel ) forms.

Note especially that mpc is in flux right now; the most recent version of mpc requires a version of
mpfr that is not yet in the standard Fedora repositories, so I had to drop back to mpc 8.2 (installed
from the mpc download site). At that point, you can give ./summon-arm-toolchain a try and see
where it complains.

Note also that I had to comment out the download of newlib via ftp from sources.redhat.com and
install it manually as ftp was broken on that file but http worked. Bizarre, I know.

So, what’s in SYS, and what’s in APP? Where should I start?

(also, I’m thinking that I want a UI that has only six dropdown tabs, one for each pushdown
switch on the 203 including the two under the rockers, and then the rockers always do the
same thing - left rocker scrolls down the options, right rocker selects a value for that option.
I’d say just four dropdowns, but that’s awfully limiting. Pushing a rocker always switches
to that dropdown tab. If no tab is down, the left rocker controls voltage scale, right rocker
controls timebase scale.

Or something like that. I’m still thinking. And wishing the DS203 had a touch screen. :slight_smile:

  • Bill

Last I understood, the holidays and career were time constraints that made it hard for him to work on it.

Perhaps a VM of a windows machine would work out for one of you folks in Linux land. I just installed Win7 64bit on ubuntu with VMPlayer, it worked great. If there is interest, I might be able to allow remote access some how.

When you convert the line endings of the hex file to DOS style (CR/LF) it works.

Nice GUI by the way. It finally makes the scope usable. I think the project should keep things as simple as possible, not many features. But whatever is implemented, make it EASY to access.

Been triying to use this app for 2 months and I just made it… had not thought of this simple thing.

1.download the file
2.open it with notepad++
3 Edit>EOL Conversion > Windows Format.
4.Upload it to the DSO
WIN

Thanks!

EDIT:

I am using marcosin’s latest release (1.8) and I have overwrited his app with gabonator’s

Link for the .hex file already converted to DOS type megaupload.com/?d=K1R82U7V

cheers

I am impressed by your interface - I have used the quad in a classroom situation but the interface is not intuative - only problem is the single space available for additional programs and I love the freq response app - maybe i’ll have to get a second Quad :smiley:
cheers
Don

After many ours of use:

Pros
-The controls and display are SO intuitive and easy to use. Just perfect.

Cons
-Can’t start the calibration script
-Measurements are not working

IMHO this is a great app for signal visualization as the controls are quick and easy. However I’d use Marcosin’s software suite for pure “measurement”. If the cons are sorted out, this would be the definitive app and I would even gladly pay for it. Let’s drop a donation to gabonator ^^

I’ll second what DrV says.
Cal. and measurement are what I’m missing most.