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

Yes to run the signal generator in right mode, it’s necessary the sys 1.50 1.6 i don’t remember what i have changed but i remember that i’ve modified something.

I’ve just changed the readme.txt to reflect this.

Can’t reproduce this…

Pmos69, i have make some modify to Your old 1.18 version, this is a screenshoot.

-The FFT function and FFT source can be selected from the track4 menù, it’s possible select the ch A or ch B. They are displayed as track4 math results.

-I’ve changed some colors

-I’ve changed the FFT meter positions, the max meter moves along the peak position



There are stupid modify, but if you think that are interesting, i can send to You the code to integrate it in the next version. Maybe you first do it without my code!!! hehehe.

Thanks Marco, that looks much better. Great.

I didn’t do much more, because I’m leaving for Zurich tomorrow and I’ll be away for a week because of work.

But send the code and I’ll try to do it as soon as I can. (I’ll bring the dso with me :slight_smile: )



All the best,

Pedro

Hello Pedro



The sys was a problem. Updating from Marcos binary corrected the problem.



Now, my setup has

HW 2.60

SYS 1.50 SmTech 1.6



Thanks very much



Regards

Jerson

Here the modified files.

In the sources i have deleted the “interlace mode” because it’s never used in the software. In this mode we have more free memory.



Thanks

Marco

Here are the code modifications necessary to fix the trigger (they’re all on Process.c):

At the start of the file, declare:
</s>u8 HoldOnNext=0;<e>

In Synchro() change
[code] if((_Status == RUN)&&(__Get(FIFO_FULL)!=0))
{ // FIFO is full
__Set(FIFO_CLR, W_PTR); // FIFO write pointer reset
Wait_Cnt = Wait[_T_base];
JumpCnt =0;

if(_Mode == SGL)

{
_Status = HOLD; // one finished, enter the pause
_State.Flag |= UPDAT;
}
}[/code]
to
[code] if(HoldOnNext==1) {
_State.Value = HOLD; // one finished, enter the pause
_State.Flag |= UPDAT;
HoldOnNext=0;
return;
}

if((_Status == RUN)&&(__Get(FIFO_FULL)!=0)){ // FIFO is full
if((_Mode != SGL)) {
__Set(FIFO_CLR, W_PTR); // FIFO write pointer reset
}
Wait_Cnt = Wait[_T_base];
JumpCnt =0;
if(_Mode == SGL){
HoldOnNext=1;
}
}
[/code]
That should be all :smiley:

Thanks!

This is great.

A lot of contributions already from a lot of people.

It’s just a pitty I’m away and buried in work, but I’ll merge everything as soon as physically possible.



Thanks everybody.

Hi Pedro & Jack



I have used pmos69_app_v119 and merged the changes.



Following files have been modified and you can find the mods by searching for ‘Jerson’ in the code



E:\Download\DSO203\pmos69_app\App\src\Menu.c

179: {(char*)NumStr, (u16*)V_COLOR, 10-1, NUM2, 342, 152, 5, UPDAT}, // Class (Jerson was 11-1 now 10-1)

536: if(Title[i][j].Value >= Title[i][j].Limit){ // Jerson (was ==10, made >=Limit)

E:\Download\DSO203\pmos69_app\App\src\Function.c

390: /* removed by Jerson. Was causing selections to jump around (bounce) */



Attached file has the changes.



Thanks for helping me get into this Marco, Pedro, Gabriel and of course the original author Bure



Regards

[code]v1.20

  • Improvements in the FFT (Marco Sinatti):
    • The FFT function and FFT source can be selected from the track4 menù, it’s possible to select the ch A or ch B.
      They are displayed as track4 math results.
    • Changed some colors
    • Changed the FFT meter positions, the max meter moves along the peak position
  • Trigger fixes (JackTheVendicator)
  • Fixed volume control + selection bounce (Jerson)[/code]

Thanks everybody



Latest download: https://github.com/pmos69/dso203_gcc/zipball/master

As usual, I borked something up in the fix :oops: (I haven’t worked on it for months).

To correct it, remove line 579 (u8 HoldOnNext=0;) and place at the head of the file instead (before line 14 is fine). Then, go to line 353 and change from
</s>if((_T_base > 15)&&(_Status == RUN)) DataBuf[i] = __Read_FIFO(); // read into the 32-bit FIFO data reading pointer +1<e>
to
</s>if(((_T_base > 15)||(_Mode == SGL))&&(_Status == RUN)) DataBuf[i] = __Read_FIFO(); // read into the 32-bit FIFO data reading pointer +1<e>
(this adds a check that updates the screen in SGL mode just after the scope goes in HOLD status).



–EDIT–

FFT seems to work correctly even in single shot mode.

done:

[code]v1.21

  • SGL Trigger fix (JackTheVendicator)[/code]

First, thanks for your great work. Now DSO X is really usable. :slight_smile:

But there is a little problem in my dso.

I replaced the switcher regulator to a LDO, now most of the noise is reduced,but the display of RMS is not correct.



Maybe is a bug. can you check it? I’m good at hardware but not arm :wink:

Thanks

@pmos69

I’ve added your firmware in the wiki <LINK_TEXT text=“http://www.seeedstudio.com/wiki/DSO_Qua … plications”>http://www.seeedstudio.com/wiki/DSO_Quad#User_applications</LINK_TEXT>

v1.21 ∆T on 500ms and 1s bug







∆V bug







































I couldn’t reproduce the issue.





Are you using the correct sys and fpga?

Yes, I’m using sys1.6 from macrosin and fpga 2.61.

In fact, this problem maybe is something about the hardware, because I find not like the schma, the v- is -2.8v but not -3v.

Now I have a v+ of 3v, maybe is the difference between V+ and v- caused this problem.



But after the calibration, other values are corrected. Is the RMS has a different way of calculation?