Feature by feature: what Rigol's stock firmware does, and where NovaOS stands. NovaOS is our own engine driving the scope's FPGA directly, not a change to Rigol's app, so each feature is either our own implementation or listed below as partial or missing.
| Area | have | partial | missing | n/a |
|---|---|---|---|---|
| Controls | 10 | 5 | 5 | 0 |
| Vertical | 7 | 7 | 0 | 0 |
| Horizontal | 6 | 3 | 1 | 0 |
| Acquisition | 9 | 1 | 3 | 0 |
| Trigger | 20 | 9 | 1 | 0 |
| Math | 7 | 11 | 2 | 0 |
| Measurements | 48 | 5 | 0 | 0 |
| Cursors | 2 | 2 | 0 | 0 |
| DVM & Counter | 6 | 1 | 0 | 0 |
| Logic analyser | 4 | 3 | 1 | 0 |
| Histogram | 5 | 3 | 1 | 0 |
| Generator | 15 | 0 | 0 | 0 |
| Bode plot | 6 | 3 | 1 | 0 |
| Reference | 3 | 5 | 0 | 0 |
| Pass/Fail | 6 | 1 | 1 | 0 |
| Decode | 13 | 3 | 2 | 0 |
| Windows | 1 | 2 | 0 | 0 |
| Record & Replay | 2 | 1 | 1 | 0 |
| Search & Navigate | 7 | 1 | 0 | 0 |
| Display | 11 | 2 | 0 | 0 |
| Storage | 7 | 3 | 4 | 0 |
| Utility | 7 | 7 | 2 | 0 |
| Remote control | 6 | 1 | 0 | 0 |
| Hardware I/O | 3 | 1 | 2 | 0 |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Tap to operate Every menu, keypad and window answers a single tap. | yes | have | |
| Drag gestures Dragging moves a trace, a cursor, the trigger level or a floating window. | yes: drag trace: position/offset; drag cursor; drag trigger level; drag window | partial | trace offset, delay, trigger level, cursors and the zoom window drag on the studio (the classic screen drags only offset and delay); no floating window to drag on either UI |
| Pinch to scale Two-finger pinch/spread changes the time base horizontally and V/div vertically. | yes | missing | touch input follows one contact (MT slot 0 / pointer emulation); no two-finger pinch for time base or V/div (scale is set by dragging a card) |
| Numeric keypad Pop-up number entry with units, min/max/default buttons and knob navigation. | yes: min; max; default; clear; unit prefixes | have | classic screen's keypad (Max/Min/Def/Cls, unit-prefix keys); the studio has no general numeric keypad (only the Utility sheet's IP keypad) |
| Text keyboard On-screen keyboard for labels and file names, with upper/lower case, digits and symbols. | yes: english; chinese (pinyin) | partial | English keyboards only (file rename, screen-saver text: digits, letters with caps, - _.); no Chinese pinyin, few symbols, and no keyboard for channel/reference labels |
| Chinese pinyin input The label keyboard also takes Chinese characters through pinyin. | yes | missing | no Chinese input (owner policy: Chinese and Japanese are not in NovaOS) |
| Flex knob assignment The two multipurpose knobs follow an automatic priority (cursor, then math/ref/decode, then intensity) or a target picked by hand. | yes: automatic; manual | have | Automatic and Manual both work; the MHO's MiniWindow target is absent (no mini-windows) |
| Knob editing of fields A highlighted input field is turned by its knob; pushing the knob restores its default. | yes | partial | only fields tied to a dedicated knob (scale, offset, position, trigger levels) follow a knob, with push-to-zero/default; no general highlight-a-field-and-turn-the-knob for other menu fields |
| Function launcher A launcher icon opens a grid of every function menu. | yes | have | classic screen's Start grid (the studio reaches its sheets from keys and bars instead) |
| Function toolbar Shortcut bar for run/stop, default, measure, flex knob, windows, cursors, math, XY, storage, counter, DVM, decode, record, navigate. | yes | partial | classic shortcut bar shows only Run/Stop and Measure and does not scroll; the studio's top bar has System/Snap/Auto/Single; no shortcuts for default, flex knob, windows, cursors, math, XY, storage, counter, DVM, decode, record, navigate |
| Results sidebar A side panel lists measurement, cursor, counter, DVM and test results; a result is dragged off to remove it. | yes | have | classic Result panel with measurement, cursor, counter, DVM, histogram and pass/fail cards; a card is removed by long press rather than a drag off |
| Status labels Labels for run state, time base, sample rate/depth, delay, trigger, channels, math, generator and LA open their menus when tapped. | yes | have | |
| Notification area Icons for USB disk, LAN link, sound and remote session; a tap opens Utility. | yes | partial | classic status panel shows LAN and beeper and opens Utility; the studio shows a remote-session chip; no USB-disk icon on either (and no remote icon on the classic, no sound icon on the studio) |
| Touch lock key A front key turns the touch screen off and on. | yes | have | |
| Clear key Wipes all traces from the screen; acquisition continues if running. | yes | have | |
| Default setup key Restores the factory setup (pressed twice, or confirmed). | yes | have | |
| Built-in help An on-instrument help system with linked chapters. | yes | missing | the Help page is empty and never opened (the vendor PDF is not shipped and no help of our own exists) |
| USB mouse A USB mouse plugged into the host port drives the screen. | yes | missing | input reads touchscreens, the front panel and the remote keys only; a USB mouse (relative pointer) is not handled |
| Front-panel key set Dedicated keys and knobs for run/stop, single, auto, default, clear, trigger, horizontal, vertical, math, ref, LA, AFG, measure, cursor, analyse, quick. | yes | have | |
| Full-screen waveform One tap hides the menus above the waveform view so the trace fills the screen. | yes | missing | no one-tap full-screen waveform; the top bar, history strip and setting cards always stay (only the measurement strip can be turned off) |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Channel on/off/select Each analog channel is shown, made active or closed from its key, its label (also swipe down) or the menu. | yes: ch1-ch4 (ch1-ch2 on dho802/dho812) | partial | DHO800/DHO900: partial; MHO900: have the two-channel DHO802/DHO812 are not modelled: both UIs and SCPI always offer CH1-CH4 |
| Vertical scale Volts per division in 1-2-5 steps. | yes: 200 uv/div to 10 v/div at 1x | have | 200 uV/div on the classic screen and SCPI; the studio's ladder stops at 500 uV/div |
| Fine (vernier) scale Finer steps between the 1-2-5 values, toggled by menu or knob push. | yes | have | classic screen (Fine switch, knob push) and SCPI; the studio has no fine step |
| Vertical offset Moves the trace up/down; the knob push zeroes it; range follows probe and scale. | yes | have | |
| Input coupling DC, AC or ground coupling per channel. | yes: dc; ac; gnd | have | |
| Bandwidth limit Per-channel analog low-pass to cut noise. | yes: off; 20 mhz | have | 20/250 MHz (and more) on the studio and SCPI, forced limits at small scales in the engine; the classic channel menu toggles only OFF/20M |
| Input impedance Input termination per channel. | yes: 1 mohm only | have | |
| Invert Flips the channel's polarity on screen, in math, measurements and triggering. | yes | partial | display, measurements and decode flip, but the trigger is not inverted (the engine writes no channel invert); no Invert control on the studio (classic menu and SCPI only) |
| Probe attenuation Probe ratio set by hand from a fixed list. | yes: 0.001x to 50000x in 1-1.5-2-5 steps; default 1x | partial | both UIs offer only 0.1X-100X (9 values); the full 0.001X-50000X list only over:CHANnel<n>:PROBe both UIs offer only 0.1X-100X; the 0.001X-50000X presets and a user-defined ratio only over:CHANnel<n>:PROBe |
| Amplitude unit Channel unit for readouts and related functions. | yes: v; a; w; u | partial | settable only over:CHANnel<n>:UNITs (classic Unit says not available, studio has no chooser); scales and readouts stay in volts, only the MHO's measurement thresholds show the unit |
| Zero bias A small per-channel voltage to re-centre the zero level against drift. | yes: range depends on scale (and impedance on mho) | partial | the classic Bias field steps a screen-only value that is never sent to the engine;:CHANnel<n>:BVOLtage /:PROBe:BIAS kept only; no bias reaches the AFE; nothing on the studio |
| Channel deskew Per-channel time shift to cancel probe/cable delay. | yes: -100 ns to +100 ns; default 0 | have | |
| Channel label Show/hide and edit a custom name per channel. | yes | partial | label text and show flag are stored and answered, but no screen draws the label and neither UI can edit its text (SCPI only) |
| Vertical expand reference Whether a V/div change scales about the screen centre or the channel's ground. | yes: center; gnd | partial | Center/GND is stored (classic Utility, setup files) but no V/div change uses it; the studio has no control |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Time base Seconds per division in 1-2-5 steps for every channel. | yes: 2 ns/div to 500 s/div | have | |
| Fine time base Smaller steps between the 1-2-5 values. | yes | partial | works from the classic knob push and:TIMebase:VERNier, but the classic Horizontal menu's Vernier switch sets an unused field; the studio has no fine time base |
| Horizontal position Moves the trigger point across the screen; the knob push zeroes it. | yes | have | |
| Zoom (delayed sweep) Split view: the main record above with the zoomed window marked, the magnified part below with its own scale and position. | yes: zoom scale <= main scale | have | |
| Horizontal expand reference The point a time-base change scales about. | yes: center (default); left; right; trigger; user (-500 to 500) | partial | acts on scale changes but is settable only over:TIMebase:HREFerence (classic Expand is fixed at Center and says not available; the studio has no control) |
| Roll mode Trace scrolls right to left without waiting for a trigger at slow time bases. | yes: auto: on at >= 50 ms/div; off | have | |
| Slow sweep With roll off at >= 200 ms/div, pre-trigger shown once then the post-trigger part sweeps in. | yes: >= 200 ms/div | missing | the SCU's scan (slow sweep) mode is only ever switched off; with roll off at >= 200 ms/div the screen waits for the whole record |
| XY display Plots one channel against another in its own window. | yes: source x, source y: ch1-ch4 | have | |
| XY Z blanking A third channel hides the XY beam while it is below 0 V. | yes: none; ch1-ch4 | have | |
| Scale-knob push action Pushing the horizontal scale knob toggles fine adjust or zoom, as set in Utility. | yes: fine; zoom | partial | the Utility Fine/Zoom choice is stored but unused: the classic push always toggles fine, the studio's always toggles zoom |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Normal acquisition Plain sampling at a fixed interval. | yes | have | |
| Average acquisition Averages successive acquisitions to lower random noise. | yes: 2 to 65536, powers of two; not with the digital channels; depth <= 10 mpts (1 mpts with 2+ channels) | have | |
| Peak detect Keeps min and max of each interval to show the envelope and narrow glitches. | yes | have | |
| UltraAcquire (fast segmented capture) Fills memory with one short segment per trigger for ~1,000,000 wfm/s, then shows the segments. | yes: frame count; timeout; display: adjacent / overlay / waterfall / perspective (100 frames); mosaic (80 frames); excludes cursors, decode, search, zoom, pass/fail, record, ref, roll, xy | missing | :ACQuire:ULTRa:* kept only and the classic radio is disabled; no frame-per-trigger mode with Adjacent/Overlay/Waterfall/Perspective/Mosaic display (NovaOS's own fast acquisition is not it) |
| Sample rate readout Current real-time rate, set by channel count and depth. | yes: 1.25 gsa/s (1 ch); 625 msa/s (2 ch); 312.5 msa/s (3-4 ch) | have | |
| Memory depth Record length per acquisition, Auto or fixed. | yes: auto; 1k/10k/100k/1m/10m/25m/50m pts (1 ch, dho900); 25m max (dho800); less with more channels | have | |
| Run / Stop Starts or freezes acquisition; the key lights green/red. | yes | have | |
| Single shot Arms for one trigger, captures, then stops. | yes | have | |
| Auto scale Picks scale, time base and trigger for the connected signals. | yes: needs >= 35 hz and >= 10 mv | have | |
| Auto result shortcuts After Auto, one-tap views: two periods, many periods, rising edge, falling edge. | yes: 2 periods; multi-period; rise time; fall time | missing | Auto ends with a toast; no one-tap two-period / multi-period / rising-edge / falling-edge views |
| Undo auto Returns to the settings from before Auto was pressed. | yes | missing | no Undo Auto on either UI (the studio keeps the settings before Auto only to word its toast) |
| Auto configuration Options for what Auto may change. | yes: peak-to-peak priority; only channels already on; overlay vs. stacked traces; keep coupling | have | |
| High resolution Single-shot averaging of neighbouring samples for more vertical bits at lower bandwidth. | yes: 14 bits (default); 16 bits; bandwidth shown per bit setting; no auto depth | partial | high-res mode runs, but the 14/16-bit choice (:ACQuire:BITS) is kept only and the engine passes no bit setting; no per-bit bandwidth shown |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Trigger source Any analog or digital input can trigger, on or off screen. | yes: ch1-ch4; d0-d15 (dho900, probe fitted); ext (dho802/dho812) | partial | DHO800/DHO900: partial; MHO900: have CH1-CH4 and D0-D15 (with the LA probe) work in the engine, the classic Trigger popup and SCPI; EXT (DHO802/DHO812) is refused by the source parser and nothing programs it. |
| External trigger input A rear BNC used as a third trigger source on the two-channel models. | yes (dho802/dho812 only): level -5 v to +5 v | missing | No EXT trigger input::TRIGger:EDGE:SOURce EXT is refused, there is no EXT level (-5 to +5 V) setting and no UI choice; the engine only clears the ext-trigger hysteresis bit (0x2264) each time it programs the trigger. |
| Trigger level Level by knob, keypad or drag; a level line shows while adjusting; push sets 50%. | yes: 50% preset (single level); 90%/10% presets (two-level types); digital: threshold | have | |
| Trigger sweep mode Auto, Normal or Single. | yes: auto (default); normal; single | have | |
| Force trigger Generates a trigger by hand. | yes | have | |
| Trigger coupling Filtering of the edge trigger path. | yes: dc; ac; lf reject; hf reject | have | |
| Trigger holdoff Minimum re-arm time after a trigger. | yes: 8 ns to 10 s; default 8 ns | have | |
| Noise reject Adds hysteresis to the trigger to avoid false triggers. | yes: on; off | have | |
| Trigger status Run-state label: RUN, STOP, triggered, WAIT, AUTO. | yes: run; stop; t'd; wait; auto | have | |
| Edge trigger Triggers when a chosen edge crosses the level; the Slope key cycles the edge. | yes: rising; falling; either | have | |
| Pulse-width trigger Triggers on a positive/negative pulse whose width is above, below or between limits. | yes: positive / negative; >, <, <>; 1 ns to 10 s | have | |
| Slope (rise/fall time) trigger Triggers on an edge whose transit time between two levels meets a time condition. | yes: rising / falling; >, <, <>; 1 ns to 10 s; levels a/b with linkage; analog only | have | |
| Video trigger Triggers on fields or lines of analog video. | yes: polarity +/-; ntsc, pal/secam, 480p/60, 576p/50, 720p/60/50/30/25/24, 1080p/60/50/30/25/24, 1080i/60/50; sync: all lines, line n, odd field, even field | partial | DHO800/DHO900: have; MHO900: partial MHO: the stock's SetPeakOutSel write (0x1004 bit 14) is not made for this type; the engine leaves the bit as the previous type set it (PARITY 'done (MHO partial)', MHO900_PORT open item). |
| Pattern trigger AND of per-channel states, optionally qualified by one edge. | yes: per channel: 1, 0, x, rising, falling; at most one edge; all-x never triggers; all button | partial | DHO800/DHO900: have; MHO900: partial MHO: the stock's SetPeakOutSel write (0x1004 bit 14) is not made for this type; the engine leaves the bit as the previous type set it (PARITY 'done (MHO partial)', MHO900_PORT open item). |
| Duration trigger Triggers when a channel pattern holds for a time meeting a condition. | yes: per channel: 1, 0, x; >, <, <>, ><; 1 ns to 10 s | partial | DHO800/DHO900: have; MHO900: partial MHO: the stock's SetPeakOutSel write (0x1004 bit 14) is not made for this type; the engine leaves the bit as the previous type set it (PARITY 'done (MHO partial)', MHO900_PORT open item). |
| Timeout trigger Triggers when the signal stays without the chosen crossing longer than a time. | yes: rising / falling / either | have | |
| Runt trigger Triggers on pulses that cross one level but not the other, optionally width-qualified. | yes: positive / negative; none, >, <, <>; levels a/b with linkage | have | |
| Window trigger Triggers on entering, leaving or staying inside a level window. | yes: rising / falling / either; enter, exit, time (1 ns to 10 s); levels a/b | have | |
| Delay trigger Triggers when the time between an edge on source A and the next edge on source B meets a condition. | yes: edge a/b rising/falling; >, <, <>, >< | partial | DHO800/DHO900: have; MHO900: partial MHO: the stock's SetPeakOutSel write (0x1004 bit 14) is not made for this type; the engine leaves the bit as the previous type set it (PARITY 'done (MHO partial)', MHO900_PORT open item). |
| Setup/Hold trigger Triggers when data violates a setup or hold time around a clock edge. | yes: clock edge rising/falling; data h/l; setup, hold, setup&hold | partial | DHO800/DHO900: have; MHO900: partial MHO: the stock's SetPeakOutSel write (0x1004 bit 14) is not made for this type; the engine leaves the bit as the previous type set it (PARITY 'done (MHO partial)', MHO900_PORT open item). |
| Nth-edge trigger Triggers on the Nth edge after an idle time. | yes: rising / falling; n: 1 to 65535; idle time | partial | DHO800/DHO900: have; MHO900: partial MHO: the stock's SetPeakOutSel write (0x1004 bit 14) is not made for this type; the engine leaves the bit as the previous type set it (PARITY 'done (MHO partial)', MHO900_PORT open item). |
| UART/RS232 trigger Triggers on a start bit, framing error, parity error or a data value. | yes: polarity; start, error, check error, data; preset or custom baud; 5-8 data bits; 1, 1.5, 2 stop bits; none/even/odd parity | have | |
| I2C trigger Triggers on bus conditions, an address, data, or address and data together. | yes: start, stop, restart, missed ack, address, data, address&data; 7/8/10-bit address; write/read/either; 1-5 data bytes; bin/hex entry | have | |
| SPI trigger Triggers on a data word framed by chip select or by a clock-idle timeout. | yes: clock edge; cs (polarity) or timeout (8 ns to 10 s); 4-32 data bits; levels for clk/data/cs | have | |
| CAN trigger Triggers on frame start/end, frame types, IDs, data or error kinds. | yes: can_h, can_l, tx/rx, diff; preset or custom baud; sample point 10-90%; sof, eof, remote id, overload, frame id, frame data (1-8 bytes), data&id, frame error, bit stuff, answer, check, format, random error; extended id | have | |
| LIN trigger Triggers on sync, ID, data, sleep, wakeup or error frames. | yes (dho900 only): version 1.x / 2.x / both; preset or custom baud; sample point 10-90%; sync, id, data (1-8 bytes), data&id, sleep, wakeup, error (sync, parity, checksum) | have | Offered on every DHO model (the stock limits LIN to the DHO900). |
| Trigger out Rear AUX OUT gives a pulse per trigger (its rate equals the capture rate). | yes | partial | The TrigOut / PassFail choice is stored, saved in setups and toggled in Utility, but nothing in the engine programs the AUX OUT (SCU_AUX_OUT 0x4104 is defined and never written, no output select); whether the FPGA emits the trigger pulse by default is unverified, and pass/fail to AUX does not exist (the engine runs no mask test). |
| FlexRay trigger Triggers on a bus position, an error, a frame (by cycle or ID) or a symbol. | yes (option): 2.5 / 5 / 10 mb/s; position: tss end, fss_bss end, fes end, dts end; errors: header crc, tail crc, decode, random; frames: null, sync, start, all; cycle or id compare =, !=, >, <, ><, <>; symbols: cas/mts, wus | partial | Programmed, and on the classic Trigger page and SCPI with every documented option, but on the MHO only the clock-divider word is the MHO's own; the rest of the register sequence (control word, TSS/CAS constants) is copied from the DHO and the code marks it unproven on MHO. |
| I2S trigger Triggers on audio sample values of a channel. | yes (option): sclk edge; left/right/either; =, !=, >, <, <>, ><; word and user width 4-32; i2s / lj / rj alignment | have | |
| MIL-STD-1553 trigger Triggers on sync kind, data word compare, terminal address (+11 bits) or errors. | yes (option): sync: data / command-status / all; data =, !=, >, <, <>, ><; rta, rta+11 bits (0/1/x); errors: sync, parity; two levels | have |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Four math channels Math1-Math4, each later one able to use the earlier ones as a source. | yes: math2 <- math1; math3 <- math1/2; math4 <- math1/2/3 | have | Four slots with Math<k> reading only lower slots (SCPI and the classic Math popup); the studio UI shows only slot 1. |
| Arithmetic Point-by-point A+B, A-B, AxB, A/B (divide by 0 gives 0). | yes: a+b; a-b; axb; a/b; sources ch1-ch4, ref1-ref10, earlier math | partial | A/B with B = 0 gives NaN (a gap) where the guide says the result is 0; Ref1-Ref10 sources are computed only by the classic screen -- the engine's math (SCPI data, math-source measurements,:MATH AUTOSCale) returns nothing for a Ref source math_output reads only CH and lower Math). |
| Integral Running integral of a source, with a DC offset correction. | yes | partial | Trapezoidal running integral works; the Intg 'Offset' (DC offset calibration factor) parameter is not implemented anywhere (no field, no setting). |
| Derivative Discrete derivative with a smoothing count. | yes | partial | Central-difference derivative works; the Diff 'Smooth' count (number of smoothing passes) is not implemented. |
| Square root Point-by-point square root. | yes | have | Negative inputs give NaN (gap). |
| Base-10 log Point-by-point base-10 function. | yes | partial | Lg is computed as log10(x), but the DHO800/MHO900 guides call Lg 'Base 10 Exponential' (10^x); probably a guide wording error -- confirm which the stock computes before changing anything. |
| Natural log Point-by-point natural logarithm. | yes | have | |
| Exponential Point-by-point e^x. | yes | have | |
| Absolute value Point-by-point |x|. | yes | have | |
| Linear AX+B Scales and offsets a source by user A and B. | yes | partial | AX+B is computed, but A and B have no input on the classic Math page (it shows the arithmetic page for every operator) and no SCPI form; they stay 1 and 0 unless the engine parameter AXB:A/B is written. The studio reaches the same result only through a free formula (k*CH1+c). |
| FFT spectrum Spectrum of a source with span/centre or start/stop, dB or Vrms units and six windows. | yes: source ch1-ch4; span 10 hz-625 mhz, centre 5 hz-625 mhz; start/stop; dbm/dbv or vrms; rectangular, blackman-harris, hanning, hamming, flattop, triangle; up to 1 mpts | partial | Spectrum, 6 windows, dBV/dBm/Vrms, span/centre and start/stop and 1 Mpts all work over SCPI, but neither UI can choose the window or the unit, and the classic Math page has no FFT page (span/centre only via SCPI or the studio's flex knob). As DHO, plus: a Math slot as FFT source is refused (math_source(.., false): CH1-4 only); 'points shown' (:MATH<n>:FFT:DSIZe) and RBW are kept only. |
| FFT colour grade Spectrum drawn as a hit-density colour map, with reset. | yes | missing | No FFT colour-grade (hit-density) spectrum or its reset; the display's colour grade applies only to channel traces and the math slot has no colour-grade setting. |
| FFT peak search Marks and tables up to 15 spectral peaks; export as CSV. | yes: 1-15 peaks (default 5); threshold; excursion; order by amplitude or frequency; csv export | partial | Search (1-15 peaks, threshold, excursion, amplitude/frequency order) and the classic Peak Search table work, but enabling and configuring it is SCPI-only (no UI control on either screen) and there is no CSV export of the peak table. |
| Logic operations AND, OR, XOR and NOT of thresholded channels. | yes: a&&b; a||b; a^b; !a; sources ch1-ch4, d0-d15; per-channel threshold; sensitivity; small/medium/large | partial | AND/OR/XOR/NOT on CH1-4 with per-channel thresholds work; D0-D15 sources are missing (Source has no digital variant),:MATH<n>:SENSitivity and the result size (DISTance) are stored only (compute ignores them), and the thresholds can only be set over SCPI. |
| Digital filters Low-pass, high-pass, band-pass and band-stop of a source. | yes: lowpass wc; highpass wc; bandpass wc1/wc2; bandstop wc1/wc2; limits follow the math sample rate | have | 2nd-order Butterworth biquads, corners clamped below Nyquist; wc1/wc2 settable over SCPI and in the studio's formulas (lpf/hpf/bpf/bsf), not on the classic Math page. |
| Math trace controls Scale, offset, invert, label, grid and vertical expand for each math trace. | yes: expand gnd/center; main or zoom region | partial | Scale, offset, invert and label on/off work; Expand GND/Center, the math Grid and WaveForm Main/Zoom (:MATH<n>:WAVetype) are stored but nothing acts on them (the classic Main/Zoom switch is inert), and the label text is not editable on the classic page (SCPI only). |
| Math auto setting One button fits the math trace's scale and offset. | yes | have | |
| Math result window Each math result opens in its own window that can be moved or closed. | yes | missing | Math results are always drawn over the main waveform grid; there is no per-math window that can be moved or closed (only the window title is answered over SCPI). |
| FFT trace mode Live, moving average or max hold of the spectrum. | yes: normal; average (2-1000, default 10); max hold | partial | Kept only::MATH<n>:FFT:MODE and:AVCNt are answered from the generic parameter store; nothing averages or max-holds the spectrum and there is no UI. |
| Math in main view Show the math result in its own window or overlaid in the main view. | yes: math window; main view | partial | Math is always overlaid in the main view; the 'Math window' mode does not exist and:MATH<n>:DISMode is kept only. |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Period Automatic measurement: time between like edges at the middle level. | yes: scpi item period | have | |
| Frequency Automatic measurement: reciprocal of period. | yes: scpi item frequency | have | |
| Rise time Automatic measurement: low-to-high threshold transit time. | yes: scpi item rtime | have | |
| Fall time Automatic measurement: high-to-low threshold transit time. | yes: scpi item ftime | have | |
| +Width Automatic measurement: positive pulse width at mid level. | yes: scpi item pwidth | have | |
| -Width Automatic measurement: negative pulse width at mid level. | yes: scpi item nwidth | have | |
| +Duty Automatic measurement: positive width over period. | yes: scpi item pduty | have | |
| -Duty Automatic measurement: negative width over period. | yes: scpi item nduty | have | |
| Time of max Automatic measurement: time of the largest sample. | yes: scpi item tvmax | have | |
| Time of min Automatic measurement: time of the smallest sample. | yes: scpi item tvmin | have | |
| Positive pulse count Automatic measurement: pulses crossing low then high threshold. | yes: scpi item ppulses | have | |
| Negative pulse count Automatic measurement: pulses crossing high then low threshold. | yes: scpi item npulses | have | |
| Rising edge count Automatic measurement: rising threshold crossings. | yes: scpi item pedges | have | |
| Falling edge count Automatic measurement: falling threshold crossings. | yes: scpi item nedges | have | |
| Delay rise-rise Automatic measurement: A rising to B rising at mid level. | yes: scpi item rrdelay | have | |
| Delay fall-fall Automatic measurement: A falling to B falling. | yes: scpi item ffdelay | have | |
| Delay rise-fall Automatic measurement: A rising to B falling. | yes: scpi item rfdelay | have | |
| Delay fall-rise Automatic measurement: A falling to B rising. | yes: scpi item frdelay | have | |
| Phase rise-rise Automatic measurement: delay r-r as degrees of A's period. | yes: scpi item rrphase | have | |
| Phase fall-fall Automatic measurement: delay f-f as degrees. | yes: scpi item ffphase | have | |
| Phase rise-fall Automatic measurement: delay r-f as degrees. | yes: scpi item rfphase | have | |
| Phase fall-rise Automatic measurement: delay f-r as degrees. | yes: scpi item frphase | have | |
| Vmax Automatic measurement: highest sample. | yes: scpi item vmax | have | |
| Vmin Automatic measurement: lowest sample. | yes: scpi item vmin | have | |
| Vpp Automatic measurement: max minus min. | yes: scpi item vpp | have | |
| Vtop Automatic measurement: flat top level. | yes: scpi item vtop | have | |
| Vbase Automatic measurement: flat base level. | yes: scpi item vbase | have | |
| Vamp Automatic measurement: top minus base. | yes: scpi item vamp | have | |
| Vupper Automatic measurement: voltage at the upper threshold. | yes: scpi item vupper | have | |
| Vmid Automatic measurement: voltage at the middle threshold. | yes: scpi item vmid | have | |
| Vlower Automatic measurement: voltage at the lower threshold. | yes: scpi item vlower | have | |
| Vavg Automatic measurement: mean over the record or gate. | yes: scpi item vavg | have | |
| Vrms Automatic measurement: RMS over the record or gate. | yes: scpi item vrms | have | |
| Period Vrms Automatic measurement: RMS over one period. | yes: scpi item pvrms | have | |
| Overshoot Automatic measurement: (max - top) / amplitude. | yes: scpi item overshoot | have | |
| Preshoot Automatic measurement: (base - min) / amplitude. | yes: scpi item preshoot | have | |
| AC RMS Automatic measurement: RMS with the mean removed. | yes: scpi item acrms | have | Same item as SCPI VARiance. |
| +Slew rate Automatic measurement: rising-edge level change over its time. | yes: scpi item pslewrate | have | |
| -Slew rate Automatic measurement: falling-edge level change over its time. | yes: scpi item nslewrate | have | |
| Area Automatic measurement: signed area of the on-screen trace (V*s). | yes: scpi item marea | have | |
| Period area Automatic measurement: signed area of the first period. | yes: scpi item mparea | have | Computed over one period (period_from..period_to). |
| 14 measurements at once Up to 14 items shown together in the results bar. | yes: max 14 | have | |
| Measurement sources Analog, digital and math sources for measurements. | yes: ch1-ch4; d0-d15 (dho900); math1-math4 | partial | CH1-CH4 and Math1-Math4 (and refs) work; D0-D15 digital sources are missing (Source has no digital variant). |
| All-measurements view A table of every vertical and horizontal item for one channel, updated live. | yes: 33 items, one channel | partial | The classic All Measure table shows 15 items (not the 33 vertical+horizontal items) for one channel; no all-measurements view on the studio;:MEASure:AMSource is stored but does not drive the table. |
| Measurement histogram Histogram of a measurement item's values over time. | yes | have | Studio only (the classic screen has no measurement histogram). row 68 ('not drawn') is stale. |
| Measurement indicator Cursors drawn where the active measurement is taken. | yes | partial | Kept only::MEASure:INDicator /:CURSor:MEASure:INDicator are stored and answered, but neither UI draws indicator cursors where the measurement is taken row 72 'done' is stale). |
| Measurement thresholds Upper/middle/lower levels in % or absolute, per source, with default. | yes: % or absolute; defaults 90/50/10 %; per source | have | |
| Measurement region Measure over the main record, the zoom window or (MHO) between two cursors. | yes: main; zoom | have | Main/Zoom act in the engine and on the studio's Measure sheet. Main/Zoom/Cursor act (engine and the studio sheet, Cursor offered on the MHO); the A-B linking is under meas.region.cursor. |
| Top/base method Automatic or manual choice of how top and base are found. | yes: auto; manual: top/base by histogram or max-min | have | |
| Measurement statistics Current, mean, max, min, deviation and count per item, with a count limit and reset. | yes: count 2-100000 (default 1000); reset | have | |
| Remove measurements Remove one, remove all, or drag a result off the bar. | yes | have | Remove one and remove all on the studio sheet, long-press removal on the classic result bar (not a drag-off gesture),:MEASure:CLEar /:DELete. |
| Cursor-gated measurement Measurements restricted to the span between two placed cursors. | yes: cursora; cursorb; linked | partial | Cursor-gated measurement works (CAX/CBX over SCPI, studio Measure sheet + flex knobs); the 'linked' A-B move (:MEASure:CREGion:CABX) is kept only and the knobs move A and B separately. |
| Change all sources Moves every added measurement to one new source at once. | yes | partial | Kept only::MEASure:AMSource is stored (as the all-measurements source) and answered, but nothing moves the listed measurements to a new source and no UI offers 'change all sources'. |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Manual cursors Two time or two voltage cursors placed by hand on a chosen source. | yes: x or y pair; source: none, ch, la, math; ax/bx/ay/by entry; move both together; readouts ax, bx, dx, 1/dx, ay, by, dy | partial | X/Y pairs, AX/BX/AY/BY, move-together and AX/BX/dX/1/dX/AY/BY/dY readouts work (classic popup, studio drag, SCPI); the logic-analyser D0-D15 lines are not offered as a cursor source. |
| Tracking cursors Cursors that ride on the waveform of two sources, tracking X or Y. | yes: sources a/b; track x or y | have | Classic screen and SCPI; the studio's cursors are manual only. |
| XY cursors Cursors on the XY plot, available in XY mode. | yes | partial | XY cursor positions and readout exist (SCPI, readout card), but the cursors are not drawn on the XY plot on either screen and the knobs/touch do not move them in XY mode. |
| Cursor remove Turn cursors off from menu, result bar, drag or key. | yes | have | Menu Remove (classic), Cursor key toggle (studio),:CURSor:MODE OFF; no drag-off gesture. |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Digital voltmeter 4-digit voltmeter on any analog channel, independent of the trigger, even if the channel is off. | yes: ch1-ch4 | have | FPGA DVM read by the engine on CH1-CH4; studio Meters sheet, classic DVM menu,:DVM:ENABle/SOURce/CURRent?. |
| DVM modes AC RMS, DC mean or AC+DC RMS. | yes: ac rms (default); dc; ac+dc rms | have | AC RMS / DC / AC+DC RMS on both UIs and:DVM:MODE. |
| DVM limit beeper Beeps when the reading is inside or outside set limits. | yes: in/out limits; upper/lower | have | Beeper with In/Out limits and upper/lower on both UIs (beeps at most once a second);:DVM:BEEP /:DVM:LIMit:* also bound. The limit steppers are not clamped to the MHO's -500..500 V. |
| Frequency counter Hardware counter measuring frequency, period or totalized edges. | yes: ch1-ch4; d0-d15 (dho900); ext (dho802/dho812) | partial | Frequency/period/totalize on CH1-CH4 work from both UIs and SCPI; D0-D15 sources reach the FPGA counter only over:COUNter:SOURce D<n> (both UIs offer CH1-CH4 only, and the UI binding folds the source to CH1-4); EXT (DHO802/DHO812) is accepted but disables the counter as the stock driver's EXT branch does. Frequency/period/totalize on CH1-CH4 from both UIs and SCPI; D0-D15 sources only over:COUNter:SOURce D<n> (no UI choice). |
| Counter resolution Digits of readout; more digits mean a longer gate. | yes: 3 to 6 digits (default 4) | have | 3-6 digits drive the gate; studio and classic default to 5 (stock 4). |
| Totalize and clear Counts edge events with a clear button. | yes | have | Totalize mode and Clear (FPGA total cleared through the engine) on UI and SCPI. |
| Counter statistics Statistics on frequency/period readings with reset. | yes | have | Statistics switch (stock MSG_COUNTER_1_STAT) with max/min/average restart; Clear resets them. |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Digital channels on/off 16 digital inputs, switched all, per group of 8, or one by one. | yes (dho900 only): d0-d15; groups d0-d7, d8-d15 | have | LA on/off, per pod and per line on the studio LA sheet;:LA:ENABle,:LA:DIGital:ENABle,:LA:POD<n>:DISPlay. |
| Select a digital channel Tap a digital trace or label to make it active (highlighted). | yes | have | Active line is highlighted and chosen with the flex knob or:LA:ACTive; tapping a trace or its label does not select it. |
| Digital thresholds One logic threshold per group of eight channels. | yes (dho900 only): d0-d7; d8-d15 | have | Per-pod threshold (logic-family presets, custom, +/-) to the hardware;:LA:POD<n>:THReshold. |
| Digital trace height Small, medium or large traces (large only with <= 8 channels). | yes (dho900 only): small; medium; large | have | S/M/L with the stock's channel-count rule (Large only with <= 8 lines). |
| Digital trace order Stack order D0..D15 or D15..D0, or rearranged by dragging. | yes (dho900 only): d0-d15; d15-d0; drag | partial | D0..D15 / D15..D0 on the studio and:LA:AUTosort; no drag-to-rearrange (arbitrary lane order). |
| Logic probe zero calibration Zeroes the active logic probe (first use or >5 C change). | yes | missing | Logic probe zero calibration is not offered::LA:PROBecal:STARt is refused, no UI; the progress query always answers 0 (pods' calibration DAC never written). |
| Digital labels Label display on/off, a preset label library or a typed label per line. | yes (dho900 only): ack, ado, addr, bit, cas, clk, cs, data, halt, int, load, nmi, out, ras, pin, rdy, rst, rx, tx, wr, miso, mosi, d0-d15 | partial | Labels are drawn on the lanes and set over:LA:DIGital:LABel, but neither UI can edit a label: no preset label library (ACK, ADDR, CLK,... MISO, MOSI), no typed label, no label display on/off. |
| Digital channel groups The 16 lines can be grouped (user groups) on the LA menu. | yes | partial | Only the two fixed pods (D0-D7, D8-D15) can be drawn as a bus; no user-defined groups of arbitrary lines. |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Waveform histogram Hit-count histogram of a waveform inside a window, drawn beside the graticule. | yes | have | Software waveform histogram on the studio and classic screens, drawn beside the graticule. |
| Histogram type Horizontal (time), vertical (voltage) or measurement histogram. | yes: horizontal; vertical; measure | partial | Horizontal and Vertical work; the measurement histogram exists only as the separate Measure-sheet Histo (:MEASure:HISTogram:ENABle) --:HISTogram:TYPE MEASure is read as Horizontal and the histogram menus offer no Measure type. |
| Histogram source Any analog channel. | yes: ch1-ch4 | have | CH1-CH4. |
| Histogram height Bar-graph height in divisions. | yes: 1-4 div (default 2) | have | Height in divisions (default 2; the studio allows more than 4). |
| Histogram window Left/right/top/bottom limits, typed or dragged. | yes | have | Typed on the classic page, stepped on the studio,:HISTogram:RANGe:*; the window cannot be dragged on screen. |
| Histogram statistics Sum, peak bin, max, min, pk-pk, mean, median, mode, bin width, sigma, X scale. | yes: sum, peaks, max, min, pk_pk, mean, median, mode, bin width, sigma, xscale | partial | Sum, Peaks, Max, Min, Pk-pk, Mean, Median, Mode, bin width and Sigma shown on screen; XScale not shown, and:HISTogram:STATistics:RESult? has no publisher (idle '[]' when off, -200 when on). As DHO, and the MHO's 1/2/3-sigma shares are missing (see histo.sigma_bands). |
| Histogram clear Restarts the histogram statistics. | yes | have | Reset on the studio sheet and:HISTogram:RESet. |
| Sigma-band shares Fraction of hits within 1, 2 and 3 standard deviations of the mean. | yes: mu+-sigma; mu+-2 sigma; mu+-3 sigma | missing | Only sigma itself is computed; no share of hits within mu+-1/2/3 sigma. |
| Histogram export Saves the histogram data as a file. | yes: csv | partial | Hits CSV in the stock layout via:HISTogram:SAVE:CSV only; no Save button on either UI. |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Generator output Built-in function generator with its own output switch and screen label. | yes (dho914s/dho924s only): 1 channel, 25 mhz (dho914s/dho924s) | have | Output switch via GI key, G tile, studio generator sheet and:SOURce[<n>]:OUTPut:STATe; MHO has G1/G2. |
| Sine Sine output with frequency, amplitude, offset, start phase. | yes (dho914s/dho924s only): 2 mhz-25 mhz; 2 mv-10 v (<=10 mhz), 2 mv-5 v above; phase 0-360 | have | Frequency, amplitude, offset, start phase on both UIs (phase on the classic menus) and SCPI, each family's limits. |
| Square Square output with duty cycle. | yes (dho914s/dho924s only): 2 mhz-15 mhz; duty 1-99% | have | Square with duty on the classic menus and SCPI (studio sheet has no duty field). |
| Ramp Ramp output with symmetry. | yes (dho914s/dho924s only): 2 mhz-150 khz; symmetry 0-100% | have | Ramp with symmetry on the classic menus and SCPI. |
| Noise Noise output with amplitude and offset. | yes (dho914s/dho924s only) | have | Noise with amplitude/offset on both families. |
| DC DC level output. | yes (dho914s/dho924s only): -5 v to 5 v | have | DC level output. |
| Arbitrary waveform from CSV Loads a user waveform file and replays it with the set frequency and level. | yes (dho914s/dho924s only): csv with header; 8192 points; <=10 vpp, <=10 mhz | have | DHO: header + 8192-point CSV loaded from the classic AFG page; MHO: 16384 bare values from the classic page or:SOURce<n>:LOAD:ARBitrary. Not on the studio generator sheet. |
| AM Amplitude modulation by an internal shape. | yes (dho914s/dho924s only): shapes: sine, square, triangle, up ramp, down ramp, noise; depth 0-120%; mod freq 2 mhz-1 mhz | have | AM depth, internal shape and frequency on the classic Modulation page and SCPI (studio sheet has no modulation). |
| FM Frequency modulation by an internal shape. | yes (dho914s/dho924s only): deviation 2 mhz to carrier; mod freq 2 mhz-1 mhz | have | FM deviation/shape/frequency on the classic Modulation page and SCPI. |
| PM Phase modulation by an internal shape. | yes (dho914s/dho924s only): deviation 0-360 (default 90); mod freq 2 mhz-1 mhz | have | PM deviation/shape/frequency on the classic Modulation page and SCPI. |
| Built-in shapes Extra stored shapes. | yes (option): exp.rise; exp.fall; ecg; gauss; lorentz; haversine; sinc | have | ExpRise/ExpFall/ECG/Gauss/Lorentz/Haversine/Sinc on the classic MHO page and:SOURce<n>:FUNCtion; the tables come from the unit's own /rigol/data/ArbWaveData.dat (absent file = error). |
| High/low level entry Sets output by high and low levels instead of amplitude/offset. | yes (option) | have | Amp/HighL switch on the classic MHO page;:SOURce<n>:VOLTage:HIGH/LOW. |
| Period entry Frequency may be typed as a period. | yes (option) | have | Freq/Period switch on the classic MHO page;:SOURce<n>:PERiod. |
| Align phase Re-syncs the two generator channels to their set phases. | yes (option) | have | Align Phase on the classic MHO page and:SOURce<n>:PHASe:SYNChronize. |
| Output load setting HighZ or 50 Ohm load; displayed levels follow it. | yes (option): highz; load | have | HighZ / Load on the classic MHO page and:SOURce<n>:IMPedance; displayed levels follow the load. |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Bode sweep Sweeps the generator and plots gain and phase between an input and an output channel. | yes (dho914s/dho924s only): start/stop; input ch (default ch1); output ch (default ch2) | have | Sweep of the built-in generator with gain/phase from the engine's frames; In/Out channels; studio and classic,:BODeplot:ENABle/RUNStop/REF:IN/OUT. |
| Sweep spacing Logarithmic or linear frequency steps. | yes (dho914s/dho924s only): log; line | have | Log or linear steps. |
| Bode FIR filter A digital filter switch for the Bode measurement. | yes (dho914s/dho924s only) | partial | Classic Bode page has a FIR Setup switch, but nothing reads it: the measurement is the same with it on or off (studio has no switch). |
| Bode views Curve plot with gain/phase margins or a table of every point. | yes (dho914s/dho924s only): wave/curve; chart; pm; gm | partial | Wave (curve) and Chart (table) views on the classic page (studio: curves only); no gain margin / phase margin (GM/PM) readout. |
| Bode cursor A frequency cursor reading gain and phase at its point. | yes (dho914s/dho924s only) | have | Two frequency cursors on the studio Bode window reading gain and phase and their difference. |
| Sweep range and density Start/stop frequency, points per decade, amplitude, variable amplitude by band. | yes (dho914s/dho924s only): start 10 hz-24.99 mhz; stop 100 hz-25 mhz; 10-300 points/decade; variable amplitude | have | Start/stop (to the generator ceiling), points per decade, amplitude (:BODeplot:VOLTage), variable amplitude by band on the classic page. |
| Bode save/load Saves results as CSV or HTML and loads a CSV back. | yes (dho914s/dho924s only): *.csv; *.html; load *.csv | partial | CSV and HTML save from the classic page (studio: CSV); no way to load a CSV back on the DHO (no UI, no SCPI form); the HTML is our own three-column table, not the stock layout. CSV/HTML save on the UIs and:BODeplot:SAVE:CSV/HTML; loading a CSV back only over:BODeplot:LOAD:CSV (no UI load). |
| Connection diagram Shows how to wire the loop injection for the measurement. | yes (dho914s/dho924s only) | missing | No loop-injection connection diagram on either UI. |
| Gain/phase curve toggles Hide or show the gain and phase curves separately. | yes (option) | have | Gain / phase curve show-hide on the studio Bode window and:BODeplot:GAINcurve/PHASecurve:ENABle. |
| Sweep generator channel Which generator channel drives the sweep. | yes (option): afg1; afg2 | have | G1/G2 chosen on the studio Bode window (kept as ui:BODeplot:SOURce; the stock has no SCPI form). |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Ten reference slots Ref1-Ref10 stored traces to compare against live ones. | yes: ref1-ref10 | have | Ten slots on both UIs and:REFerence:CURRent /:REFerence<n>. |
| Reference source Copy a reference from an analog, digital or math trace. | yes: ch1-ch4; d0-d15; math1-math4 | partial | CH1-CH4 and Math (classic Math1-4, studio/SCPI MATH1 only); D0-D15 cannot be saved to a reference on either UI or over SCPI. |
| Clear references Clear the current slot, or all slots from the Clear key. | yes | partial | Per-slot Clear works; the Clear key does not clear the reference slots (it clears history/statistics/persistence only). |
| Reference scale/offset Rescale or move a reference, and reset it to where it was taken. | yes | have | VScale/VOffset and Reset to the saved scale/offset on UI and SCPI. |
| Reference colour One of five colours per reference. | yes: gray; green; light blue; red; orange | partial | Classic Ref menu picks one of the five colours and draws it; the studio uses a fixed colour per slot and:REFerence:COLor /:REFerence<n>:COLor change nothing drawn. |
| Reference label Show and edit a reference's name. | yes | partial | Classic menu shows the default REFn label on/off but the label text cannot be edited; studio draws no label;:REFerence:LABel:ENABle /:CONTent are kept only. |
| Reference export Writes a reference to a file. | yes: *.ref; *.bin; *.csv | partial | Export writes.ref only (both UIs); no.bin or.csv reference export. |
| Reference import Loads a saved reference file back onto the screen. | yes: *.ref | have | .ref loaded into a slot from the classic browser or the studio Ref sheet's file list. |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Mask test Compares a channel with a tolerance mask and counts passes and failures. | yes: source ch1-ch4 | have | Mask test on CH1-CH4 on both UIs and:MASK:ENABle/SOURce (software compare on the engine's frames). |
| Mask from tolerance Builds the mask around the live trace from X and Y tolerances. | yes: x (default 240 mdiv); y (default 480 mdiv) | have | Mask from X/Y tolerance (defaults 0.24/0.48 div) on both UIs and:MASK:X/Y/CREate. |
| Mask save/load Stores and recalls masks. | yes: *.pf | have | Save/Load.pf on the classic Pass/Fail page; MHO also:SAVE:MASK /:LOAD:MASk. Stock-made.pf trace encoding is a bench check. |
| Pass/fail output pulse AUX OUT pulse on a pass or fail event, with polarity and width. | yes: event pass/fail; positive/negative; 100 ns to 10 ms (default 1 us) | partial | Kept only: Aux Output / Pulse / Polarity and:MASK:OUTPut:ENABle/TIME are stored and shown, but no pulse is driven on AUX OUT (needs the FPGA mask block); the output event only selects when the error actions run. |
| Failure action On a failure: stop, beep, or take a screenshot (then continue). | yes: stop; beeper; screenshot | have | Stop / Beeper / Screenshot (classic: a saved screenshot; studio: the frame kept in the history strip). |
| Start/stop test Runs or halts the test; source and mask are locked while it runs. | yes | have | Run/stop on both UIs and:MASK:OPERate; while running, the source and tolerances are not locked (a source change stops the test, Create stays live). |
| Pass/fail statistics Failed, passed and total frames, with reset. | yes | have | Failed/passed/total with reset; SCPI counts published as ui:MASK:* while the test runs. |
| Minimised test panel The test menu folds to a small panel. | yes | missing | The test panel cannot be folded to a small panel / mini-window on either UI. |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Four decoders Four independent bus decoders on analog (and digital) inputs. | yes: decode 1-4 | have | Four decoders B1-B4 on CH1-4 and D0-D15;:BUS<n>:MODE /:DISPlay act on the decoder; classic Decode1-4 tabs and studio decode sheet. |
| Parallel decode Clocked or unclocked parallel bus, preset groups or user bits. | yes: clock off/ch/d, edge rising/falling/both; presets ch1-ch4, d7-d0, d15-d8, d15-d0, d0-d7, d8-d15, d0-d15; user width 1-4 (analog); endian; polarity | partial | Digital group presets (D7-D0, D15-D8, D15-D0, D0-D7, D8-D15, D0-D15) not accepted by:PARallel:BUS (only CHAN1-4/USER); bus width >1 settable only over SCPI:PARallel:WIDTh/BITX -- the classic Width edit is inert (fixed 1) and the studio sheet has no width/bit rows. |
| UART/RS232 decode TX/RX lines with polarity, baud, data bits, parity, stop bits and bit order. | yes: 5-9 data bits; none/even/odd; 1/1.5/2 stop; lsb/msb; custom baud | have | 5-9 bits, parity, LSB/MSB, polarity, User baud; 1.5 stop bits is decoded as 1 (decode/src/, inferred). |
| I2C decode SCL/SDA with thresholds, line swap and R/W bit handling in addresses. | yes: exchange scl/sda; address with/without r/w | partial | DHO800/DHO900: have; MHO900: partial Exchange and R/W-in-address work on both UIs and SCPI. MHO address width 7/8/10 (:BUS<n>:IIC:ADDBits) works over SCPI only; the UI's R/W choice is Without/With, no 10-bit option. |
| SPI decode CLK with MISO and/or MOSI, framed by CS or timeout. | yes: clk edge; timeout 8 ns-10 s or cs (polarity); lsb/msb; data polarity; width 4-32 | have | CLK edge, CS (polarity) or 8 ns-10 s timeout, endian, data polarity, width 4-32; the classic page's Timeout field is display-only (studio steps it, SCPI sets it). |
| LIN decode LIN with baud, parity-bit handling and protocol version. | yes (dho900 only): custom baud; parity bit with/without; 1.x/2.x/both | have | Offered on every model (stock limits LIN to DHO900). |
| CAN decode CAN with signal type, baud and sample point. | yes: can_h, can_l, rx, tx, diff; custom baud; sample point 10-90% | have | |
| Decode number format Bus and table values as hex, decimal, binary or ASCII. | yes: hex; dec; bin; ascii | have | |
| Bus label Shows the bus type label on the decoded lane. | yes | have | Honoured on the classic screen; the studio always labels its lanes. |
| Event table Decoded packets listed with time, fields and errors. | yes | have | |
| Event table export Saves the table as CSV while stopped. | yes: *.csv | have | Classic Export button and:BUS<n>:EEXPort write the CSV; the studio's decode sheet has no export button. |
| Copy trigger to decoder Fills a decoder's settings from the matching serial trigger. | yes | missing | No copy-trigger-to-decoder action on either UI (the studio only has the reverse, 'Trigger on B<n>', decoder -> trigger). |
| Decoder thresholds Per-line analog thresholds with a temporary level line while adjusting. | yes | partial | Per-line thresholds work (UI and per-bus SCPI forms), but no temporary level line is drawn while a decoder threshold is adjusted (only the trigger level has one). |
| CAN-FD decode CAN with a flexible-data-rate data phase. | yes (option): fd baud 1, 2, 3, 4 mb/s and more; fd sample point | have | FD rate 1-10 Mb/s + User, FD sample point 10-90 %; MHO stuff-count error cells not in its table (PARITY). |
| CAN event-table ID filter With acquisition stopped, show only frames of one ID in the table. | yes | missing | No CAN event-table ID filter anywhere (the MHO table is built with an empty filter). |
| I2S decode Audio bus with word size, received bits, bit order, alignment and WS polarity. | yes (option): word 4-32; receive 4-32; lsb/msb; i2s/lj/rj; ws low = left/right; data polarity | have | |
| FlexRay decode FlexRay with channel, baud and signal type. | yes (option): channel a/b; 2.5/5/10 mb/s; bp, bm, rx/tx | have | |
| MIL-STD-1553B decode 1553B command/status and data words with parity. | yes (option) | have |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Add plot windows Adds XY or math plots as extra panes. | yes: xy; math | partial | XY adds a pane on both UIs; the Math tile only opens the math menu -- math/FFT is drawn on the main grid, never as a separate plot pane. |
| Result table panes Adds measurement, all-measurement or decode tables as panes. | yes: measure; all measure; decode | have | Measure, All Measure and Decode tables exist (classic overlay/panel, studio docked panels), at fixed places. |
| Move/close panes Panes are dragged to new places, closed, and the main view reopened. | yes | partial | Panes can be closed/hidden (Close XY, measurement dock off, event table off) but cannot be dragged to new places; no free pane layout (fixed docking). |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Waveform recorder Records successive acquisitions as frames until full or stopped. | yes: interval 10 ns-1 s; frames 1..max; max button; end beep | have | FPGA segmented record with interval/frames/Max/beeper on the classic Record page and SCPI; the studio's Acquire sheet has frames/record/beep but no interval or Max button. |
| Waveform player Plays recorded frames once or looped, forward or backward, between start/end frames. | yes: single/cycle; forward/backward; interval 1 ms-1 s; start, end, current frame; dt from first frame | have | Single/loop, forward/reverse, 1 ms-1 s, start/end/current, dT on classic; studio transport bar has no start/end frame fields. |
| Minimised record panel Record/play controls fold into a small panel. | yes | partial | Classic Record page's Minimize switch is stored only (nothing folds the panel); the studio's compact replay transport bar covers playback but not the record controls. |
| Save recorded frames Exports the recorded frames to a file. | yes: *.csv | missing | No export of the recorded frames to a file (CSV) on either UI or SCPI; only the frame shown can be saved as an ordinary waveform. |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Vector display Samples joined by lines. | yes: vector | have | |
| Persistence How long old traces stay visible. | yes: min; 100 ms, 200 ms, 500 ms, 1 s, 2 s, 5 s, 10 s; infinite | have | |
| Waveform intensity Trace brightness. | yes: 1-100% (default 50) | have | |
| Grid style Full grid, main axes only, or none. | yes: full; half; none | have | |
| Grid brightness Graticule brightness. | yes: 0-100% (default 50) | have | |
| Window transparency Transparency of floating windows over the trace. | yes: 0-100% (default 50) | have | Classic popups only (studio sheets have their own look). |
| Cursor brightness Brightness of cursor lines. | yes: 0-100% (default 80) | partial | Slider and:DISPlay:CBRightness store the value, but cursor_alpha() is never called -- cursor lines are drawn at a fixed brightness on both UIs. |
| Scale readouts Shows the axis values on the graticule. | yes | have | Acts on the classic screen; the studio's scales sit outside the plot and are always shown. |
| Colour grade Hit-density colouring of the trace. | yes: temperature or intensity themes (data sheet) | have | |
| Waveform freeze on stop When stopped, keep the accumulated picture rather than only the last trigger. | yes | have | |
| Clear display Erases the persisted traces. | yes | have | |
| Scale follows trace Axis labels move with the waveform instead of staying fixed. | yes | partial | MHO:DISPlay:MOVE is answered/stored by the generic state binding only (PARITY kept list); no UI switch and nothing moves the axis labels with the trace. |
| Screen backlight LCD brightness. | yes: 1-100% | have |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Save screenshot Saves the screen picture with colour options and a header line. | yes: *.png, *.bmp, *.jpg; invert; color/gray; header with model and date | partial | png/bmp/jpg, invert and colour/gray work over SCPI and on the classic Storage page; the header watermark draws the model only (no date), and:SAVE:IMAGe over SCPI ignores:SAVE:IMAGe:HEADer (stored, no text drawn); the studio saves.png only |
| Save waveforms Saves the screen or full-memory record of the enabled channels. | yes: screen: *.bin, *.csv; memory: *.bin, *.csv, *.wfm | partial | DHO800/DHO900: have; MHO900: partial screen.bin/.csv and memory.bin/.csv/.wfm on SCPI, classic and studio;:SAVE:MEMory with no file name is not served as DHO, but the MHO's Record save (the segmented record's frames as *.csv) is not implemented anywhere |
| Save setup Saves all instrument settings to a file. | yes: *.stp | have | the MHO.stp is built on our bench unit's template; whether the stock MHO reads it back is still a bench check (PARITY) |
| Recall setup Loads a saved settings file. | yes: *.stp; c:, d:, i: | have | C: and D: (USB) work on SCPI, classic Load tab and studio Files; I: (SMB) does not exist (see disk.smb) |
| Overwrite or number Overwrite a same-named file or keep both. | yes | have | SCPI:SAVE:OVERlap and the classic Overlay switch; the studio always numbers (no overwrite option there) |
| Binary waveform format A documented header + per-channel float block layout for.bin files. | yes: file header 16 b 'rg'; waveform header 140 b; data header 16 b; float32 analog, u8 digital | have | writer/reader in dho-types; the stock (and ours) writes 4 bytes per logic point, not the u8 the help claims |
| Waveform data readout Raw or scaled sample transfer from the screen or memory over the remote interface. | yes | have | |
| File manager Browse disks, new folder, multi-select, cut/copy/paste, delete, rename. | yes | partial | studio Files tab browses disks, renames, deletes and copies one file to another disk's top folder; no new folder, no multi-select, no cut/move or paste into a chosen folder |
| Secure wipe of internal disk Erases every file on the internal storage after a confirmation. | yes | missing | only single-file delete exists; no erase-all / secure wipe of the internal disk in either UI or SCPI |
| USB stick storage A USB drive appears as disk D: for every save and load. | yes: fat32/ntfs | have | sticks mounted under /run/dho-media appear as D:.. for every save/load; which filesystems mount (FAT32/NTFS) is set by the NovaOS image's media service, outside this checkout |
| SMB network share Mounts a Windows share as disk I:, with optional auto-connect at boot. | yes: server path; user; password; auto-connect | missing | refused by design: no SMB client,:SAVE:SMB:* refused, the classic SMB Setting button only toasts; files go out over the authenticated /files/ web route instead |
| Local firmware upgrade Installs a firmware file from a disk. | yes | have | installs signed NovaOS bundles from a USB stick (classic System Update, studio Update NovaOS); a Rigol.GEL is deliberately not installed; the installer itself lives in the NovaOS image, outside this checkout |
| Online upgrade Checks for and installs updates over the network; a dot marks an available update. | yes | missing | no on-scope check for updates and no 'update available' dot; the only network path is a PC pushing a bundle into the unit's drop directory (stage B) before Update NovaOS; any image-side OTA is outside this checkout |
| FTP upload Files can be copied to the internal disk over FTP from a PC. | yes | missing | refused by design: the stock's anonymous write-enabled FTP is dropped; the authenticated /files/ web route is download-only, so a PC cannot copy files onto the disk |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| LAN settings Link status, MAC, VISA address, DHCP / Auto-IP / static IP with mask, gateway, DNS, then Apply. | yes: dhcp; auto ip 169.254.x.x; static ip | partial | DHCP or static (address/prefix, gateway, DNS) settable only on the studio Utility sheet; classic IO page shows link/MAC/VISA but changes nothing; the:LAN setters (and so the web network-settings page) are refused, only the queries answer; Auto-IP (169.254) not offered |
| mDNS and host name Zero-config name advertisement and a settable host name. | yes: host name up to 26 bytes | partial | mDNS advertisement always runs and:LAN:DESCription renames the instance, but mDNS cannot be switched off and the host name cannot be set (:LAN:MDNS /:LAN:HOST:NAME setters refused, no UI) |
| Language Menu, help and prompt language. | yes | have | ten languages on both UIs and:SYSTem:LANGuage; Chinese and Japanese left out by owner policy; help is NovaOS's own |
| Power-on setup Start with the last or the factory settings. | yes: last; default | have | engine restores the last setup from the FRAM at start only when PON is Last; classic Utility > Setup and:SYSTem:PON |
| Auto power-on Power on as soon as power is applied, or wait for the key. | yes: switch on; switch off | have | sent to the panel daemon as power-on auto|manual (the daemon is outside this checkout); classic Utility > Setup and:SYSTem:PSTatus; no studio control |
| Beeper Key/touch/prompt sounds on or off (also from the status icon). | yes | have | |
| AUX OUT function Rear output carries trigger-out or pass/fail pulses. | yes: trigout; passfail | partial | TrigOut/PassFail is stored (classic Utility,:SYSTem:AOUTput, FRAM) but nothing routes the rear AUX OUT; no pass/fail pulse is generated (SCU_AUX_OUT defined, never written) |
| Input lock Locks touch, keys and knobs; released by a key sequence. | yes | partial | :SYSTem:LOCKed and the touch-lock key lock the touch screen only; front-panel keys and knobs are not locked and there is no release key sequence |
| About Model, serial, firmware, hardware, build and component versions. | yes | have | classic About shows model, serial, NovaOS firmware, hardware, build, kernel, host name; studio About omits the serial |
| Open-source notices Shows the open-source acknowledgements. | yes | missing | the classic Open Source Acknowledgment row only toasts 'not available in this build'; no notices page on either UI or the web |
| Self-calibration Runs the internal calibration (after warm-up), cancellable. | yes | missing | DHO800/DHO900: missing; MHO900: partial DHO: no self-calibration (classic page says the DHO900 has none; studio row is MHO-only) only the interleave 'ADC Stray' item is calibrated (studio and classic SelfCal, cancellable); the stock's default vertical items are not run |
| Option list Lists installed/available options. | yes | partial | SCPI option queries answer a fully optioned unit (nothing is gated), but the Utility > Options page shows only 'not available' and the studio has no option list |
| Quick key action Chooses what the Quick key does. | yes: save image; save wave; save setup; all measure (channel); stat reset (measure or pass/fail); record; save group | partial | no single UI does all seven: the studio's Quick has save image/wave/setup/group, stat reset and record but no All Measure; the classic Quick does image, all measure, stat reset, record but toasts for Save Wave/Setup/Group as DHO, and the MHO's Screen Change (full screen) quick action is not implemented |
| Self-check Built-in tests for keys, touch, screen pixels and boards. | yes: key test; touch test; screen test (15 patterns); board test | have | studio System > Self check: keys/knobs, 15-colour screen, touch, board health (temps, FPGA link); the classic Self Check page is inert |
| Factory default Restores the documented factory settings table. | yes | have | |
| Date and time Set the clock, show it in the status area, stamp saved files. | yes | partial | set on the classic Date & Time page and the studio Utility sheet;:SYSTem:DATE/:TIME setters refused (queries answer); no clock in the status area (:SYSTem:STIMe kept only) |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| SCPI over USB USB-TMC device port for SCPI control from a PC. | yes | have | the USB-TMC gadget daemon (nova-dho900-usbtmc) lives in the NovaOS image outside this checkout; hostd serves it over 5555 with its own status model (JOIN) |
| SCPI over LAN SCPI over the network (VISA/LXI discovery). | yes | have | raw socket 5555, VXI-11 and mDNS/LXI discovery |
| LXI web page Instrument info web page (LXI Core 2011). | yes | have | welcome/network status pages and /lxi/identification served by dho-webcontrol |
| Web control Live screen and mouse control in a browser; login protects network settings. | yes: default login admin / rigol; one session at a time (mho) | have | live screen and control in the browser; by design the hardened profile has no admin/rigol default (a generated, Argon2-hashed password) and guards every control socket, the compat profile keeps the stock login |
| IEEE 488.2 common commands Identification, reset, status registers, save/recall. | yes | partial | *IDN?/*RST/*CLS/*ESE/*ESR?/*OPC/*SRE work; *SAV stores nothing and *RCL recalls nothing (only clears ESR/STB), as measured on our bench unit |
| Web screenshot and screen recording The web page can grab a screenshot or record the screen. | yes: take screenshot; record screen | have | |
| Web SCPI console Send SCPI commands and read answers from the web page. | yes | have |
| Feature | Stock firmware | NovaOS | Notes |
|---|---|---|---|
| Probe compensation output Square-wave terminal for probe adjustment. | yes | missing | nothing in NovaOS programs or documents the probe-compensation square output (only the AUX out register is known); whether the board makes it unaided is unverified (bench check) |
| HDMI video out Mirrors the screen to an external monitor. | yes | have | HDMI mirror lit by the KMS loop; the HDMI resolution choice is not audited |
| USB host port For storage, mouse (and MHO Wi-Fi/Bluetooth adapter). | yes | partial | USB storage only: no USB mouse USB storage only: no USB mouse and no Wi-Fi/Bluetooth dongle |
| Power key Front key powers the unit on/off. | yes | have | |
| USB device port Rear USB to a PC for remote control. | yes | have | |
| Wi-Fi & Bluetooth adapter A USB Wi-Fi/Bluetooth dongle gives wireless connections. | yes | missing | no Wi-Fi or Bluetooth support (no WLAN/Bluetooth page, no dongle driver handling) |
What NovaOS does that the stock firmware does not.
user-facing function of NovaOS on the DHO800/DHO900 and MHO900 that the public User Guides and Data Sheets (DHO900 User Guide UGA37103-1110, software 00.01.03, pdf 20241217; MHO900 User Guide UGA46101-1110, software 00.01.00, pdf 20250928) do not describe;
dho command-line tool decodes saved captures for buses the scope screen does not list.