My previous feedback is for the EXE downloaded from github.
Now I build it from the source and it works‽ When I close it it shows two screens with errors, though.
Please show errors, I will try and fix it. IIRC I cross compiled the Windows release binary, if this is faulty I will rebuild it on Windows (although the release binary tested fine on Windows 10 Home).
I have connected one pin of a cheap sine generator to GND and the other to A0.
As you see, only the positive part of the sine is shown.
It would be a significant advantage if it was possible to use differential channels (A0 to A1 for example).
It is indeed possible on some of the AVR MCUs, but not the atmega328p (Arduino Uno/Nano). Another feature could be to enable the build-in ADC gain on the attiny x4 series.
Also, I have come on some other oddities:
1. When I select channels 0; 1 and 2 the same is shown on all 3 channels. I suspected that it was because the other pins are floating, but when I disable chan 0 while 1 and two are on, I get no signal measured there (the generator is still on).
Yes, floating pins. When the channel 0 (with the active signal) is unselected, the ADC multiplexer does not connect that pin to the internal sample&hold capacitor, so there is no charge on the sample&hold capacitor when channels 1 & 2 are read by the ADC.
2. When I enable all channels and then disable them, I have channels A0 — A7 on the screen. Note that there are no check boxes for channels A6 and A7.
If no channels are selected the oscilloscope should effectively be stopped, but this is not currently enforced in the code. So definitely a bug.
3. As seen from the image, the recorded peaks have different heights, I suppose it is due to a low refresh rate (the generator is not that bad). The frequency of the signal is about 260 Hz.
I assume there is no signal conditioning outside the Nano? Then it may be due to high signal impedance, sampling frequency aliasing, or superposition of an external signal like mains. Remember that a real oscilloscope has extensive signal conditioning circuitry to help minimize many of these effects. In your other post it seems as if the signal range is about - 1.1 to +1.3V, however on the first screenshot the maximum voltage is around 500mV, maybe the signal generator impedance is too high for the ADC (> 10 kOhm)?