Skip to content

Attract Waveform

The waveform mode renders animated oscilloscope-style waveform traces across the panel. Traces morph between sine, sawtooth, and harmonic wave shapes with configurable amplitude, speed, and phosphor persistence trail.

Options

Key Type Description Default Allowed Values
speed float Animation rate multiplier controlling how quickly waveform traces morph and scroll across the panel 1.0 any valid float (0.1–10.0 recommended)
density float Waveform cycle density mapping 0.1 to 1.0 across 1.5 to 5.5 visible cycles on the panel 0.5 any valid float (0.1–1.0)
amplitude float Trace amplitude as a fraction of panel height controlling vertical extent of waveform oscillation 0.8 any valid float (0.1–1.0)
traces int Number of simultaneous waveform traces drawn on the panel each with independent wave shapes 3 any valid int (1–8 recommended)
persistence float Phosphor trail decay as a fraction of panel width controlling how long trace afterglow lingers 0.5 any valid float (0.0–1.0)
direction string Trace scroll direction, auto picks horizontal or vertical based on panel aspect ratio orientation auto auto, horizontal, vertical

Policy Fields

Field Type Range Default Description
Speed float64 [0.1, 10.0] 1.0 Animation rate multiplier
Density float64 [0.1, 1.0] 0.5 Visual density (reserved for uniformity)
Amplitude float64 [0.1, 1.0] 0.8 Fraction of half panel height for trace amplitude
Traces int [1, 8] 3 Number of simultaneous waveform traces
Persistence float64 [0.1, 1.0] 0.5 Phosphor trail decay as fraction of panel width
Direction string "auto" / "horizontal" / "vertical" "auto" Trace direction (auto picks based on aspect ratio)

CLI Examples

Query the current policy values:

cyberhudctl display attract_waveform

Set a faster animation with more traces and longer persistence:

cyberhudctl display config 0 speed=2.5 traces=5 persistence=0.8

Panel Compatibility

  • Color TFT — full-color waveform traces with phosphor-green glow and smooth gradient trails; multiple traces are drawn in distinct hues for visual separation.
  • Monochrome OLED — traces render as bright white lines against a black background; persistence trails use diminishing luminance to simulate phosphor decay.
  • E-Ink — a static decorative waveform frame is produced (see below).

E-Ink Behavior

On e-ink panels, the waveform mode renders a static decorative waveform frame for slow-refresh panels. Rather than animating continuous trace motion, a single snapshot of overlapping waveform shapes is composed and held as a non-interactive ambient display. The Speed and Persistence policy fields have no visible effect on e-ink panels since no animation occurs.

Snapshots

Color

color-fast-8x16 8x16
8x16
color-fast-16x8 16x8
16x8
color-fast-80x160 80x160
80x160
color-slow-104x212 104x212
104x212
color-slow-122x250 122x250
122x250
color-fast-128x128 128x128
128x128
color-fast-128x160 128x160
128x160
color-slow-128x296 128x296
128x296
color-fast-135x240 135x240
135x240
color-fast-160x80 160x80
160x80
color-fast-160x128 160x128
160x128
color-slow-176x264 176x264
176x264
color-slow-200x200 200x200
200x200
color-slow-212x104 212x104
212x104
color-fast-240x135 240x135
240x135
color-fast-240x240 240x240
240x240
color-fast-240x320 240x320
240x320
color-slow-250x122 250x122
250x122
color-slow-264x176 264x176
264x176
color-slow-296x128 296x128
296x128
color-slow-300x400 300x400
300x400
color-fast-320x240 320x240
320x240
color-fast-320x480 320x480
320x480
color-slow-400x300 400x300
400x300
color-fast-480x320 480x320
480x320
color-fast-480x800 480x800
480x800
color-slow-480x800 480x800
480x800
color-fast-800x480 800x480
800x480
color-slow-800x480 800x480
800x480

Grayscale

grayscale-fast-8x16 8x16
8x16
grayscale-fast-16x8 16x8
16x8
grayscale-fast-80x160 80x160
80x160
grayscale-slow-104x212 104x212
104x212
grayscale-slow-122x250 122x250
122x250
grayscale-fast-128x128 128x128
128x128
grayscale-fast-128x160 128x160
128x160
grayscale-slow-128x296 128x296
128x296
grayscale-fast-135x240 135x240
135x240
grayscale-fast-160x80 160x80
160x80
grayscale-fast-160x128 160x128
160x128
grayscale-slow-176x264 176x264
176x264
grayscale-slow-200x200 200x200
200x200
grayscale-slow-212x104 212x104
212x104
grayscale-fast-240x135 240x135
240x135
grayscale-fast-240x240 240x240
240x240
grayscale-fast-240x320 240x320
240x320
grayscale-slow-250x122 250x122
250x122
grayscale-slow-264x176 264x176
264x176
grayscale-slow-296x128 296x128
296x128
grayscale-slow-300x400 300x400
300x400
grayscale-fast-320x240 320x240
320x240
grayscale-fast-320x480 320x480
320x480
grayscale-slow-400x300 400x300
400x300
grayscale-fast-480x320 480x320
480x320
grayscale-fast-480x800 480x800
480x800
grayscale-slow-480x800 480x800
480x800
grayscale-fast-800x480 800x480
800x480
grayscale-slow-800x480 800x480
800x480

Mono

mono-fast-8x16 8x16
8x16
mono-fast-16x8 16x8
16x8
mono-fast-32x128 32x128
32x128
mono-fast-64x128 64x128
64x128
mono-slow-104x212 104x212
104x212
mono-slow-122x250 122x250
122x250
mono-fast-128x32 128x32
128x32
mono-fast-128x64 128x64
128x64
mono-fast-128x128 128x128
128x128
mono-slow-128x296 128x296
128x296
mono-slow-176x264 176x264
176x264
mono-slow-200x200 200x200
200x200
mono-slow-212x104 212x104
212x104
mono-slow-250x122 250x122
250x122
mono-slow-264x176 264x176
264x176
mono-slow-296x128 296x128
296x128
mono-slow-300x400 300x400
300x400
mono-slow-400x300 400x300
400x300
mono-slow-480x800 480x800
480x800
mono-slow-800x480 800x480
800x480