Skip to content

OcaFilterFIR#

This document describes the controller implementation of OcaFilterFIR. This class is documented in the AES70 standard as:

Finite impulse response (FIR) filter.


Overview#

Class Declaration#

namespace aes70::controller
{
  class OcaFilterFIR : public OcaActuator
  {
  public:
    OcaFilterFIR(std::shared_ptr<connection> connection,
            uin32_t object_number);
    OcaFilterFIR(const OcaFilterFIR &o);

    // Control Methods
    // Calls GetLength and calls on_result or on_failure
    void GetLength(auto on_result, failure_callback on_failure);
    // Calls GetCoefficients and calls on_result or on_failure
    void GetCoefficients(auto on_result, failure_callback on_failure);
    // Calls SetCoefficients and calls on_result or on_failure
    void SetCoefficients(OcaList<OcaFloat32> Coefficients, auto on_result, failure_callback on_failure);
    // Calls SetCoefficients and does not wait for the response
    void SetCoefficients(OcaList<OcaFloat32> Coefficients);
    // Calls GetSampleRate and calls on_result or on_failure
    void GetSampleRate(auto on_result, failure_callback on_failure);
    // Calls SetSampleRate and calls on_result or on_failure
    void SetSampleRate(OcaFrequency Rate, auto on_result, failure_callback on_failure);
    // Calls SetSampleRate and does not wait for the response
    void SetSampleRate(OcaFrequency Rate);

    // Observing Properties
    subscription observeLength(auto callback, failure_callback on_failure);
    subscription observeCoefficients(auto callback, failure_callback on_failure);
    subscription observeSampleRate(auto callback, failure_callback on_failure);

    // Property Changed Subscriptions
    subscription OnLengthChanged(auto callback, failure_callback on_failure);
    subscription OnCoefficientsChanged(auto callback, failure_callback on_failure);
    subscription OnSampleRateChanged(auto callback, failure_callback on_failure);
  };
}

Methods#

GetLength#

void GetLength(auto on_result, failure_callback on_failure)

Calls the method GetLength in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaUint32 Length
    • OcaUint32 minLength
    • OcaUint32 maxLength
  • failure_callback on_failure: A callback which is called on error.

GetCoefficients#

void GetCoefficients(auto on_result, failure_callback on_failure)

Calls the method GetCoefficients in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaList<OcaFloat32> Coefficients
  • failure_callback on_failure: A callback which is called on error.

SetCoefficients#

void SetCoefficients(OcaList<OcaFloat32> Coefficients, auto on_result, failure_callback on_failure)

Calls the method SetCoefficients in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaList<OcaFloat32> Coefficients
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetSampleRate#

void GetSampleRate(auto on_result, failure_callback on_failure)

Calls the method GetSampleRate in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaFrequency Rate
    • OcaFrequency minRate
    • OcaFrequency maxRate
  • failure_callback on_failure: A callback which is called on error.

SetSampleRate#

void SetSampleRate(OcaFrequency Rate, auto on_result, failure_callback on_failure)

Calls the method SetSampleRate in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaFrequency Rate
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

observeLength#

subscription observeLength(auto callback, failure_callback on_failure)

Fetches the remote property Length and subscribes for modifications. The callback is called with the initial values of Length and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaUint32 Length
  • failure_callback on_failure: A callback which is called on error.

observeCoefficients#

subscription observeCoefficients(auto callback, failure_callback on_failure)

Fetches the remote property Coefficients and subscribes for modifications. The callback is called with the initial values of Coefficients and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaList<OcaFloat32> Coefficients
  • failure_callback on_failure: A callback which is called on error.

observeSampleRate#

subscription observeSampleRate(auto callback, failure_callback on_failure)

Fetches the remote property SampleRate and subscribes for modifications. The callback is called with the initial values of SampleRate and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaFrequency SampleRate
  • failure_callback on_failure: A callback which is called on error.

OnLengthChanged#

subscription OnLengthChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaUint32 Length
  • failure_callback on_failure: A callback which is called on error.

OnCoefficientsChanged#

subscription OnCoefficientsChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaList<OcaFloat32> Coefficients
  • failure_callback on_failure: A callback which is called on error.

OnSampleRateChanged#

subscription OnSampleRateChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaFrequency SampleRate
  • failure_callback on_failure: A callback which is called on error.