DSO firmware version 3.1

BenF, just tried your latest firmware: your work really boosted the usefulness of my Nano - now I have a very handy tool for audio measures :slight_smile:

Also, thank you for taking the time to write the manual - without it, I would have missed a few things.

And last but not least, thanks a bunch for considering about sharing your work with us also in source form: I for one would love to see your code - I’m sure I could learn a lot from it (got still a loooong way to go before thinking into improvements!).

Kudos,

Antonio

Hi BenF,

I was getting Prob saving image (or other) on my SanDisk SD 2GB with 3.0 or 3.01 (2.5too) (see earlier post)
I just upgraded to 3.1 and it work fine now without using SDformatter or any new format with XP.

Many Thanks Ben now i can use every function on my DSO V2.

Nicolas

Good feedback!

Looks like we we’re in pretty good shape with SD cards then.

Hello BenF,
working with another embedded system I saw its bootloader
uses the library FatFs, which implements a very complete
FAT driver for embedded systems:

http://elm-chan.org/fsw/ff/00index_e.html

With that you could create files directly, without having
to preload templates on the SD card - do you think the
Nano has still some memory to devote to this?

<buggin’ mode on>
If only I had the sources, I’d give it a go at implementing
that part myself :wink:
</buggin’ mode off>

Cheers,

Antonio

Absolutely. Adding the ability to create/expand files would be a modest enhancement now that basic issues are fixed.

BenF,

I haven’t had my DSO Nano delivered yet so I haven’t had the opportunity to use your code yet. I’ll confess that when I first read your change about searching for the trigger in real time, my reaction was “Surely that’s the way it already is?” It sounds to me like you have not just improved the code but made the DSO a practical tool for the first time.

I’d like to throw my very modest weight behind picpic020960’s suggestion of being able to save the whole working buffer to the SD Card. IMHO that seems like a great payoff for time invested. In addition to a host of other uses, it would let people do FFTs on their PC with the data grabbed. That’s not to say a built in FFT wouldn’t be great, but it sounds to me like a lot more work to implement.

Cheers

Hi,
I’m a German user, so I’m sorry for my English.
So First:
This firmware is very much better then the 2.2 FW.
But I have a Ideas:
Can the DSO nano v2 give Funktions from file to funcion generator port out, so you can use old scoped datas as output?
Thanks!!!

MfG
Asuro

From a sofware perspective this is doable, but analog output would require a hardware modification. The frequency out pin has a digital gate (74HC125) on its output and so can only be digital (square pulses).

Would it be possible to use the output pin for generating a PWM signal?
That way the hardware modification could just be an external low-pass filter. On the other hand, the resulting waveform won’t be very precise, I guess - but it could be suitable for not too high frequency applications.

PWM is very help full too.
And the erxternal low pass filter, this idea is in my opinion very good.

MfG
asuro

I’m very lucky with this version (thanks for this great work!), but have problems with calibration.
It’s not possible for me to set “Cal Offs” to zero for ALL VD ranges. For example, I set “Cal Offs” to 0 at VD = 1V then I have an offset of 400mV at VD = 5V. When setting VD = 5V to 0 now, offset at VD = 1V is -80mV --> moving in circles. I assume , there is only one coefficient used for all VD ranges?

The “Cal range” setting influences the displayed voltage even when input is short-circuited to ground. I imagine a straight line (y = m*x + b) where y = displayed voltage, m = “Cal range”, x = input voltage after A/D and b = “Cal Offs”. So “Cal Range” should not take effect on displayed voltage since x = 0. Please correct me if I’m wrong.

Is it possible to store one pair of correction factors (“Cal Offs” and “Cal range”) for every VD range? And what is going wrong with “Cal range”?

Thanks in advance

haupes

I don’t think there should have a pair of correction factors för every VD, this would only be useful if the input wasn’t very linear but I hope it is. Maybe the correction is applied after the VD scaling? I guess it should be applied to the raw A/D value?

The current frequency out signal is generated from PWM with a 50% duty cycle and other duty cycles would be possible. A low-pass filter must be tuned to an exact frequency in order to approximate a sinus output. If we change PWM base frequency or for any duty cycle other than 50%, the output would be odd looking.

The frequency out pin is probably intended as a handy frequency source for calibrating probe capacitance. To make a useful general purpose frequency generator, we would need access to an analog output pin.

The choice of a common two point calibration scheme for all ranges is a trade off for simplicity. To calibrate for every scale (10 for x1 and another 10 for x10) we would need a total of 40 calibration points. This is not so much an issue for the Nano or its firmware, but quite a task for the user. If there is a popular demand for an extended calibration scheme however, this may still be worth looking into.

Looking at your example, it seems clear that we have an issue that needs fixing here. I will look further into this. Thanks for your input.

Well, this is good news to me!
If the signal is generated using a timer (from your answer I guess it is), it won’t be that hard to add a new option for regulating the duty cycle too - and that would be a pretty useful addition (to me, at least).

I don’t know what precision can be achieved by the Fout pin, but for me the usefulness of such a system would be already good with 100 levels for the duty cycle at the highest possible frequency. More levels would be nice, but having no way to type them in in the UI poses a usability problem. Maybe the output could be more finely controlled by editing on the host one of the SD card config profiles?

Agreed, the generator won’t be able to match the performance of a fast DAC; but a pretty simple circuit, like the ones described in http://www.diolan.com/articles/dac.html, might be used as a cheap signal generator using the PWM output.

Antonio

Hi,
a slow Function-generator (e.g. up to 20kHz) are very good. (for a HW, that “can’t” do this).
And PWM are very useful, so I hope in the new Version are PWM support integrated.

So many Luck by coding, BenF.
(I’m interested on your Code)

MfG
asuro

New to all this but can’t find info to describe FIT mode as implemented in your V3.10 FW

Maybe you could explain what is missing from the manual.

Thanks

As benF pointed out, that could be a lot of entries for the user. May I suggest that one of the calibration points (master VD) fill all the data for the other calibration points. This way the user could modify the others as needed or just leave the others the same as the master VD calibration.

I will check on my hardware to see if any one VD has the least effect on the other VD scales due to the hardware. I will post my findings here if they suggest a valid master VD for calibration as described above.

Using BenF V3.12 zip APP and LIB, my calibration of ground found 2V and 0.2V DT to be the worst offenders if I calibrated ground using 10mV DT. Then I used 2V DT (was the worst variance) to calibrate ground, and then all DTs were ground or very close to ground (2mV DT was off just 200 microvolts (hard to be sure at this resolution). So for my hardware the 2V DT seems to be a likely candidate for the master calibration DT as explained in my previous post.

Testing of the range calibration will take much more prep so those results should be available in a day or two.

Thanks

The “FIT mode” was introduced in a late version of the Seeedstudio firmware, but I haven’t seen any official documentation. Nevertheless the idea here is to have the Nano automatically identify the type of waveform and adjust the controls to produce a usable display of the input signal. This is similar in function to the Auto push button found on most scopes. The function will track the input signal and continuously adjust trigger level, vertical sensitivity and horizontal sensitivity in small increments until a stable waveform can be displayed.