Easy programming for the DSO Quad

You have hardware that is able to capture 1180 samples in that time. So I was thinking something like this:

  1. Set waveout to output square wave @ 10Hz.

  2. Set wavein to capture @ 72MHz in free-running mode (DC 500mV) and start the capture synchronously. This means the capture will start when waveout starts a new period.

    The result will be a decaying waveform like this: <LINK_TEXT text=“http://en.wikipedia.org/wiki/File:Serie … oltage.svg”>http://en.wikipedia.org/wiki/File:Series_RC_capacitor_voltage.svg</LINK_TEXT>

    Then you could fit the exponential function to the captured data and compute the capacitance from that.

    You will have to adjust the sample rate for higher capacitances though. Because the usable sample buffer is only about 3500 samples, it will only store 50 microseconds @ 72MHz.

I was just going to do a simple RC circuit. Your method will work and not require external parts. I will switch gears and duplicate with my test equipment first and then reproduce in pawn.

Since we have a lot to FPGA logic to spare, the FPGA could even catch the preset point in your project with something like this
– Start some counter somewhere

sig_preset_reached <= ‘1’ when ADC_sample > PRESET else ‘0’;

preset_capture: process(sig_preset_reached)
if rising_edge(sig_preset_reached) then
– stop counter and output count
end process;
The first part (combinatorial) can easily run in less than a ns, and the counter can be connected to the main sampling clock.

Today I got an error when loading pawn.

redscreen hardfault

SP:2000bcf0 PC:080442ac LR:08045063

SCB HFSR:40000000 CFSR:00008200 BFAR:74ab4c00

There are also R0 to R12 listings as well as Callers.

I have tried reloading older versions of everything and it still does it. I also loaded jpa’s flashtst.hex into app4 to see if it might have a problem in that slot but it worked fine. When I loaded pawn again it still does the hardfault.

Any help would be appreciated.

My gut tells me its because I loaded the logo file. I have not found a way to erase and start clean.

That PC address is in the AlterBIOS memory. Try reloading AlterBIOS.

(I’m not sure if I should combine the alterbios image to Pawn image, so that they are both in the same .HEX file)

That was it. Not sure what happened but its working again.

I was making headway on calibration last night. Trying to add supply voltage differences. Is it possible to get CPU temp in pawn?

Nope, and even if it was the CPU temp sensor requires calibration itself also.

I don’t care if its accurate. Monitoring drift over time could help.

True; but it would only be a second-hand estimate for the ADC / analog stage temperature. Because the data is all digital from the ADC onwards.

Let me back up and explain why I was asking about monitoring temp drift over time. I noticed drift when using the DSO with standard or alternative firmware when measuring RMS. This is about the same time I lost access to pawn. There is several volts drift after minutes.

I just checked the volt meter readout with pawn and it is rock steady. I also checked the Vref on the ADC.

Now I assume there is a bug in the RMS calculations.

There is new release 0.08 that fixes a bug with FFT causing hardfaults.


Thank you for the update.

Note that the application still identify itself as V0.07 in the about window


Little hint: always download the Zip from github etc … everytime i load an .hex, .bin or .amx file Firefox & Chrome corrupted them !

Downloaded everything as .zip an now everything works like charm !

thanks for this great piece of software !

Greets Martin

Hi all,

I’m not sure if this has been covered before, but I am having some issues with compiling .p and .pawn programs using Quincy. I am using the latest version of Quincy, and I have PAWN_011.hex loaded onto the quad. I can run the pre-compiled examples (.amx files) but I am getting problems compiling my own.

The following code compiles fine:-




new a

new b

new c






When loaded onto the DSO Quad and ‘Run’ I get:-

Loading of program SCRIPT1.AMX Failed:

Error 6: Invalid Instruction

If I try to compile some of the examples provided, like ‘weekday.p’ it compiles fine but when run on the DSO Quad I get the same Error 6 Failure.

Any help will be gratefully received…Thanks


It sounds like you have wrong settings for the compiler.

Double-check that your settings are the same as listed here:

<LINK_TEXT text=“https://github.com/PetteriAimonen/QuadP … n-programs”>https://github.com/PetteriAimonen/QuadPawn/wiki/Getting-started#wiki-compiling-pawn-programs</LINK_TEXT>

I really suggest to use the compiler from git repo (set the compiler path) because it is tested to work.

Thanks jpa…that was the problem… I hadn’t picked up on the need to use the compiler in your Git repository…makes a big difference. Is there a list of commands for use with pawn for the DSO Quad?



You can find them along with documentation in the include files:

<LINK_TEXT text=“https://github.com/PetteriAimonen/QuadP … er/include”>https://github.com/PetteriAimonen/QuadPawn/tree/master/Compiler/include</LINK_TEXT>

default.inc lists the ones that are included by default, you need to add #include directives for the other libraries.

Hello everybody,

I would like to contribute providing a icons builder for QuadPawn. It was written in C # and is a beta yet. I hope it is useful. Feedback is welcome.

Use the left and right mouse buttons (including drag) to draw.

Hello jpa!

Could you please tell me where exactly the PAWN programs will be loaded?

I would not like to corrupt the Wildcat firmware on the device.

The load addresses for the Wildcat and yours are different:

Yours (PAWN 11B):

08024000 - 0802B4D5

08044000 - 08045D43

and Wildcat 5.1:

0800C000 - 08023C9B

08048000 - 08057807

So I see no overlap in the load addresses for these two applications

and Wildcat would start at power-on and yours with power-on and button 4 pressed.

Would loading the PAWN apps overwrite the Wildcat application starting at 08048000?

Could you please verify that there will be no collisions?

Would your application run on a DSO203 hardware version 2.81?

Thanks in advance


Hello all!

To answer my own questions:

I loaded the PAWN11B into the DSO203, which already has the latest Wildcat 5.1 plus V1.1 FPGA installed.

Then I loaded the frequency response and the spectrum display PAWN applications.

PAWN starts with pressing button 4 while power on.

Everything works fine up to now!