Bunch of things to do in future releases. No particular order:
- some presentation: CamStudio, Debut from NCHsoftware
- FFT: logarithmic vertical scale
- FFT: add phase plot?
- printing
- tool to select part of the plot for FFT, statistics, export
- hotkeys + hotkey manager
- plot manipulation using keyboard: Ctrl+arrows = MOVE, Shift+arrows = ZOOM, shift+space = clear zoom & offset, LAlt/RAlt+arrows = cursors
- color selection for display
- shape selection for cursors
- limiting precision of displayed float values using LSB
- docking support for frmStatistics and toolboxes
- plot: show 0V level
- plot: show trigger level markup
- plot: style select (line/point/bar)
- plot: wave line width select
- plot: antialiasing
- plot: auto-scrolling mode (for recorder mode only?)
- plot: allow to hide cursors (screenshots!)
- plot: associate cursor position with physical value, not position on canvas
- plot: smooth moving (OnMouseMove, configurable option)
- plot: store last used zoom and position values in config file
- plot: show relative position of display window in full buffer frame
- plot: sinx/x interpolation mode (now: only linear)
- measurement: flexible selection of interesting data
- measurement: pulse H/L width
- statistics: add capture timestamp
- acquisition modes: peak detect mode (like current recorder mode, but stores min and max value from frame), high-res mode (currently used in v2a) Sample Mode: This is the simplest acquisition mode. The oscilloscope creates a waveform point by saving one sample point during each waveform interval. Peak Detect Mode: The oscilloscope saves the minimum and maximum value sample points taken during two waveform intervals and uses these samples as the two corresponding waveform points. Digital oscilloscopes with peak detect mode run the ADC at a fast sample rate, even at very slow time base settings (slow time base settings translate into long waveform intervals) and are able to capture fast signal changes that would occur between the waveform points if in sample mode Hi Res Mode: Like peak detect, hi res mode is a way of getting more information in cases when the ADC can sample faster than the time base setting requires. In this case, multiple samples taken within one waveform interval are averaged together to produce one waveform point. The result is a decrease in noise and an improvement in resolution for low-speed signals. Envelope Mode: Envelope mode is similar to peak detect mode. However, in envelope mode, the minimum and maximum waveform points from multiple acquisitions are combined to form a waveform that shows min/max accumulation over time. Peak detect mode is usually used to acquire the records that are combined to form the envelope waveform. Average Mode: In average mode, the oscilloscope saves one sample point during each waveform interval as in sample mode. However, waveform points from consecutive acquisitions are then averaged together to produce the final displayed waveform. Average mode reduces noise without loss of bandwidth, but requires a repeating signal.
- triggering Slew Rate Triggering. High frequency signals with slew rates faster than expected or needed can radiate troublesome energy. Slew rate triggering surpasses conventional edge triggering by adding the element of time and allowing you to selectively trigger on fast or slow edges. Glitch Triggering. Glitch triggering allows you to trigger on digital pulses when they are shorter or longer than a user-defined time limit. This trigger control enables you to examine the causes of even rare glitches and their effects on other signals Pulse Width Triggering. Using pulse width triggering, you can monitor a signal indefinitely and trigger on the first occurrence of a pulse whose duration (pulse width) is outside the allowable limits. Time-out Triggering. Time-out triggering lets you trigger on an event without waiting for the trigger pulse to end, by triggering based on a specified time lapse. Runt Pulse Triggering. Runt triggering allows you to capture and examine pulses that cross one logic threshold, but not both.
- trigger: low frequency rejection, high frequency rejection, noise rejection
- trigger holdoff: new triggers are not recognized during holdoff time
- DPO mode (pixel color intensivity calculated from data value frequency in multiple frames)
- store/load settings sets (sensitivity, sampling, ...)
- make miniscope multichannel
- device disconnect/reconnect without app restarting
- handle PC sleep/suspend to RAM (reconnect/reconfigure device)
- pre/post triggering (trigger position inside frame)
- wavein.dll - add more features (sampling frequency, buffer size, trigger settings)
- JSON: add zoom, position, comment and device name to exported data
- WAVE export and/or direct play with some resampling
- auto-setup for sampling frequency and sensitivity
- dll framework: make AcquireStart/Stop optional (required only if continuous trigger is available)
- ms3: some timer-based playback?
- ms3: MRU
- no samples -> FFT EZeroDivide
- excessive logging from recorder frame selector