News · · Jerry Miao

Software 1.4.0: safer lighting, a better LED selector, and hardening for weeks-long runs

The October release keeps the chamber lighting within its power budget, redesigns the LED selector, makes the core status dot mean "camera usable", and fixes a long list of small things that only show up when an instrument runs unattended for weeks. Available on request.

Software 1.4.0 for the SciSpinner Max is ready. It is a free update, applied from a USB stick like 1.3.0, and it is going out on request rather than to everyone at once: write to [email protected] and I will send the package and the steps. It brings together the three point releases since September (1.3.1 to 1.4.0).

Lighting

The chamber lights can no longer brown out the core. The 130 RGBW LEDs can ask for far more current at full brightness than the 5 V supply they share with the core computer can deliver. The motion controller firmware now estimates the current a lighting scene will draw and, if it is over budget, dims the whole scene proportionally on the way to the strip. The scene you saved is kept as you set it, so a future hardware revision with a larger budget will light it up unchanged. The power-on greeting runs through the same limiter.

A readout on the Lighting page shows the estimated draw for the ring and halo against the budget, live while you drag, and turns amber with the kept percentage when the limiter is dimming.

A new LED selector. A Ring / Halo toggle above the ring, Start and End steppers below it. The ring keeps its finger drag, now on slim handles with a band marking the selected arc, and the steppers nudge the range a pixel at a time, with a tap on either number opening a keypad to type a pixel exactly.

Camera

The core status dot now means "camera usable", not just "core answers". While it is not, the dot is amber with the reason: Camera starting, No camera, or Alive, no HTTP. A green dot over a grey live view was the old failure mode.

A slow sensor at boot no longer leaves the camera stuck in simulation. The core waits for the sensor to appear, keeps probing if it does not, and switches to the real camera the moment it shows up, including a ribbon reseated in the field, with no restart needed.

A missing camera no longer records placeholder frames. If the camera is unavailable during an experiment, captures are refused rather than saved as blank stubs; three failed captures in a row mark the run as degraded in events.csv, and recovery is logged.

Long runs

This release followed a review of the whole system for weeks of unattended operation. Among the changes: every log file now pauses with the frames when the card falls below 200 MB free and resumes above it; the gallery no longer re-lists a frames folder that can hold a quarter of a million files; a USB stick that refuses to mount is reported once rather than every few seconds; camera settings survive a module that rejects one key; and the controller now sets the core's clock, so a run's core.log is stamped in the right time.

Fixed time zone. Instruments now run on UTC, so a run's time column never repeats or skips an hour at a daylight-saving change. Timestamps stay plain local time with no suffix. This takes effect at the first update applied after 1.4.0 is on the unit.

Rev B hardware: the real-time clock backup cell is supported, so a manually set clock survives a power cut, and the Developer tab shows the cell's voltage and charging state.

Updating

Three steps in the Update Manager, in order: Install the software, Reflash the firmware (1.3.3), then Push to core (1.0.25). Until the firmware is reflashed, the lighting readout shows the estimate in red when a scene is over budget but nothing limits it, exactly as today. Do not update while an experiment is running.

Component versions after the update: software 1.4.0, motion controller firmware 1.3.3, core software 1.0.25.

← All news