Skip to content

Releases

OOS 0.1.12

Choose a tag to compare

@deckerjulian deckerjulian released this 13 Nov 13:49

A release of OOS, an open operating system for the Rigol DHO800/DHO900: the GPU picture with a monitor as fast as it should be, and from the forum thread views to switch between, the scope by name on the network (mDNS), the NTP server from DHCP, and the colours of CH2 and CH4.

Experimental. It has run on a DHO924S, and DHO804s run earlier versions. Read the disclaimer, the status and the known limits first. Measurements are not calibrated to any standard.

Installing and updating

No build needed: Installation.

  • From 0.1.7 or newer: install oos-0.1.12.oosupd through http://<scope>:8080/update (or System > Update). The scope restarts into the new build by itself (kexec) and installs it from there. Then switch it off at the mains, wait 30 seconds and switch it on: that start is the trial.
  • From 0.1.6 or older: install 0.1.7 first, the same way, then this one (details in the 0.1.9 release).
  • USB stick (DHO800_DHO900_OOS_Install.GEL, Storage > Upgrade in the stock system): installs any version directly, and also updates an older OOS build on the card.

What changed

New in 0.1.12

  • Display > Views: up to four arrangements of the screen to switch between, instead of one busy screen. Each view keeps its windows, second pane, measurements, DVM and counter, cursors, zoom, histogram, analyser page, XY and full screen; channels, time base, trigger and acquisition are shared. Switch with the numbers in the top bar, a swipe from the left or right edge of the plot inwards, the Quick key (Next view) or :DISPlay:VIEW <n>. Saved with a setup.
  • The scope by name: http://dho924s-204527.local:8080 (model and serial number) reaches the web remote, also with only a link-local address on a cable straight to a computer. OOS answers mDNS and announces the web remote, SCPI and VXI-11 for browsing (DNS-SD). System > Network > Remote services: mDNS on/off and the Name, which is also the host name the scope sends to DHCP.
  • NTP server = DHCP: the scope asks the NTP server its DHCP lease names (option 42), pool.ntp.org when there is none. The new default; a server chosen before stays. Time from NTP stays off by default.

Changed

  • Graphics (CPU or GPU) moved from Display to System.
  • CH2 is teal and CH4 sky blue (the other way round until 0.1.11), as the colour rings of the inputs and probes.

Fixed

  • Graphics = GPU with a monitor was slower than the CPU (16 to 19 frames a second with four channels and HDMI Layout, the CPU 22 to 23). The GPU mixed the counts of the stretched traces itself, 16 reads of integer textures per pixel: 36 to 41 ms for the traces of a 1920x1080 monitor alone. The helper now works out the traces' brightness indices once at the size of the maps and the monitor reads them through the GPU's own filter: 8 to 9 ms. Panel and monitor also keep their own textures. On a DHO924S, four channels, 1920x1080: 30 frames a second with the GPU in Mirror, Waveform and Layout, the frame loop at 22 to 30 % of its core against 48 to 68 % with the CPU. The panel's pixels are the same as before.
  • Tests that would have caught it: the device test now measures the frame rate, the frame loop's load and the GPU's time per screen with the CPU and the GPU and, with a monitor, in each HDMI mode; against 0.1.11's GPU helper it fails. New for it: :SYSTem:GRAPhics CPU|GPU, and :SYSTem:STATe? names the graphics, the monitor and the GPU time.

Full list: CHANGELOG.md.

Files

File What
oos-0.1.12.img boot image, for the second-card install in the README
oos-0.1.12.oosupd update package for a running OOS (0.1.7 or later), signed with the maintainer key (id 4dbd03d9763869dd), which every build trusts
DHO800_DHO900_OOS_Install.GEL install from a USB stick through the stock system's Storage > Upgrade, without opening the scope; keep its name
SHA256SUMS checksums
linux-6.12.115-base.tar.xz kernel source, needed to build the kernel: put it into kernel/src/
busybox_1.37.0*, e2fsprogs-1.47.2.tar.xz, wpa_supplicant-2.11.tar.gz, kexec-tools-2.0.32.tar.xz sources of the other programs in the image
mesa_26.0.8.orig.tar.xz, glibc_2.43*, gcc-16_16-20260322*, libdrm_2.4.131*, zlib_1.3* sources of the GPU helper's libraries (Mesa, glibc, libstdc++ and libgcc, libdrm, zlib)

State

On a DHO924S: this exact package installed from a running OOS through the web page, started by kexec and installed; the device test of the quick tier passed on it (20 of 20), with the new frame rate test against a 1920x1080 monitor in all three modes. mDNS was checked from a Mac (dns-sd, the web remote by name), the NTP server from DHCP with a DHCP server that hands out option 42. Larger monitors than 1920x1080 are not tried.

Bug reports, test results from other models and code are welcome.

OOS 0.1.11

Choose a tag to compare

@deckerjulian deckerjulian released this 13 Nov 09:14

A release of OOS, an open operating system for the Rigol DHO800/DHO900: the HDMI flicker with GPU drawing, frozen measurements, deep memory at short time bases, and from the forum thread the AC trigger and the Bode plot with a generator on the USB port.

Experimental. It has run on a DHO924S, and DHO804s run earlier versions. Read the disclaimer, the status and the known limits first. Measurements are not calibrated to any standard.

Installing and updating

No build needed: Installation.

  • From 0.1.7 or newer: install oos-0.1.11.oosupd through http://<scope>:8080/update (or System > Update). The scope restarts into the new build by itself (kexec) and installs it from there. Then switch it off at the mains, wait 30 seconds and switch it on: that start is the trial.
  • From 0.1.6 or older: install 0.1.7 first, the same way, then this one (details in the 0.1.9 release).
  • USB stick (DHO800_DHO900_OOS_Install.GEL, Storage > Upgrade in the stock system): installs any version directly, and also updates an older OOS build on the card.

What changed

New in 0.1.11

  • Trigger > Coupling for the edge trigger: DC, AC, LF reject, HF reject (:TRIGger:COUPling). AC and LF reject take the DC out of the trigger path, so a level of 0 V is the zero crossing of the signal whatever its offset; HF reject keeps the DC and suppresses fast signals. The trace itself is not filtered.
  • Bode with an external generator on the USB-A port (USBTMC, no PC): Analysers > Bode > Connection = USB takes the first USBTMC instrument and shows its *IDN? answer or why there is none. New preset for the UNI-T UTG900 (UTG932, UTG962), commands from UNI-T's programming manual; Rigol DG and Siglent SDG work over USB as well. Tested with a simulated device only: reports with a real generator are welcome.

Fixed in 0.1.11

  • HDMI with Display > Graphics = GPU: the panel flashed black now and then, mostly with a menu open, and the picture could be broken on both screens. The panel's third display buffer and the monitor's first one shared a place in the GPU's list, and the monitor's frame overwrote the panel's while the GPU still drew it. On a DHO924S with a 1920x1080 monitor, panel and monitor are steady in Mirror, Layout and Waveform.
  • Measurements froze in Run (since 0.1.7): values, statistics, the trend and the counter from the record only changed after STOP. The measurements run beside the frame loop, and a result was dropped whenever a newer record had come, which in Run is nearly every frame.
  • Deep memory at short time bases: above 1 M points the screen got the whole record compressed to about 625 k min/max points, so at 10 M and 100 ns/div about 80 of them for the screen: a sine showed as a staircase, and only about 3 records came per second. Such a record is now read for the screen as a window at every sample: a clean sine at 10 M and 50 M, 21 to 27 records per second.
  • NORMAL without a trigger: a changed trigger took up to 2 s to act; it now acts at once.
  • Web remote: a PNG screenshot asked for while the live view ran as JPEG could come back as JPEG bytes; one error of the video encoder no longer switches JPEG off until a restart.
  • Display: a late page flip event no longer switches the panel to a slower path for the rest of the session.

Full list: CHANGELOG.md.

Files

File What
oos-0.1.11.img boot image, for the second-card install in the README
oos-0.1.11.oosupd update package for a running OOS (0.1.7 or later), signed with the maintainer key (id 4dbd03d9763869dd), which every build trusts
DHO800_DHO900_OOS_Install.GEL install from a USB stick through the stock system's Storage > Upgrade, without opening the scope; keep its name
SHA256SUMS checksums
linux-6.12.115-base.tar.xz kernel source, needed to build the kernel: put it into kernel/src/
busybox_1.37.0*, e2fsprogs-1.47.2.tar.xz, wpa_supplicant-2.11.tar.gz, kexec-tools-2.0.32.tar.xz sources of the other programs in the image
mesa_26.0.8.orig.tar.xz, glibc_2.43*, gcc-16_16-20260322*, libdrm_2.4.131*, zlib_1.3* sources of the GPU helper's libraries (Mesa, glibc, libstdc++ and libgcc, libdrm, zlib)

State

On a DHO924S: this exact package installed from a running OOS through the web page, started by kexec and installed; the device test of the quick tier passed on it (15 of 15). The fixes were measured on the unit before (full test rounds, HDMI with a 1920x1080 monitor in all three modes). Bode over USB is tested with a simulated device only.

Bug reports, test results from other models and code are welcome.

OOS 0.1.10

Choose a tag to compare

@deckerjulian deckerjulian released this 12 Nov 21:07

A fix release for OOS, an open operating system for the Rigol DHO800/DHO900: the web remote's live picture with GPU drawing. Thanks for the report in the forum thread.

Experimental. It has run on a DHO924S, and DHO804s run earlier versions. Read the disclaimer, the status and the known limits first. Measurements are not calibrated to any standard.

Installing and updating

No build needed: Installation.

  • From 0.1.7, 0.1.8 or 0.1.9: install oos-0.1.10.oosupd through http://<scope>:8080/update. The scope restarts into the new build by itself (kexec) and installs it from there. Then switch it off at the mains, wait 30 seconds and switch it on: that start is the trial.
  • From 0.1.6 or older: install 0.1.7 first, the same way, then this one. The image brings another device tree than 0.1.6 (the GPU and the video encoder switched on), which only 0.1.7 and later can try by kexec before they install it. Details in the 0.1.9 release.
  • USB stick (DHO800_DHO900_OOS_Install.GEL, Storage > Upgrade in the stock system): installs any version directly, and also updates an older OOS build on the card.

What changed

Fixed in 0.1.10

  • Web remote with Display > Graphics = GPU (the default): the live picture went back and forth between the current screen and an older one, most visibly when a menu opened or closed (the WLAN box also seemed to drop its address). The frame loop handed the shown screen to the web page by swapping buffers, which only works when the next screen is drawn whole on the CPU. With the GPU each picture that comes back now goes to the web page as a copy. On a DHO924S, 120 web pictures in a row while menus open and close: 86 older screens with 0.1.9, none with 0.1.10, about 9.5 pictures a second over WLAN.

Known: with a monitor on HDMI the panel can flicker while a menu is open (reported with GPU drawing, not reproduced yet). Display > Graphics = CPU is the safe choice with a monitor until then.

Everything new in 0.1.7 to 0.1.9: 0.1.9 release. Full list: CHANGELOG.md.

Files

File What
oos-0.1.10.img boot image, for the second-card install in the README
oos-0.1.10.oosupd update package for a running OOS (0.1.7 or later), signed with the maintainer key (id 4dbd03d9763869dd), which every build trusts
DHO800_DHO900_OOS_Install.GEL install from a USB stick through the stock system's Storage > Upgrade, without opening the scope; keep its name
SHA256SUMS checksums
linux-6.12.115-base.tar.xz kernel source, needed to build the kernel: put it into kernel/src/
busybox_1.37.0*, e2fsprogs-1.47.2.tar.xz, wpa_supplicant-2.11.tar.gz, kexec-tools-2.0.32.tar.xz sources of the other programs in the image
mesa_26.0.8.orig.tar.xz, glibc_2.43*, gcc-16_16-20260322*, libdrm_2.4.131*, zlib_1.3* sources of the GPU helper's libraries (Mesa, glibc, libstdc++ and libgcc, libdrm, zlib)

State

On a DHO924S: this exact package installed from 0.1.9 through the web page, started by kexec and installed. The fix was measured on the unit before (120 web pictures, see above).

Bug reports, test results from other models and code are welcome.

OOS 0.1.9

Choose a tag to compare

@deckerjulian deckerjulian released this 12 Nov 15:54

Tenth version of OOS, an open operating system for the Rigol DHO800/DHO900. Most of it comes from the reports and wishes in the forum thread. Highlights since 0.1.6:

  • the screen is drawn on the GPU (a third less load on the processor), the web picture as JPEG from the video encoder
  • a frequency counter in the FPGA: 6 digits at any frequency
  • display backlight, AC/DC by a long press on a channel key or card, remote services switchable one by one
  • the screen laid out from its size, and HDMI Layout for a monitor
  • updates that change the device tree are tried by kexec first, like every other update
  • experimental: Bode with a generator that sweeps on its own (please test)

Experimental. It has run on a DHO924S, and DHO804s run earlier versions. Read the disclaimer, the status and the known limits first. Measurements are not calibrated to any standard.

Installing and updating

No build needed: Installation.

  • From 0.1.7 or 0.1.8: install oos-0.1.9.oosupd through http://<scope>:8080/update. The scope restarts into the new build by itself (kexec) and installs it from there. Then switch it off at the mains, wait 30 seconds and switch it on: that start is the trial.

  • From 0.1.6 or older: install 0.1.7 first, the same way, then this one. From 0.1.8 on the image brings another device tree (the GPU and the video encoder switched on). Only 0.1.7 and later can start such an image by kexec with its own tree before they install it; 0.1.6 refuses it, writes nothing and goes on running. On the scope it says "Install FAILED" with:

    the image brings another device tree than the one this scope started with: a kexec start keeps the running tree and cannot try it. Try the image on a card you can take out; then --new-dt writes it directly, without the kexec trial start

    Do not use --new-dt: install 0.1.7 first, then 0.1.9.

  • USB stick (DHO800_DHO900_OOS_Install.GEL, Storage > Upgrade in the stock system): installs any version directly, and from now on it also updates an older OOS build on the card.

What changed

New in 0.1.9

  • Frequency counter in the FPGA (Measure > DVM / counter): a reciprocal counter, so a 1 s gate gives 6 digits and more at any frequency. With the built-in generator at 12345.6 Hz it shows 12345.60 Hz, where the counter from the record wandered by 0.2 Hz. Frequency, period, totalize; 1.5 Hz to 9.9 MHz tried. SCPI :COUNter:....
  • Display > Backlight, 10 to 100 %.
  • AC/DC by a long press: a channel key held for half a second, or a finger held on a channel's card.
  • LAN: no address without a cable; without DHCP a link-local address (169.254.x.y) instead of the fixed 192.168.177.64, so a computer on the same cable reaches the scope without any set-up.
  • Text size Larger: the top bar's sample rate and depth no longer run under the buttons.
  • Experimental, please test: Bode with a free-running generator. For a generator that sweeps by itself and marks the sweep start on a sync output (CH4 by default): Analysers > Bode, Generator = Free-running sweep. Tested with simulated sweeps only (within 0.1 dB). Reports with a real sweep generator are very welcome, in the forum thread or as an issue.

From 0.1.7 and 0.1.8 (both in this release)

  • Display > Graphics = GPU (the default): the CPU only records what to draw, the Mali-T860 draws it. On a DHO924S with four channels running: the frame loop at 35 % of its core instead of 53 %, 30 frames a second.
  • JPEG live picture on the web page from the video encoder: about 75 KB instead of 115 KB, the web thread at a third of the PNG's processor time.
  • Measurements beside the frame loop: 30 instead of 27 frames a second with four channels of 100 kpts.
  • The screen laid out from its size, pixel for pixel the same on the panel; Display > HDMI > Layout draws the whole screen again at the monitor's size.
  • System > Network > Remote services: web remote, SCPI, VXI-11 and telnet on or off, each on its own.
  • Updates with another device tree get the kexec trial start too (kexec-tools in the image, the loader's changes to the tree carried over).

Full list: CHANGELOG.md.

Files

File What
oos-0.1.9.img boot image, for the second-card install in the README
oos-0.1.9.oosupd update package for a running OOS (0.1.7 or later), signed with the maintainer key (id 4dbd03d9763869dd), which every build trusts
DHO800_DHO900_OOS_Install.GEL install from a USB stick through the stock system's Storage > Upgrade, without opening the scope; keep its name
SHA256SUMS checksums
linux-6.12.115-base.tar.xz kernel source, needed to build the kernel: put it into kernel/src/
busybox_1.37.0*, e2fsprogs-1.47.2.tar.xz, wpa_supplicant-2.11.tar.gz, kexec-tools-2.0.32.tar.xz sources of the other programs in the image
mesa_26.0.8.orig.tar.xz, glibc_2.43*, gcc-16_16-20260322*, libdrm_2.4.131*, zlib_1.3* sources of the GPU helper's libraries (Mesa, glibc, libstdc++ and libgcc, libdrm, zlib)

State

On a DHO924S: 0.1.6 to 0.1.7 to 0.1.8 through the web page, each with its kexec trial and a cold start, and this exact package from 0.1.8 the same way: confirmed, GPU and video encoder up, no LAN address without a cable. The counter, the backlight and the long press ran on the unit. The GPU picture on a monitor, the link-local address on a cable and the free-running Bode have not been tried on a unit yet.

Bug reports, test results from other models and code are welcome.

OOS 0.1.7 (step from 0.1.6)

Choose a tag to compare

@deckerjulian deckerjulian released this 12 Nov 15:52

A step on the way from 0.1.6 to 0.1.9. Coming from 0.1.6 or older, install this one first, then the latest.

From 0.1.8 on the image brings another device tree (the GPU and the video encoder switched on). Every update is first started by kexec before anything is written; 0.1.6 can only do that with the device tree it runs, so it refuses those images. 0.1.7 has the same device tree as 0.1.6, so 0.1.6 installs it as usual, and it brings kexec-tools, with which it starts later images with their own tree.

Installing

From 0.1.1 to 0.1.6: install oos-0.1.7.oosupd through http://<scope>:8080/update. The scope restarts into the new build by itself (kexec) and installs it from there. Then switch it off at the mains, wait 30 seconds and switch it on: that start is the trial. Then install 0.1.9 the same way.

The USB stick (DHO800_DHO900_OOS_Install.GEL) does not need this step: take the one of the latest release.

What is in it

Everything new of 0.1.9 except the counter, backlight, long press, link-local LAN and the free-running Bode: the GPU drawing and the JPEG picture (they work from 0.1.8, whose device tree switches the GPU and the video encoder on; here the CPU draws and the picture stays PNG), measurements beside the frame loop, the screen laid out from its size, HDMI Layout, remote services, and the trial start with another device tree. Details: CHANGELOG.md and the 0.1.9 release.

Experimental. Read the disclaimer first. Measurements are not calibrated to any standard.

Files

oos-0.1.7.img, oos-0.1.7.oosupd (signed with the maintainer key, id 4dbd03d9763869dd), DHO800_DHO900_OOS_Install.GEL, SHA256SUMS, and the sources of everything in the image: the kernel, busybox, e2fsprogs, wpa_supplicant, kexec-tools, and Mesa, glibc, gcc-16 (libstdc++), libdrm and zlib of the GPU helper.

State

On a DHO924S: 0.1.6 to 0.1.7 through the web page with its trial and a cold start, then 0.1.7 to 0.1.8 with the new device tree, tried by kexec first.

OOS 0.1.6

Choose a tag to compare

@deckerjulian deckerjulian released this 11 Nov 12:57

Seventh version of OOS, an open operating system for the Rigol DHO800/DHO900. Most of it comes from the reports and ideas in the forum thread and from a pull request. Highlights:

  • the web remote and SCPI no longer slow the scope down
  • protocol modules, with NMRA DCC as the first one
  • text size
  • date and time by NTP
  • the USB install now checks the hardware variant

Experimental. It has run on a DHO924S, and DHO804s run earlier versions. Read the disclaimer, the status and the known limits first. Measurements are not calibrated to any standard.

Installing and updating

No build needed: Installation.

From 0.1.1 to 0.1.5: install oos-0.1.6.oosupd through http://<scope>:8080/update. The scope restarts into the new build by itself (kexec) and installs it from there. Then switch it off at the mains, wait 30 seconds and switch it on: that start is the trial. From 0.1.0 the install is direct, followed by the same power cycle. The kernel changes in this version too.

What changed

Remote control

  • The web remote, SCPI and VXI-11 no longer slow the scope down. The servers read their connections in the frame loop with a 1 ms timeout, which the kernel rounds up to whole timer ticks (4 to 8 ms). Every web request stopped the screen for that long, and so did every pass of the loop with an SCPI connection open. They now read without waiting.

  • The live picture is faster.

    • The page gets each new picture as soon as it is made (long poll with ETag).
    • It is made on the slow cores, with spare time only, and only of a changed screen.
    • The PNG encoder and the screen comparison are faster.
  • Measured on a DHO924S over Ethernet:

    0.1.5 0.1.6
    scope screen, one browser open 16 frames/s 30 frames/s
    scope screen, two browsers open – 30 frames/s
    new pictures in the browser 4 to 5/s about 13/s

    An SCPI script that keeps its connection open costs no frames either.

Protocols

  • Protocol modules: a new decoder is one file and one registration: docs/protocol-modules.md. Menu rows, setups, protocol trigger, labels, event rows, demo traffic and a view of its own come from one trait. DMX512, S/PDIF and USB PD moved into modules, and their saved setups load as before.
  • NMRA DCC for model railways, from pull request #3 by Arjen Halma:
    • Display > Second pane > Bus view shows the layout it controls: locomotives with direction, speed and functions, turnouts, signals, and the track status, green while live and red after an emergency stop.
    • The event table lists one command per row (Loco 5 Fwd 50/128).
    • Tested with generated packets only.

Display and measurements

  • Display > Text size: Normal, Large, Larger. Normal looks exactly as before.
  • Measure > Add item: a second tap removes a measurement.

System and network

  • System > Date and time:
    • Time from NTP, off by default (then OOS sends nothing to the outside).
    • Time zones with daylight saving time, or the clock set by hand.
    • Once the clock is set, files are named by date and time.
  • Ethernet at 10 Mbit/s after a cold start (user report):
    • A kernel patch makes the PHY negotiate again after its set-up, as a replug does.
    • System > Network shows the link speed and has a "10 Mbit retry", on by default.
    • The unit of the author never showed the problem, so the fix is not confirmed yet.

Install

  • The USB install checks the hardware, not the model name. DHO804, DHO814 and DHO824 are taken now (same board; a DHO804 that names itself a DHO824 was refused before), and so are DHO914S and DHO924S.
  • A refused install says how to go on: oos-install.log names the verified models, the risk, and oos-any-model.txt.
  • Backing up the SD card on Windows, macOS and Linux: docs/sdcard-backup.md.

Full list: CHANGELOG.md.

Files

File What
oos-0.1.6.img boot image, for the second-card install in the README
oos-0.1.6.oosupd update package for a running OOS, signed with the maintainer key (id 4dbd03d9763869dd), which every build trusts
DHO800_DHO900_OOS_Install.GEL install from a USB stick through the stock system's Storage > Upgrade, without opening the scope; keep its name
SHA256SUMS checksums
linux-6.12.115-base.tar.xz kernel source, needed to build the kernel: put it into kernel/src/ (the OOS patches are in the repository)
busybox_1.37.0*, e2fsprogs-1.47.2.tar.xz, wpa_supplicant-2.11.tar.gz sources of the other programs in the image (the same as in 0.1.5)

State

Installed on the author's DHO924S through the web page:

  • the kexec start was checked;
  • the install into recovery was checked, with the earlier build kept for rollback;
  • the new build is running;
  • the trial start after the power cycle is still to come.

Kernel patch: checked on that unit with a test build of 0.1.5 plus the patch. A cold start and a confirmed trial both gave 100 Mbit/s full, 9.3 MB/s and no errors.

Measured on the unit: the web remote and SCPI figures above, and the DCC Bus view and event table with the demo traffic. NTP, the time zone and the text sizes are tested on the host only.

Host tests pass:

  • hal 219, dsp 161, ui 272 and fpgad 4 tests;
  • the register sequences of the acquisitions are the same as in 0.1.5 (tools/plan-matrix.sh with calibration files, 8519 lines);
  • the USB install passes its simulation on a card file: dry run, install, selecting again, and a card that is not stock is refused.

OOS 0.1.5

Choose a tag to compare

@deckerjulian deckerjulian released this 10 Nov 14:59

Sixth version of OOS, an open operating system for the Rigol DHO800/DHO900. Waveform windows and full screen, views after Auto, noise reject, Auto bandwidth by default, a fix for slow noisy signals drawn on both edges, and arrow keys on the on-screen keyboard.

Experimental. It has run on one DHO924S, and one DHO804 runs an earlier version. Read the disclaimer, the status and the known limits first. Measurements are not calibrated to any standard.

Installing and updating

No build needed: Installation.

From 0.1.1 to 0.1.4: install oos-0.1.5.oosupd through http://<scope>:8080/update. The scope restarts into the new build by itself (kexec) and installs it from there. Then switch it off at the mains, wait 30 seconds and switch it on: that start is the trial. From 0.1.0 the install is direct, followed by the same power-cycle.

What changed

  • Waveform windows: Display > Windows splits the plot into two windows side by side, two stacked, or four. Each channel, math channel and the logic analyser goes into a window of your choice, all on one time base; a drag in a window moves a channel of that window. Saved with the setup. Guide: First Steps.
  • Full screen: the button at the top right of the plot hides the top bar and the cards, the same button brings them back.
  • Views after Auto: a bar at the top of the plot offers about three periods, about ten periods, the rising edge or the falling edge of the trigger channel. Its x or a tap elsewhere closes it.
  • Fix, a slow signal drawn on both edges: with full bandwidth the noise of a slow signal can be larger than the trigger hysteresis, and the hardware then also triggers on the other edge; a 1 kHz sine at 500 us/div showed a second trace shifted by half a period, also in 0.1.4. The stock system does the same with full bandwidth (measured, trigger.md 7). The display and the waveform data now take the edge you set, nearest the hardware trigger point.
  • Bandwidth Auto by default, as on the stock system: the limit follows the sample rate, and the trigger is clean at slow time bases (100 % of the frames on the right edge in the test above, against 13 % with Full). A signal well above the limit reads smaller, so choose Full for that. Setups saved before keep their bandwidth. Auto set-up gives each channel its bandwidth back.
  • Trigger > Noise reject: 0.7 instead of 0.3 divisions of hysteresis, also :TRIGger:NREJect.
  • On-screen keyboard: arrow keys either side of Space and a tap into the entry move the insertion point, so a typo in the middle of a long WLAN password is fixed without deleting the rest.
  • The start-up screen shows the version and the build.

Full list: CHANGELOG.md.

Files

File What
oos-0.1.5.img boot image, for the second-card install in the README
oos-0.1.5.oosupd update package for a running OOS, signed with the maintainer key (id 4dbd03d9763869dd), which every build trusts
DHO800_DHO900_OOS_Install.GEL install from a USB stick through the stock system's Storage > Upgrade, without opening the scope; keep its name
SHA256SUMS checksums
linux-6.12.115-base.tar.xz kernel source, needed to build the kernel: put it into kernel/src/
busybox_1.37.0*, e2fsprogs-1.47.2.tar.xz, wpa_supplicant-2.11.tar.gz sources of the other programs in the image (the same as in 0.1.4)

State

This package was installed on the DHO924S of its author through the web page: the kexec start, the install into recovery (0.1.4 kept for rollback) and the new build running were checked; the trial start after the power-cycle is still to come. On that unit the windows, the full-screen button, the bar after Auto and its four views, the noise reject and the bandwidth were tried with the built-in generator. The keyboard arrows and the start-up line are tested on the host only.

Host tests pass. The register sequences of the acquisitions are the same as in 0.1.4 (tools/plan-matrix.sh with calibration files, 8519 lines). The USB install passes its simulation on a card file: dry run, install, selecting again, a card that is not stock refused.

OOS 0.1.4

Choose a tag to compare

@deckerjulian deckerjulian released this 10 Nov 07:46

Fifth version of OOS, an open operating system for the Rigol DHO800/DHO900. Fixes for the cold start and the calibration check, a much lighter web remote, and builds on Linux.

Experimental. It has run on one DHO924S, and one DHO804 runs an earlier version. Read the disclaimer, the status and the known limits first. Measurements are not calibrated to any standard.

Installing and updating

No build needed: Installation.

From 0.1.1, 0.1.2 or 0.1.3: install oos-0.1.4.oosupd through http://<scope>:8080/update. The scope restarts into the new build by itself (kexec) and installs it from there. Then switch it off at the mains, wait 30 seconds and switch it on: that start is the trial. From 0.1.0 the install is direct, followed by the same power-cycle.

What changed

  • Fix, cold start: after a true power-on the FPGA's factory image only hears the BOOT command about 11 s after power-on, and a BOOT sent earlier is lost. On some units every cold start stopped at "FPGA image". OOS now sees the wrong image, unloads the PCIe drivers, sends BOOT again and checks again, up to twice, with a warning on the start-up screen. Thanks to @mj1911, who found and fixed it (#1).
  • Fix, calibration warning: the start-up check asked for cal_afg.hex, the generator calibration, on models without a generator (DHO800, DHO900 without "S"). The warning stayed there after every self-calibration. A self-calibration with /oos not mounted now fails instead of reporting "saved" for a result that was gone at the next start.
  • Web remote: the live picture is a compressed PNG of about 90 KB instead of a 1.8 MB BMP, about six times the picture rate on a 10 Mbit/s link; BMP can still be chosen on the page. Also by @mj1911 (#2).
  • Building on Linux, arm64 and x86-64: the kernel is cross-compiled in the build container, the scripts check what is missing and refuse sudo. Step by step: Building. A workflow builds the image on both hosts and compares them.
  • Smaller second cards: tools/sdcard-clone.sh fit makes a copy of the card image for a card that is smaller than the original.

Full list: CHANGELOG.md.

Files

File What
oos-0.1.4.img boot image, for the second-card install in the README
oos-0.1.4.oosupd update package for a running OOS, signed with the maintainer key (id 4dbd03d9763869dd), which every build trusts
DHO800_DHO900_OOS_Install.GEL install from a USB stick through the stock system's Storage > Upgrade, without opening the scope; keep its name
SHA256SUMS checksums
linux-6.12.115-base.tar.xz kernel source, needed to build the kernel: put it into kernel/src/
busybox_1.37.0*, e2fsprogs-1.47.2.tar.xz, wpa_supplicant-2.11.tar.gz sources of the other programs in the image

State

This exact package has not run on the unit yet. The BOOT repeat ran on the DHO924S of its author in four cold starts where the first BOOT was lost; the first repeat loaded the main image each time (the second repeat is tested on the host only), and a warm restart is unchanged. The PNG picture ran there from RAM.

Host tests pass. The register sequences of the acquisitions are the same as in 0.1.3 (tools/plan-matrix.sh with calibration files, 8519 lines). The USB install passes its simulation on a card file: dry run, install, selecting again, a card that is not stock refused. The kernel, the device tree and every third-party file in the image come out bit for bit the same when built on arm64 and on x86-64 Linux.

OOS 0.1.3

Choose a tag to compare

@deckerjulian deckerjulian released this 09 Nov 20:29

Fourth version of OOS, an open operating system for the Rigol DHO800/DHO900. A bug-fix release.

Experimental. It has only run on one DHO924S. Read the disclaimer, the status and the known limits first. Measurements are not calibrated to any standard.

Installing and updating

No build needed: Installation.

From 0.1.1 or 0.1.2: install oos-0.1.3.oosupd through http://<scope>:8080/update. The scope restarts into the new build by itself (kexec) and installs it from there. Then switch it off at the mains, wait 30 seconds and switch it on: that start is the trial. From 0.1.0 the install is direct, followed by the same power-cycle.

What changed

  • Fix: with deep memory and many edges that seldom reach the 10 % and 90 % levels, the rise and fall time search held the main thread for half a minute: no picture, no SCPI, no web. The search now stops at the neighbouring edges. Only an edge whose levels do not occur between its neighbours drops out of the mean.
  • tools/device-test.py: the time base test waits long enough for a record at 50 ms/div.

Full list: CHANGELOG.md.

Files

File What
oos-0.1.3.img boot image, for the second-card install in the README
oos-0.1.3.oosupd update package for a running OOS, signed with the maintainer key (id 4dbd03d9763869dd), which every build trusts
DHO800_DHO900_OOS_Install.GEL install from a USB stick through the stock system's Storage > Upgrade, without opening the scope; keep its name
SHA256SUMS checksums
linux-6.12.115-base.tar.xz kernel source, needed to build the kernel: put it into kernel/src/
busybox_1.37.0*, e2fsprogs-1.47.2.tar.xz, wpa_supplicant-2.11.tar.gz sources of the other programs in the image

State

On the DHO924S the fix ran in RAM on top of 0.1.2: the random-settings test that stalled about every second time passed 8 of 8 runs over WLAN. This exact package has not run on the unit. The start-up code is that of 0.1.2, whose code passed a power-on there. Host tests pass, the USB install passes its simulation on a card file, and the register sequences of the acquisitions are the same as in 0.1.2 (tools/plan-matrix.sh).

Not run on the unit for this version or 0.1.2: the generator tests of tools/device-test.py.

OOS 0.1.2

Choose a tag to compare

@deckerjulian deckerjulian released this 08 Nov 21:12

Third version of OOS, an open operating system for the Rigol DHO800/DHO900.

Experimental. It has only run on one DHO924S. Read the disclaimer, the status and the known limits first. Measurements are not calibrated to any standard.

Updating

From 0.1.1: install oos-0.1.2.oosupd through http://<scope>:8080/update. The scope restarts into the new build by itself (kexec) and installs it from there. Then switch it off at the mains, wait 30 seconds and switch it on: that start is the trial. From 0.1.0 the install is direct, followed by the same power-cycle.

What changed

  • Fix: a cold start no longer stops at "ADC data lanes" when the sync bit stays the same over the whole sweep while the ADC answers. It goes on like any sweep without a falling edge, and the checks after the eye scan decide.
  • USB stick install: dry run, first install over the stock recovery and the run again have run on a DHO924S.
  • For other boards (nothing changes on the DHO800/DHO900): the board is kept apart from the rest. oos_hal::dho holds it, the GUI reaches the hardware only through board::Board, hal::target and rootfs/board/<name> describe a board, and rcS asks the board what to start. Channels, generators, memory depths and couplings come from the board. See docs/porting.md.

Full list: CHANGELOG.md.

Files

File What
oos-0.1.2.img boot image, for the second-card install in the README
oos-0.1.2.oosupd update package for a running OOS, signed with the maintainer key (id 4dbd03d9763869dd), which every build trusts
DHO800_DHO900_OOS_Install.GEL install from a USB stick through the stock system's Storage > Upgrade, without opening the scope (README, docs/install-usb.md); keep its name
SHA256SUMS checksums
linux-6.12.115-base.tar.xz kernel source, needed to build the kernel: put it into kernel/src/
busybox_1.37.0*, e2fsprogs-1.47.2.tar.xz, wpa_supplicant-2.11.tar.gz sources of the other programs in the image

State

The same code, apart from the version number, was installed on the DHO924S through the kexec path and passed a power-on with the new start-up scripts (all stages, trial confirmed). This exact package passed the signature check, the kernel load and a dry run of the install on the unit; it has not been started there. The register sequences of the acquisitions are the same as in 0.1.0 (tools/plan-matrix.sh). The USB stick install ran with package 0.1.1 on a unit whose stock system is a modified one.

Not run on the unit for this version: the generator tests of tools/device-test.py.

Known: under a long run of random settings over WLAN, the SCPI server can stop answering for more than 30 s and then come back. It also happens with 0.1.1 (1 of 4 runs, against 2 to 3 of 4 with this build, too few to compare). The scope stays up.