Skip to Content
Lumensalis CircuitPython framework coming soon 🎉

LumensalisCP.Temporal.Oscillator

Module Contents

Classes

Oscillator_summary_
Provides an input which changes over time in a repeating pattern
Sawtooth

API

class LumensalisCP.Temporal.Oscillator.Oscillator(name: str = None, frequency: LumensalisCP.IOContext.Hertz | LumensalisCP.IOContext.Evaluatable = None, period: LumensalisCP.IOContext.TimeInSeconds | LumensalisCP.IOContext.Evaluatable | None = None, low: float | LumensalisCP.IOContext.Evaluatable = 0.0, high: float | LumensalisCP.IOContext.Evaluatable = 1.0, **kwds)

Bases: LumensalisCP.IOContext.InputSource

_summary_ Provides an input which changes over time in a repeating pattern

Initialization

frequency : LumensalisCP.IOContext.Hertz | LumensalisCP.IOContext.Evaluatable = None

low : float | LumensalisCP.IOContext.Evaluatable = None

high : float | LumensalisCP.IOContext.Evaluatable = None

property period : float | LumensalisCP.IOContext.Evaluatable

__recalc(context: LumensalisCP.IOContext.EvaluationContext)

move self._lastFz21 from 0.0 to 1.0 (exclusive) at frequency

This uses a time delta instead of simply divmod( when, frequency )[1] to keep the “signal” consistent when the frequency changes

getDerivedValue(context: LumensalisCP.IOContext.UpdateContext)

class LumensalisCP.Temporal.Oscillator.Sawtooth(name: str = None, frequency: LumensalisCP.IOContext.Hertz | LumensalisCP.IOContext.Evaluatable = None, period: LumensalisCP.IOContext.TimeInSeconds | LumensalisCP.IOContext.Evaluatable | None = None, low: float | LumensalisCP.IOContext.Evaluatable = 0.0, high: float | LumensalisCP.IOContext.Evaluatable = 1.0, **kwds)

Bases: LumensalisCP.Temporal.Oscillator.Oscillator