Signal generator of dso203_gcc 251 off by one

It looks like the frequency setting of the signal generator is off by one step. All frequencies up to 20KHz measure half of what they should and 50KHz is identical to 20KHz, measuring at 10KHz as well.

Here is an example of the signal generator measuring 10KHz when it should be 20KHz:



It appears that the ANALOG signal uses a fixed prescale value, or that it is set elsewhere. Values in the A_Tab in Process.c are completely ignored, although Update_Output() is calling __Set(ANALOG_PSC, …) for them.

Comparing to the original (Chinese comments) code, Update_Output() doesn’t even bother setting ANALOG_PSC.

Do some of these changes depend on a specific SYS or FPGA version? I am currently running SYS 152 and FPGA 261.


I confirm the issue, just noticed this morning while measuring my DS0203 (hardware v2.7, ) signal generator output with a PicoScope. It can be seen with the DSO203 itself, though.

Current community firmware is made to be used with SYS 1.50 1.6 from Marco Sinatti.