aioscilloscope / Compatibility

Compatibility with stock

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.

Stock: DHO800/DHO900 and MHO900, per Rigol's User Guides on stock firmware DHO800/DHO900 00.01.03 / MHO900 00.01.00, checked 8 October 2026 · NovaOS main · have 211 · partial 80 · missing 27

AREAS At a glance

Areahavepartialmissingn/a
Controls10550
Vertical7700
Horizontal6310
Acquisition9130
Trigger20910
Math71120
Measurements48500
Cursors2200
DVM & Counter6100
Logic analyser4310
Histogram5310
Generator15000
Bode plot6310
Reference3500
Pass/Fail6110
Decode13320
Windows1200
Record & Replay2110
Search & Navigate7100
Display11200
Storage7340
Utility7720
Remote control6100
Hardware I/O3120

FEATURES Feature by feature

318 shown

Controls 20

FeatureStock firmwareNovaOSNotes
Tap to operate
Every menu, keypad and window answers a single tap.
yeshave
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 windowpartialtrace 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.
yesmissingtouch 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 prefixeshaveclassic 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)partialEnglish 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.
yesmissingno 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; manualhaveAutomatic 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.
yespartialonly 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.
yeshaveclassic 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.
yespartialclassic 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.
yeshaveclassic 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.
yeshave
Notification area
Icons for USB disk, LAN link, sound and remote session; a tap opens Utility.
yespartialclassic 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.
yeshave
Clear key
Wipes all traces from the screen; acquisition continues if running.
yeshave
Default setup key
Restores the factory setup (pressed twice, or confirmed).
yeshave
Built-in help
An on-instrument help system with linked chapters.
yesmissingthe 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.
yesmissinginput 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.
yeshave
Full-screen waveform
One tap hides the menus above the waveform view so the trace fills the screen.
yesmissingno one-tap full-screen waveform; the top bar, history strip and setting cards always stay (only the measurement strip can be turned off)

Vertical 14

FeatureStock firmwareNovaOSNotes
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)partialDHO800/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 1xhave200 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.
yeshaveclassic 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.
yeshave
Input coupling
DC, AC or ground coupling per channel.
yes: dc; ac; gndhave
Bandwidth limit
Per-channel analog low-pass to cut noise.
yes: off; 20 mhzhave20/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 onlyhave
Invert
Flips the channel's polarity on screen, in math, measurements and triggering.
yespartialdisplay, 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 1xpartialboth 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; upartialsettable 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)partialthe 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 0have
Channel label
Show/hide and edit a custom name per channel.
yespartiallabel 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; gndpartialCenter/GND is stored (classic Utility, setup files) but no V/div change uses it; the studio has no control

Horizontal 10

FeatureStock firmwareNovaOSNotes
Time base
Seconds per division in 1-2-5 steps for every channel.
yes: 2 ns/div to 500 s/divhave
Fine time base
Smaller steps between the 1-2-5 values.
yespartialworks 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.
yeshave
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 scalehave
Horizontal expand reference
The point a time-base change scales about.
yes: center (default); left; right; trigger; user (-500 to 500)partialacts 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; offhave
Slow sweep
With roll off at >= 200 ms/div, pre-trigger shown once then the post-trigger part sweeps in.
yes: >= 200 ms/divmissingthe 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-ch4have
XY Z blanking
A third channel hides the XY beam while it is below 0 V.
yes: none; ch1-ch4have
Scale-knob push action
Pushing the horizontal scale knob toggles fine adjust or zoom, as set in Utility.
yes: fine; zoompartialthe Utility Fine/Zoom choice is stored but unused: the classic push always toggles fine, the studio's always toggles zoom

Acquisition 13

FeatureStock firmwareNovaOSNotes
Normal acquisition
Plain sampling at a fixed interval.
yeshave
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.
yeshave
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, xymissing: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 channelshave
Run / Stop
Starts or freezes acquisition; the key lights green/red.
yeshave
Single shot
Arms for one trigger, captures, then stops.
yeshave
Auto scale
Picks scale, time base and trigger for the connected signals.
yes: needs >= 35 hz and >= 10 mvhave
Auto result shortcuts
After Auto, one-tap views: two periods, many periods, rising edge, falling edge.
yes: 2 periods; multi-period; rise time; fall timemissingAuto 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.
yesmissingno 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 couplinghave
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 depthpartialhigh-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

Trigger 30

FeatureStock firmwareNovaOSNotes
Trigger source
Any analog or digital input can trigger, on or off screen.
yes: ch1-ch4; d0-d15 (dho900, probe fitted); ext (dho802/dho812)partialDHO800/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 vmissingNo 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: thresholdhave
Trigger sweep mode
Auto, Normal or Single.
yes: auto (default); normal; singlehave
Force trigger
Generates a trigger by hand.
yeshave
Trigger coupling
Filtering of the edge trigger path.
yes: dc; ac; lf reject; hf rejecthave
Trigger holdoff
Minimum re-arm time after a trigger.
yes: 8 ns to 10 s; default 8 nshave
Noise reject
Adds hysteresis to the trigger to avoid false triggers.
yes: on; offhave
Trigger status
Run-state label: RUN, STOP, triggered, WAIT, AUTO.
yes: run; stop; t'd; wait; autohave
Edge trigger
Triggers when a chosen edge crosses the level; the Slope key cycles the edge.
yes: rising; falling; eitherhave
Pulse-width trigger
Triggers on a positive/negative pulse whose width is above, below or between limits.
yes: positive / negative; >, <, <>; 1 ns to 10 shave
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 onlyhave
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 fieldpartialDHO800/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 buttonpartialDHO800/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 spartialDHO800/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 / eitherhave
Runt trigger
Triggers on pulses that cross one level but not the other, optionally width-qualified.
yes: positive / negative; none, >, <, <>; levels a/b with linkagehave
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/bhave
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; >, <, <>, ><partialDHO800/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&holdpartialDHO800/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 timepartialDHO800/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 parityhave
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 entryhave
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/cshave
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 idhave
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)haveOffered 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).
yespartialThe 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, wuspartialProgrammed, 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 alignmenthave
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 levelshave

Math 20

FeatureStock firmwareNovaOSNotes
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/3haveFour 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 mathpartialA/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.
yespartialTrapezoidal 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.
yespartialCentral-difference derivative works; the Diff 'Smooth' count (number of smoothing passes) is not implemented.
Square root
Point-by-point square root.
yeshaveNegative inputs give NaN (gap).
Base-10 log
Point-by-point base-10 function.
yespartialLg 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.
yeshave
Exponential
Point-by-point e^x.
yeshave
Absolute value
Point-by-point |x|.
yeshave
Linear AX+B
Scales and offsets a source by user A and B.
yespartialAX+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 mptspartialSpectrum, 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.
yesmissingNo 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 exportpartialSearch (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/largepartialAND/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 ratehave2nd-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 regionpartialScale, 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.
yeshave
Math result window
Each math result opens in its own window that can be moved or closed.
yesmissingMath 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 holdpartialKept 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 viewpartialMath is always overlaid in the main view; the 'Math window' mode does not exist and:MATH<n>:DISMode is kept only.

Measurements 53

FeatureStock firmwareNovaOSNotes
Period
Automatic measurement: time between like edges at the middle level.
yes: scpi item periodhave
Frequency
Automatic measurement: reciprocal of period.
yes: scpi item frequencyhave
Rise time
Automatic measurement: low-to-high threshold transit time.
yes: scpi item rtimehave
Fall time
Automatic measurement: high-to-low threshold transit time.
yes: scpi item ftimehave
+Width
Automatic measurement: positive pulse width at mid level.
yes: scpi item pwidthhave
-Width
Automatic measurement: negative pulse width at mid level.
yes: scpi item nwidthhave
+Duty
Automatic measurement: positive width over period.
yes: scpi item pdutyhave
-Duty
Automatic measurement: negative width over period.
yes: scpi item ndutyhave
Time of max
Automatic measurement: time of the largest sample.
yes: scpi item tvmaxhave
Time of min
Automatic measurement: time of the smallest sample.
yes: scpi item tvminhave
Positive pulse count
Automatic measurement: pulses crossing low then high threshold.
yes: scpi item ppulseshave
Negative pulse count
Automatic measurement: pulses crossing high then low threshold.
yes: scpi item npulseshave
Rising edge count
Automatic measurement: rising threshold crossings.
yes: scpi item pedgeshave
Falling edge count
Automatic measurement: falling threshold crossings.
yes: scpi item nedgeshave
Delay rise-rise
Automatic measurement: A rising to B rising at mid level.
yes: scpi item rrdelayhave
Delay fall-fall
Automatic measurement: A falling to B falling.
yes: scpi item ffdelayhave
Delay rise-fall
Automatic measurement: A rising to B falling.
yes: scpi item rfdelayhave
Delay fall-rise
Automatic measurement: A falling to B rising.
yes: scpi item frdelayhave
Phase rise-rise
Automatic measurement: delay r-r as degrees of A's period.
yes: scpi item rrphasehave
Phase fall-fall
Automatic measurement: delay f-f as degrees.
yes: scpi item ffphasehave
Phase rise-fall
Automatic measurement: delay r-f as degrees.
yes: scpi item rfphasehave
Phase fall-rise
Automatic measurement: delay f-r as degrees.
yes: scpi item frphasehave
Vmax
Automatic measurement: highest sample.
yes: scpi item vmaxhave
Vmin
Automatic measurement: lowest sample.
yes: scpi item vminhave
Vpp
Automatic measurement: max minus min.
yes: scpi item vpphave
Vtop
Automatic measurement: flat top level.
yes: scpi item vtophave
Vbase
Automatic measurement: flat base level.
yes: scpi item vbasehave
Vamp
Automatic measurement: top minus base.
yes: scpi item vamphave
Vupper
Automatic measurement: voltage at the upper threshold.
yes: scpi item vupperhave
Vmid
Automatic measurement: voltage at the middle threshold.
yes: scpi item vmidhave
Vlower
Automatic measurement: voltage at the lower threshold.
yes: scpi item vlowerhave
Vavg
Automatic measurement: mean over the record or gate.
yes: scpi item vavghave
Vrms
Automatic measurement: RMS over the record or gate.
yes: scpi item vrmshave
Period Vrms
Automatic measurement: RMS over one period.
yes: scpi item pvrmshave
Overshoot
Automatic measurement: (max - top) / amplitude.
yes: scpi item overshoothave
Preshoot
Automatic measurement: (base - min) / amplitude.
yes: scpi item preshoothave
AC RMS
Automatic measurement: RMS with the mean removed.
yes: scpi item acrmshaveSame item as SCPI VARiance.
+Slew rate
Automatic measurement: rising-edge level change over its time.
yes: scpi item pslewratehave
-Slew rate
Automatic measurement: falling-edge level change over its time.
yes: scpi item nslewratehave
Area
Automatic measurement: signed area of the on-screen trace (V*s).
yes: scpi item mareahave
Period area
Automatic measurement: signed area of the first period.
yes: scpi item mpareahaveComputed over one period (period_from..period_to).
14 measurements at once
Up to 14 items shown together in the results bar.
yes: max 14have
Measurement sources
Analog, digital and math sources for measurements.
yes: ch1-ch4; d0-d15 (dho900); math1-math4partialCH1-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 channelpartialThe 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.
yeshaveStudio only (the classic screen has no measurement histogram). row 68 ('not drawn') is stale.
Measurement indicator
Cursors drawn where the active measurement is taken.
yespartialKept 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 sourcehave
Measurement region
Measure over the main record, the zoom window or (MHO) between two cursors.
yes: main; zoomhaveMain/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-minhave
Measurement statistics
Current, mean, max, min, deviation and count per item, with a count limit and reset.
yes: count 2-100000 (default 1000); resethave
Remove measurements
Remove one, remove all, or drag a result off the bar.
yeshaveRemove 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; linkedpartialCursor-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.
yespartialKept 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'.

Cursors 4

FeatureStock firmwareNovaOSNotes
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, dypartialX/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 yhaveClassic screen and SCPI; the studio's cursors are manual only.
XY cursors
Cursors on the XY plot, available in XY mode.
yespartialXY 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.
yeshaveMenu Remove (classic), Cursor key toggle (studio),:CURSor:MODE OFF; no drag-off gesture.

DVM & Counter 7

FeatureStock firmwareNovaOSNotes
Digital voltmeter
4-digit voltmeter on any analog channel, independent of the trigger, even if the channel is off.
yes: ch1-ch4haveFPGA 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 rmshaveAC 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/lowerhaveBeeper 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)partialFrequency/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)have3-6 digits drive the gate; studio and classic default to 5 (stock 4).
Totalize and clear
Counts edge events with a clear button.
yeshaveTotalize mode and Clear (FPGA total cleared through the engine) on UI and SCPI.
Counter statistics
Statistics on frequency/period readings with reset.
yeshaveStatistics switch (stock MSG_COUNTER_1_STAT) with max/min/average restart; Clear resets them.

Logic analyser 8

FeatureStock firmwareNovaOSNotes
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-d15haveLA 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).
yeshaveActive 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-d15havePer-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; largehaveS/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; dragpartialD0..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).
yesmissingLogic 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-d15partialLabels 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.
yespartialOnly the two fixed pods (D0-D7, D8-D15) can be drawn as a bus; no user-defined groups of arbitrary lines.

Histogram 9

FeatureStock firmwareNovaOSNotes
Waveform histogram
Hit-count histogram of a waveform inside a window, drawn beside the graticule.
yeshaveSoftware waveform histogram on the studio and classic screens, drawn beside the graticule.
Histogram type
Horizontal (time), vertical (voltage) or measurement histogram.
yes: horizontal; vertical; measurepartialHorizontal 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-ch4haveCH1-CH4.
Histogram height
Bar-graph height in divisions.
yes: 1-4 div (default 2)haveHeight in divisions (default 2; the studio allows more than 4).
Histogram window
Left/right/top/bottom limits, typed or dragged.
yeshaveTyped 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, xscalepartialSum, 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.
yeshaveReset 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 sigmamissingOnly sigma itself is computed; no share of hits within mu+-1/2/3 sigma.
Histogram export
Saves the histogram data as a file.
yes: csvpartialHits CSV in the stock layout via:HISTogram:SAVE:CSV only; no Save button on either UI.

Generator 15

FeatureStock firmwareNovaOSNotes
Generator output
Built-in function generator with its own output switch and screen label.
yes (dho914s/dho924s only): 1 channel, 25 mhz (dho914s/dho924s)haveOutput 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-360haveFrequency, 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%haveSquare 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%haveRamp with symmetry on the classic menus and SCPI.
Noise
Noise output with amplitude and offset.
yes (dho914s/dho924s only)haveNoise with amplitude/offset on both families.
DC
DC level output.
yes (dho914s/dho924s only): -5 v to 5 vhaveDC 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 mhzhaveDHO: 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 mhzhaveAM 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 mhzhaveFM 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 mhzhavePM 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; sinchaveExpRise/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)haveAmp/HighL switch on the classic MHO page;:SOURce<n>:VOLTage:HIGH/LOW.
Period entry
Frequency may be typed as a period.
yes (option)haveFreq/Period switch on the classic MHO page;:SOURce<n>:PERiod.
Align phase
Re-syncs the two generator channels to their set phases.
yes (option)haveAlign 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; loadhaveHighZ / Load on the classic MHO page and:SOURce<n>:IMPedance; displayed levels follow the load.

Bode plot 10

FeatureStock firmwareNovaOSNotes
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)haveSweep 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; linehaveLog or linear steps.
Bode FIR filter
A digital filter switch for the Bode measurement.
yes (dho914s/dho924s only)partialClassic 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; gmpartialWave (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)haveTwo 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 amplitudehaveStart/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 *.csvpartialCSV 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)missingNo loop-injection connection diagram on either UI.
Gain/phase curve toggles
Hide or show the gain and phase curves separately.
yes (option)haveGain / 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; afg2haveG1/G2 chosen on the studio Bode window (kept as ui:BODeplot:SOURce; the stock has no SCPI form).

Reference 8

FeatureStock firmwareNovaOSNotes
Ten reference slots
Ref1-Ref10 stored traces to compare against live ones.
yes: ref1-ref10haveTen 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-math4partialCH1-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.
yespartialPer-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.
yeshaveVScale/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; orangepartialClassic 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.
yespartialClassic 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; *.csvpartialExport writes.ref only (both UIs); no.bin or.csv reference export.
Reference import
Loads a saved reference file back onto the screen.
yes: *.refhave.ref loaded into a slot from the classic browser or the studio Ref sheet's file list.

Pass/Fail 8

FeatureStock firmwareNovaOSNotes
Mask test
Compares a channel with a tolerance mask and counts passes and failures.
yes: source ch1-ch4haveMask 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)haveMask 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: *.pfhaveSave/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)partialKept 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; screenshothaveStop / 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.
yeshaveRun/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.
yeshaveFailed/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.
yesmissingThe test panel cannot be folded to a small panel / mini-window on either UI.

Decode 18

FeatureStock firmwareNovaOSNotes
Four decoders
Four independent bus decoders on analog (and digital) inputs.
yes: decode 1-4haveFour 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; polaritypartialDigital 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 baudhave5-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/wpartialDHO800/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-32haveCLK 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/bothhaveOffered 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; asciihave
Bus label
Shows the bus type label on the decoded lane.
yeshaveHonoured on the classic screen; the studio always labels its lanes.
Event table
Decoded packets listed with time, fields and errors.
yeshave
Event table export
Saves the table as CSV while stopped.
yes: *.csvhaveClassic 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.
yesmissingNo 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.
yespartialPer-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 pointhaveFD 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.
yesmissingNo 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 polarityhave
FlexRay decode
FlexRay with channel, baud and signal type.
yes (option): channel a/b; 2.5/5/10 mb/s; bp, bm, rx/txhave
MIL-STD-1553B decode
1553B command/status and data words with parity.
yes (option)have

Windows 3

FeatureStock firmwareNovaOSNotes
Add plot windows
Adds XY or math plots as extra panes.
yes: xy; mathpartialXY 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; decodehaveMeasure, 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.
yespartialPanes 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).

Record & Replay 4

FeatureStock firmwareNovaOSNotes
Waveform recorder
Records successive acquisitions as frames until full or stopped.
yes: interval 10 ns-1 s; frames 1..max; max button; end beephaveFPGA 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 framehaveSingle/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.
yespartialClassic 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: *.csvmissingNo 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.

Search & Navigate 8

FeatureStock firmwareNovaOSNotes
Edge search
Marks every matching edge in the record.
yes: slope; thresholdhave
Pulse search
Marks every pulse meeting a width condition.
yes: polarity; >, <, <>; thresholdhave
Search <-> trigger copy
Copies settings from the matching trigger type, or to it.
yes: to trigger; from triggerhaveFull edge+pulse copy both ways over:SEARch:SEARch:COPY; the classic To/From Trigger buttons copy only source/slope/level (edge fields, wrong for a pulse search); the studio sheet has no copy buttons.
Event mark table
Table of found events; selecting a row (stopped) jumps to it.
yeshave
Save search events
Writes found events to a CSV file.
yes: *.csvhaveClassic Search page's Save events writes the CSV 's 'CSV not written' is stale); not on the studio sheet.
Time navigation
Plays through a stopped record left/right at a chosen speed.
yes: speed levels; back/forward; stop at edgeshave
Event navigation
Steps to previous/next/first/last search event.
yeshave
Segment navigation
Pages through UltraAcquire segments with a chosen display mode and frame range.
yes: start/end frame; display mode; page of framespartialFRAMe steps (start/back/next/end) walk the segmented record, but:NAVigate:FRAMe:PLAY, DISPlay:MODE (adjacent/overlay/waterfall/...) and STARt/END:FRAMe range are kept only; UltraAcquire itself is not implemented.

Display 13

FeatureStock firmwareNovaOSNotes
Vector display
Samples joined by lines.
yes: vectorhave
Persistence
How long old traces stay visible.
yes: min; 100 ms, 200 ms, 500 ms, 1 s, 2 s, 5 s, 10 s; infinitehave
Waveform intensity
Trace brightness.
yes: 1-100% (default 50)have
Grid style
Full grid, main axes only, or none.
yes: full; half; nonehave
Grid brightness
Graticule brightness.
yes: 0-100% (default 50)have
Window transparency
Transparency of floating windows over the trace.
yes: 0-100% (default 50)haveClassic popups only (studio sheets have their own look).
Cursor brightness
Brightness of cursor lines.
yes: 0-100% (default 80)partialSlider 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.
yeshaveActs 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.
yeshave
Clear display
Erases the persisted traces.
yeshave
Scale follows trace
Axis labels move with the waveform instead of staying fixed.
yespartialMHO: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

Storage 14

FeatureStock firmwareNovaOSNotes
Save screenshot
Saves the screen picture with colour options and a header line.
yes: *.png, *.bmp, *.jpg; invert; color/gray; header with model and datepartialpng/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, *.wfmpartialDHO800/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: *.stphavethe 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:haveC: 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.
yeshaveSCPI: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 digitalhavewriter/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.
yeshave
File manager
Browse disks, new folder, multi-select, cut/copy/paste, delete, rename.
yespartialstudio 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.
yesmissingonly 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/ntfshavesticks 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-connectmissingrefused 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.
yeshaveinstalls 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.
yesmissingno 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.
yesmissingrefused 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

Utility 16

FeatureStock firmwareNovaOSNotes
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 ippartialDHCP 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 bytespartialmDNS 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.
yeshaveten 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; defaulthaveengine 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 offhavesent 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).
yeshave
AUX OUT function
Rear output carries trigger-out or pass/fail pulses.
yes: trigout; passfailpartialTrigOut/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.
yespartial: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.
yeshaveclassic About shows model, serial, NovaOS firmware, hardware, build, kernel, host name; studio About omits the serial
Open-source notices
Shows the open-source acknowledgements.
yesmissingthe 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.
yesmissingDHO800/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.
yespartialSCPI 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 grouppartialno 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 testhavestudio 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.
yeshave
Date and time
Set the clock, show it in the status area, stamp saved files.
yespartialset 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)

Remote control 7

FeatureStock firmwareNovaOSNotes
SCPI over USB
USB-TMC device port for SCPI control from a PC.
yeshavethe 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).
yeshaveraw socket 5555, VXI-11 and mDNS/LXI discovery
LXI web page
Instrument info web page (LXI Core 2011).
yeshavewelcome/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)havelive 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.
yespartial*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 screenhave
Web SCPI console
Send SCPI commands and read answers from the web page.
yeshave

Hardware I/O 6

FeatureStock firmwareNovaOSNotes
Probe compensation output
Square-wave terminal for probe adjustment.
yesmissingnothing 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.
yeshaveHDMI 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).
yespartialUSB 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.
yeshave
USB device port
Rear USB to a PC for remote control.
yeshave
Wi-Fi & Bluetooth adapter
A USB Wi-Fi/Bluetooth dongle gives wireless connections.
yesmissingno Wi-Fi or Bluetooth support (no WLAN/Bluetooth page, no dongle driver handling)

BEYOND Beyond stock

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;

Analysis

Math

Display

Acquisition

Horizontal

Decode

PC tools

Remote control

Utility