Unosquare
    Show / Hide Table of Contents

    Class WaveBuilder

    Provides methods to build and render waveforms.

    Inheritance
    Object
    WaveBuilder
    Implements
    IDisposable
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: Unosquare.PiGpio.ManagedModel
    Syntax
    public sealed class WaveBuilder : IDisposable

    Properties

    IsPrepared

    Gets a value indicating whether this wave is prepared in the DMA registers.

    Declaration
    public bool IsPrepared { get; }
    Property Value
    Type Description
    Boolean

    Pulses

    Gets a read-only collection of pulses.

    Declaration
    public ReadOnlyCollection<GpioPulse> Pulses { get; }
    Property Value
    Type Description
    ReadOnlyCollection<GpioPulse>

    WaveId

    Gets the wave identifier. Returns a negative number if the wave has not been prepared.

    Declaration
    public int WaveId { get; }
    Property Value
    Type Description
    Int32

    Methods

    AddCarrierPulses(Double, Double, Double, GpioPin[])

    Adds carrier pulses to the wave (useful for stuff like Infrared pulses).

    Declaration
    public void AddCarrierPulses(double frequency, double durationMicroSecs, double dutyCycle, params GpioPin[] pins)
    Parameters
    Type Name Description
    Double frequency

    The frequency.

    Double durationMicroSecs

    The duration micro secs.

    Double dutyCycle

    The duty cycle.

    GpioPin[] pins

    The pins.

    AddCarrierPulses(Double, Double, Double, UserGpio[])

    Adds carrier pulses to the wave (useful for stuff like Infrared pulses).

    Declaration
    public void AddCarrierPulses(double frequency, double durationMicroSecs, double dutyCycle, params UserGpio[] pins)
    Parameters
    Type Name Description
    Double frequency

    The frequency.

    Double durationMicroSecs

    The duration micro secs.

    Double dutyCycle

    The duty cycle.

    UserGpio[] pins

    The pins.

    AddCarrierPulses(Double, Double, GpioPin[])

    Adds carrier pulses to the wave (useful for stuff like Infrared pulses).

    Declaration
    public void AddCarrierPulses(double frequency, double durationMicroSecs, params GpioPin[] pins)
    Parameters
    Type Name Description
    Double frequency

    The frequency.

    Double durationMicroSecs

    The duration micro secs.

    GpioPin[] pins

    The pins.

    AddCarrierPulses(Double, Double, UserGpio[])

    Adds carrier pulses to the wave (useful for stuff like Infrared pulses).

    Declaration
    public void AddCarrierPulses(double frequency, double durationMicroSecs, params UserGpio[] pins)
    Parameters
    Type Name Description
    Double frequency

    The frequency.

    Double durationMicroSecs

    The duration micro secs.

    UserGpio[] pins

    The pins.

    AddPulse(Boolean, Int32, GpioPin[])

    Adds a pulse.

    Declaration
    public void AddPulse(bool value, int durationMicroSecs, params GpioPin[] pins)
    Parameters
    Type Name Description
    Boolean value

    if set to true [value].

    Int32 durationMicroSecs

    The duration micro secs.

    GpioPin[] pins

    The pins.

    AddPulse(Boolean, Int32, UserGpio[])

    Adds a pulse.

    Declaration
    public void AddPulse(bool value, int durationMicroSecs, params UserGpio[] pins)
    Parameters
    Type Name Description
    Boolean value

    if set to true [value].

    Int32 durationMicroSecs

    The duration micro secs.

    UserGpio[] pins

    The pins.

    Exceptions
    Type Condition
    InvalidOperationException

    When the wave has been prepared.

    AddPulse(Int32, IEnumerable<GpioPin>, IEnumerable<GpioPin>)

    Adds a pulse.

    Declaration
    public void AddPulse(int durationMicroSecs, IEnumerable<GpioPin> onPins, IEnumerable<GpioPin> offPins)
    Parameters
    Type Name Description
    Int32 durationMicroSecs

    The duration micro secs.

    IEnumerable<GpioPin> onPins

    The on pins.

    IEnumerable<GpioPin> offPins

    The off pins.

    AddPulse(Int32, IEnumerable<UserGpio>, IEnumerable<UserGpio>)

    Adds a pulse.

    Declaration
    public void AddPulse(int durationMicroSecs, IEnumerable<UserGpio> onPins, IEnumerable<UserGpio> offPins)
    Parameters
    Type Name Description
    Int32 durationMicroSecs

    The duration micro secs.

    IEnumerable<UserGpio> onPins

    The on pins.

    IEnumerable<UserGpio> offPins

    The off pins.

    Exceptions
    Type Condition
    InvalidOperationException

    When the wave has been prepared.

    AddPulse(GpioPulse)

    Adds a pulse.

    Declaration
    public void AddPulse(GpioPulse pulse)
    Parameters
    Type Name Description
    GpioPulse pulse

    The pulse.

    Exceptions
    Type Condition
    InvalidOperationException

    When the wave has been prepared.

    ClearPulses()

    Clears all previously added pulses.

    Declaration
    public void ClearPulses()
    Exceptions
    Type Condition
    InvalidOperationException

    When the wave has been prepared.

    Dispose()

    Declaration
    public void Dispose()

    Prepare()

    Prepares the waveform to be rendered by DMA.

    Declaration
    public void Prepare()
    Exceptions
    Type Condition
    ObjectDisposedException

    When the wave has been disposed.

    Send(WaveMode)

    Begins rendering the waveform pulses. Do not forget to set the pin direction/mode as an output pin. The wave is automatically prepared if it has not been prepared before.

    Declaration
    public void Send(WaveMode mode)
    Parameters
    Type Name Description
    WaveMode mode

    The mode.

    Implements

    System.IDisposable

    Comments

    Back to top Copyright © 2017-2019 Unosquare