OcaRamper#
This document describes the controller implementation of OcaRamper. This class is documented in the AES70 standard as:
Agent that gradually changes a property setting from one value to another. Works on a scalar numeric or boolean property of a specified object. Does not work for array, list, map, struct, or string properties.
Contains timer features to allow ramps to start immediately or at any time in the future.
This is a weakly typed class. All ramping parameters are specified as a OcaFloat64 numbers.
For unsigned integer targets, the ramping parameters are coerced to OcaUint64 before comparing., For signed integer targets, the ramping parameters are coerced to OcaInt64 before comparing., For boolean values, the the ramping parameters are coerced to OcaUint8. True is assigned the value One, False is assigned the value Zero.
Overview#
- ClassID: 1.2.3
- Header:
aes70/controller/OcaRamper.hpp
- Namespace:
aes70::controller
- Inheritance: aes70::controller::OcaAgent, aes70::controller::OcaRoot, aes70::controller::object
Class Declaration#
namespace aes70::controller
{
class OcaRamper : public OcaAgent
{
public:
OcaRamper(std::shared_ptr<connection> connection,
uin32_t object_number);
OcaRamper(const OcaRamper &o);
// Control Methods
// Calls Control and calls on_result or on_failure
void Control(OcaRamperCommand Command, auto on_result, failure_callback on_failure);
// Calls Control and does not wait for the response
void Control(OcaRamperCommand Command);
// Calls GetState and calls on_result or on_failure
void GetState(auto on_result, failure_callback on_failure);
// Calls GetRampedProperty and calls on_result or on_failure
void GetRampedProperty(auto on_result, failure_callback on_failure);
// Calls SetRampedProperty and calls on_result or on_failure
void SetRampedProperty(OcaProperty property, auto on_result, failure_callback on_failure);
// Calls SetRampedProperty and does not wait for the response
void SetRampedProperty(OcaProperty property);
// Calls GetTimeMode and calls on_result or on_failure
void GetTimeMode(auto on_result, failure_callback on_failure);
// Calls SetTimeMode and calls on_result or on_failure
void SetTimeMode(OcaTimeMode TimeMode, auto on_result, failure_callback on_failure);
// Calls SetTimeMode and does not wait for the response
void SetTimeMode(OcaTimeMode TimeMode);
// Calls GetStartTime and calls on_result or on_failure
void GetStartTime(auto on_result, failure_callback on_failure);
// Calls SetStartTime and calls on_result or on_failure
void SetStartTime(OcaTimeNTP TimeMode, auto on_result, failure_callback on_failure);
// Calls SetStartTime and does not wait for the response
void SetStartTime(OcaTimeNTP TimeMode);
// Calls GetDuration and calls on_result or on_failure
void GetDuration(auto on_result, failure_callback on_failure);
// Calls SetDuration and calls on_result or on_failure
void SetDuration(OcaTimeInterval Duration, auto on_result, failure_callback on_failure);
// Calls SetDuration and does not wait for the response
void SetDuration(OcaTimeInterval Duration);
// Calls GetInterpolationLaw and calls on_result or on_failure
void GetInterpolationLaw(auto on_result, failure_callback on_failure);
// Calls SetInterpolationLaw and calls on_result or on_failure
void SetInterpolationLaw(OcaRamperInterpolationLaw law, auto on_result, failure_callback on_failure);
// Calls SetInterpolationLaw and does not wait for the response
void SetInterpolationLaw(OcaRamperInterpolationLaw law);
// Calls GetGoal and calls on_result or on_failure
void GetGoal(auto on_result, failure_callback on_failure);
// Calls SetGoal and calls on_result or on_failure
void SetGoal(OcaFloat64 goal, auto on_result, failure_callback on_failure);
// Calls SetGoal and does not wait for the response
void SetGoal(OcaFloat64 goal);
// Calls GetStartWhen and calls on_result or on_failure
void GetStartWhen(auto on_result, failure_callback on_failure);
// Calls SetStartWhen and calls on_result or on_failure
void SetStartWhen(OcaWhen When, auto on_result, failure_callback on_failure);
// Calls SetStartWhen and does not wait for the response
void SetStartWhen(OcaWhen When);
// Observing Properties
subscription observeState(auto callback, failure_callback on_failure);
subscription observeRampedProperty(auto callback, failure_callback on_failure);
subscription observeTimeMode(auto callback, failure_callback on_failure);
subscription observeStartTime(auto callback, failure_callback on_failure);
subscription observeDuration(auto callback, failure_callback on_failure);
subscription observeInterpolationLaw(auto callback, failure_callback on_failure);
subscription observeGoal(auto callback, failure_callback on_failure);
subscription observeStartWhen(auto callback, failure_callback on_failure);
// Property Changed Subscriptions
subscription OnStateChanged(auto callback, failure_callback on_failure);
subscription OnRampedPropertyChanged(auto callback, failure_callback on_failure);
subscription OnTimeModeChanged(auto callback, failure_callback on_failure);
subscription OnStartTimeChanged(auto callback, failure_callback on_failure);
subscription OnDurationChanged(auto callback, failure_callback on_failure);
subscription OnInterpolationLawChanged(auto callback, failure_callback on_failure);
subscription OnGoalChanged(auto callback, failure_callback on_failure);
subscription OnStartWhenChanged(auto callback, failure_callback on_failure);
};
}
Methods#
Control#
void Control(OcaRamperCommand Command, auto on_result, failure_callback on_failure)
Calls the method Control in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaRamperCommand Command
auto on_result
: A callable (e.g. a lambda) with 0 arguments.failure_callback on_failure
: A callback which is called on error.
GetState#
void GetState(auto on_result, failure_callback on_failure)
Calls the method GetState in the remote device.
Parameters:#
auto on_result
: A callable (e.g. a lambda) with the following arguments:OcaRamperState State
failure_callback on_failure
: A callback which is called on error.
GetRampedProperty#
void GetRampedProperty(auto on_result, failure_callback on_failure)
Calls the method GetRampedProperty in the remote device.
Parameters:#
auto on_result
: A callable (e.g. a lambda) with the following arguments:OcaProperty property
failure_callback on_failure
: A callback which is called on error.
SetRampedProperty#
void SetRampedProperty(OcaProperty property, auto on_result, failure_callback on_failure)
Calls the method SetRampedProperty in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaProperty property
auto on_result
: A callable (e.g. a lambda) with 0 arguments.failure_callback on_failure
: A callback which is called on error.
GetTimeMode#
void GetTimeMode(auto on_result, failure_callback on_failure)
Calls the method GetTimeMode in the remote device.
Parameters:#
auto on_result
: A callable (e.g. a lambda) with the following arguments:OcaTimeMode TimeMode
failure_callback on_failure
: A callback which is called on error.
SetTimeMode#
void SetTimeMode(OcaTimeMode TimeMode, auto on_result, failure_callback on_failure)
Calls the method SetTimeMode in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaTimeMode TimeMode
auto on_result
: A callable (e.g. a lambda) with 0 arguments.failure_callback on_failure
: A callback which is called on error.
GetStartTime#
void GetStartTime(auto on_result, failure_callback on_failure)
Calls the method GetStartTime in the remote device.
Parameters:#
auto on_result
: A callable (e.g. a lambda) with the following arguments:OcaTimeNTP StartTime
failure_callback on_failure
: A callback which is called on error.
SetStartTime#
void SetStartTime(OcaTimeNTP TimeMode, auto on_result, failure_callback on_failure)
Calls the method SetStartTime in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaTimeNTP TimeMode
auto on_result
: A callable (e.g. a lambda) with 0 arguments.failure_callback on_failure
: A callback which is called on error.
GetDuration#
void GetDuration(auto on_result, failure_callback on_failure)
Calls the method GetDuration in the remote device.
Parameters:#
auto on_result
: A callable (e.g. a lambda) with the following arguments:OcaTimeInterval Duration
OcaTimeInterval minDuration
OcaTimeInterval maxDuration
failure_callback on_failure
: A callback which is called on error.
SetDuration#
void SetDuration(OcaTimeInterval Duration, auto on_result, failure_callback on_failure)
Calls the method SetDuration in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaTimeInterval Duration
auto on_result
: A callable (e.g. a lambda) with 0 arguments.failure_callback on_failure
: A callback which is called on error.
GetInterpolationLaw#
void GetInterpolationLaw(auto on_result, failure_callback on_failure)
Calls the method GetInterpolationLaw in the remote device.
Parameters:#
auto on_result
: A callable (e.g. a lambda) with the following arguments:OcaRamperInterpolationLaw law
failure_callback on_failure
: A callback which is called on error.
SetInterpolationLaw#
void SetInterpolationLaw(OcaRamperInterpolationLaw law, auto on_result, failure_callback on_failure)
Calls the method SetInterpolationLaw in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaRamperInterpolationLaw law
auto on_result
: A callable (e.g. a lambda) with 0 arguments.failure_callback on_failure
: A callback which is called on error.
GetGoal#
void GetGoal(auto on_result, failure_callback on_failure)
Calls the method GetGoal in the remote device.
Parameters:#
auto on_result
: A callable (e.g. a lambda) with the following arguments:OcaFloat64 goal
failure_callback on_failure
: A callback which is called on error.
SetGoal#
void SetGoal(OcaFloat64 goal, auto on_result, failure_callback on_failure)
Calls the method SetGoal in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaFloat64 goal
auto on_result
: A callable (e.g. a lambda) with 0 arguments.failure_callback on_failure
: A callback which is called on error.
GetStartWhen#
void GetStartWhen(auto on_result, failure_callback on_failure)
Calls the method GetStartWhen in the remote device.
Parameters:#
auto on_result
: A callable (e.g. a lambda) with the following arguments:OcaWhen When
failure_callback on_failure
: A callback which is called on error.
SetStartWhen#
void SetStartWhen(OcaWhen When, auto on_result, failure_callback on_failure)
Calls the method SetStartWhen in the remote device. If no result and error callback is specified, the method will be called without requesting a response.
Parameters:#
OcaWhen When
auto on_result
: A callable (e.g. a lambda) with 0 arguments.failure_callback on_failure
: A callback which is called on error.
observeState#
subscription observeState(auto callback, failure_callback on_failure)
Fetches the remote property State and subscribes for modifications. The callback is called with the initial values of State and whenever it changes.
Parameters:#
auto callback
: A callable (e.g. a lambda) with one argument:OcaRamperState State
failure_callback on_failure
: A callback which is called on error.
observeRampedProperty#
subscription observeRampedProperty(auto callback, failure_callback on_failure)
Fetches the remote property RampedProperty and subscribes for modifications. The callback is called with the initial values of RampedProperty and whenever it changes.
Parameters:#
auto callback
: A callable (e.g. a lambda) with one argument:OcaProperty RampedProperty
failure_callback on_failure
: A callback which is called on error.
observeTimeMode#
subscription observeTimeMode(auto callback, failure_callback on_failure)
Fetches the remote property TimeMode and subscribes for modifications. The callback is called with the initial values of TimeMode and whenever it changes.
Parameters:#
auto callback
: A callable (e.g. a lambda) with one argument:OcaTimeMode TimeMode
failure_callback on_failure
: A callback which is called on error.
observeStartTime#
subscription observeStartTime(auto callback, failure_callback on_failure)
Fetches the remote property StartTime and subscribes for modifications. The callback is called with the initial values of StartTime and whenever it changes.
Parameters:#
auto callback
: A callable (e.g. a lambda) with one argument:OcaTimeNTP StartTime
failure_callback on_failure
: A callback which is called on error.
observeDuration#
subscription observeDuration(auto callback, failure_callback on_failure)
Fetches the remote property Duration and subscribes for modifications. The callback is called with the initial values of Duration and whenever it changes.
Parameters:#
auto callback
: A callable (e.g. a lambda) with one argument:OcaTimeInterval Duration
failure_callback on_failure
: A callback which is called on error.
observeInterpolationLaw#
subscription observeInterpolationLaw(auto callback, failure_callback on_failure)
Fetches the remote property InterpolationLaw and subscribes for modifications. The callback is called with the initial values of InterpolationLaw and whenever it changes.
Parameters:#
auto callback
: A callable (e.g. a lambda) with one argument:OcaRamperInterpolationLaw InterpolationLaw
failure_callback on_failure
: A callback which is called on error.
observeGoal#
subscription observeGoal(auto callback, failure_callback on_failure)
Fetches the remote property Goal and subscribes for modifications. The callback is called with the initial values of Goal and whenever it changes.
Parameters:#
auto callback
: A callable (e.g. a lambda) with one argument:OcaFloat64 Goal
failure_callback on_failure
: A callback which is called on error.
observeStartWhen#
subscription observeStartWhen(auto callback, failure_callback on_failure)
Fetches the remote property StartWhen and subscribes for modifications. The callback is called with the initial values of StartWhen and whenever it changes.
Parameters:#
auto callback
: A callable (e.g. a lambda) with one argument:OcaWhen StartWhen
failure_callback on_failure
: A callback which is called on error.
OnStateChanged#
subscription OnStateChanged(auto callback, failure_callback on_failure)
Parameters#
auto callback
: A callable (e.g. a lambda) with one argument:OcaRamperState State
failure_callback on_failure
: A callback which is called on error.
OnRampedPropertyChanged#
subscription OnRampedPropertyChanged(auto callback, failure_callback on_failure)
Parameters#
auto callback
: A callable (e.g. a lambda) with one argument:OcaProperty RampedProperty
failure_callback on_failure
: A callback which is called on error.
OnTimeModeChanged#
subscription OnTimeModeChanged(auto callback, failure_callback on_failure)
Parameters#
auto callback
: A callable (e.g. a lambda) with one argument:OcaTimeMode TimeMode
failure_callback on_failure
: A callback which is called on error.
OnStartTimeChanged#
subscription OnStartTimeChanged(auto callback, failure_callback on_failure)
Parameters#
auto callback
: A callable (e.g. a lambda) with one argument:OcaTimeNTP StartTime
failure_callback on_failure
: A callback which is called on error.
OnDurationChanged#
subscription OnDurationChanged(auto callback, failure_callback on_failure)
Parameters#
auto callback
: A callable (e.g. a lambda) with one argument:OcaTimeInterval Duration
failure_callback on_failure
: A callback which is called on error.
OnInterpolationLawChanged#
subscription OnInterpolationLawChanged(auto callback, failure_callback on_failure)
Parameters#
auto callback
: A callable (e.g. a lambda) with one argument:OcaRamperInterpolationLaw InterpolationLaw
failure_callback on_failure
: A callback which is called on error.
OnGoalChanged#
subscription OnGoalChanged(auto callback, failure_callback on_failure)
Parameters#
auto callback
: A callable (e.g. a lambda) with one argument:OcaFloat64 Goal
failure_callback on_failure
: A callback which is called on error.
OnStartWhenChanged#
subscription OnStartWhenChanged(auto callback, failure_callback on_failure)
Parameters#
auto callback
: A callable (e.g. a lambda) with one argument:OcaWhen StartWhen
failure_callback on_failure
: A callback which is called on error.