debug.lib

Debug library. Its official prefix is db.

This library provides UI-based debug probes for metering and diagnostics. It includes RMS/Peak meters, dynamics probes, signal quality probes, and simple band-energy meters.

Debug probes can be compiled out by setting the DEBUG global to 0 via explicit substitution (e.g. db[DEBUG=0;].probe_rms_db(...)). CNE means constant numerical expression (known at compile time).

The Debug library is organized into 5 sections:

References

Level Probes


(db.)probe_rms_db

RMS level probe (dB). Bargraph includes [unit:dB].

Usage

_ : probe_rms_db(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_rms_db_test = db.probe_rms_db(0, 1, os.osc(220));

(db.)probe_rms_lin

RMS level probe (linear).

Usage

_ : probe_rms_lin(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_rms_lin_test = db.probe_rms_lin(1, 1, os.osc(220));

(db.)probe_peak_db

Peak level probe (dB). Bargraph includes [unit:dB].

Usage

_ : probe_peak_db(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_peak_db_test = db.probe_peak_db(2, 1, os.osc(220));

(db.)probe_peak_lin

Peak level probe (linear).

Usage

_ : probe_peak_lin(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_peak_lin_test = db.probe_peak_lin(3, 1, os.osc(220));

Dynamics Probes


(db.)probe_crest_db

Crest factor probe (peak/rms ratio in dB).

Usage

_ : probe_crest_db(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_crest_db_test = db.probe_crest_db(4, 1, os.osc(220));

(db.)probe_env

Envelope follower probe (attack/release).

Usage

_ : probe_env(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_env_test = db.probe_env(5, 1, os.osc(220));

(db.)probe_min

Minimum-hold probe (inverted peak envelope).

Usage

_ : probe_min(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_min_test = db.probe_min(6, 1, os.osc(220));

(db.)probe_max

Maximum-hold probe (slow peak envelope).

Usage

_ : probe_max(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_max_test = db.probe_max(7, 1, os.osc(220));

Signal Quality Probes


(db.)probe_dc

DC offset probe (very lowpass).

Usage

_ : probe_dc(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_dc_test = db.probe_dc(8, 1, os.osc(220));

(db.)probe_slew

Slew rate probe (RMS of signal derivative).

Usage

_ : probe_slew(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_slew_test = db.probe_slew(9, 1, os.osc(220));

(db.)probe_zcr

Zero-crossing rate probe (lowpassed).

Usage

_ : probe_zcr(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_zcr_test = db.probe_zcr(10, 1, os.osc(220));

Control Signal Probes


(db.)probe_value

Raw value probe (no smoothing).

Usage

_ : probe_value(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_value_test = db.probe_value(11, 1, os.osc(220));

(db.)probe_bool

Boolean probe (gate/trigger state).

Usage

_ : probe_bool(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_bool_test = db.probe_bool(12, 1, os.osc(220) > 0);

Spectral Probes


(db.)probe_band_lo

Low-band energy probe (<300 Hz).

Usage

_ : probe_band_lo(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_band_lo_test = db.probe_band_lo(13, 1, os.osc(220));

(db.)probe_band_mid

Mid-band energy probe (300 Hz - 3 kHz).

Usage

_ : probe_band_mid(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_band_mid_test = db.probe_band_mid(14, 1, os.osc(220));

(db.)probe_band_hi

High-band energy probe (>3 kHz).

Usage

_ : probe_band_hi(ID, HIDE) : _

Where:

  • ID: (CNE) probe id integer used in [probe:ID]
  • HIDE: (CNE) 0 to show, 1 to hide in UI

Test

db = library("debug.lib");
os = library("oscillators.lib");
probe_band_hi_test = db.probe_band_hi(15, 1, os.osc(220));