Skip to main content

Module config

Module config 

Source
Expand description

YAML-based validation configuration.

This module defines the configuration schema for validation test suites. Configuration can be loaded from YAML files or constructed programmatically.

§Configuration Structure

global:
  sample_rate: 96000
  oversample: 4
  fft_size: 65536

suites:
  linear:
    description: "Linear circuit tests"
    tests:
      rc_lowpass:
        circuit: "linear/rc_lowpass.pedal"
        description: "RC lowpass filter"
        signals:
          - type: impulse
            amplitude: 1.0
          - type: sine
            frequency: 1000.0
            duration: 0.1
        pass_criteria:
          normalized_rms_error_db: -60.0
          peak_error_db: -40.0

§Programmatic Usage

use pedalkernel_validate::config::{ValidationConfig, PassCriteria};

// Load from file
// let config = ValidationConfig::load("validate.yaml").unwrap();

// Or use defaults
let config = ValidationConfig::default_config();

// Define custom pass criteria
let criteria = PassCriteria {
    normalized_rms_error_db: Some(-60.0),
    peak_error_db: Some(-40.0),
    thd_error_db: Some(1.0),
    ..Default::default()
};

Structs§

GlobalConfig
Global settings for all tests.
PassCriteria
Pass/fail criteria for a test.
TestCase
A single test case.
TestSuite
A test suite (e.g., “linear”, “nonlinear”, “fairchild”).
ValidationConfig
Root configuration structure.

Enums§

ConfigError
MetricConfig
Metric type configuration.
SignalConfig
Signal configuration.
ValidationProfile
Validation intent bucket for interpreting pass/fail thresholds.