ZAF Actuator Module#

Modules#

actuator

Enumerations#

enum
EACTUATOR_NOT_CHANGING
EACTUATOR_CHANGING
EACTUATOR_FAILED
}

Return type for Actuator functions that can trigger changes that require some time to be done.

Typedefs#

typedef void(*
zaf_actuator_callback_t)(struct actuator *pActuator)
typedef struct actuator

The structure of Actuator module.

typedef enum _eActuatorState

Return type for Actuator functions that can trigger changes that require some time to be done.

Functions#

void
ZAF_Actuator_Init(s_Actuator *pActuator, uint8_t minValue, uint8_t maxValue, uint16_t refreshRate, uint8_t durationDefault, zaf_actuator_callback_t cc_callback)

Initializes Actuator module.

ZAF_Actuator_Set(s_Actuator *pActuator, uint8_t value, uint8_t duration)

Sets target value to value in actuator pointed by pActuator, during duration period.

ZAF_Actuator_StartChange(s_Actuator *pActuator, bool ignoreStartLevel, bool upDown, uint8_t startLevel, uint8_t duration)

Starts the change on actuator pointed by pActuator.

ZAF_Actuator_StopChange(s_Actuator *pActuator)

Stops ongoing change on actuator pointed by pActuator.

uint8_t
ZAF_Actuator_GetCurrentValue(s_Actuator *pActuator)

Returns current value.

uint8_t
ZAF_Actuator_GetTargetValue(s_Actuator *pActuator)

Returns target value.

uint8_t
ZAF_Actuator_GetDurationRemaining(s_Actuator *pActuator)

Returns estimated time until target value is reached.

uint8_t
ZAF_Actuator_GetLastOnValue(s_Actuator *pActuator)

Gets last ON value.

uint32_t
getDurationInMs(uint8_t duration)

Converts coded duration into milliseconds format, refer to CC:0000.00.00.11.015.

uint8_t
ZAF_Actuator_GetMax(s_Actuator *pActuator)

Returns value defined as maximum for pActuator.

Enumeration Documentation#

_eActuatorState#

_eActuatorState

Return type for Actuator functions that can trigger changes that require some time to be done.

Enumerator
EACTUATOR_NOT_CHANGING

EACTUATOR_NOT_CHANGING - Already in final state.

EACTUATOR_CHANGING

EACTUATOR_CHANGING - Not in final state.

EACTUATOR_FAILED

EACTUATOR_FAILED - Requested change rejected.


Typedef Documentation#

zaf_actuator_callback_t#

typedef void(* zaf_actuator_callback_t) (struct actuator *pActuator) )(struct actuator *pActuator)

s_Actuator#

typedef struct actuator s_Actuator

The structure of Actuator module.


eActuatorState#

typedef enum _eActuatorState eActuatorState

Return type for Actuator functions that can trigger changes that require some time to be done.


Function Documentation#

ZAF_Actuator_Init#

void ZAF_Actuator_Init (s_Actuator * pActuator, uint8_t minValue, uint8_t maxValue, uint16_t refreshRate, uint8_t durationDefault, zaf_actuator_callback_t cc_callback)

Initializes Actuator module.

Parameters
TypeDirectionArgument NameDescription
s_Actuator *N/ApActuator

Pointer to Actuator to be initialized

uint8_tN/AminValue

Minimum possible value

uint8_tN/AmaxValue

Maximum possible value

uint16_tN/ArefreshRate

Minimal refresh rate in milliseconds. Tells how often the application should refresh it's state during timed changes. Actuator might adjust it to higher value, when number of steps between current and target value is low.

uint8_tN/AdurationDefault

Factory default duration

zaf_actuator_callback_tN/Acc_callback

Pointer to function in 'user' command class


ZAF_Actuator_Set#

eActuatorState ZAF_Actuator_Set (s_Actuator * pActuator, uint8_t value, uint8_t duration)

Sets target value to value in actuator pointed by pActuator, during duration period.

Parameters
TypeDirectionArgument NameDescription
s_Actuator *[inout]pActuator

Pointer to Actuator that will be set to new value

uint8_t[in]value

New target value

uint8_t[in]duration

Time period that change should take. Actual time spent depends on number of steps between current and target value and refreshRate. Requested and actual time may differ slightly.

Returns

  • EACTUATOR_NOT_CHANGING if already on target value EACTUATOR_CHANGING if the change has successfully started EACTUATOR_FAILED if request was invalid


ZAF_Actuator_StartChange#

eActuatorState ZAF_Actuator_StartChange (s_Actuator * pActuator, bool ignoreStartLevel, bool upDown, uint8_t startLevel, uint8_t duration)

Starts the change on actuator pointed by pActuator.

Parameters
TypeDirectionArgument NameDescription
s_Actuator *[inout]pActuator

Pointer to object whose value will be updated

bool[in]ignoreStartLevel

Should startLevel be ignored. If yes, change starts from current level.

bool[in]upDown

Direction of change. FALSE for UP, TRUE for DOWN.

uint8_t[in]startLevel

If not ignored, color will be first set to this level and then change will start

uint8_t[in]duration

Time period that change should take. Actual time spent depends on number of steps between current and target value and refreshRate. Requested and actual time may differ slightly.

Returns

  • EACTUATOR_NOT_CHANGING if already on target value EACTUATOR_CHANGING if the change has successfully started


ZAF_Actuator_StopChange#

eActuatorState ZAF_Actuator_StopChange (s_Actuator * pActuator)

Stops ongoing change on actuator pointed by pActuator.

Parameters
TypeDirectionArgument NameDescription
s_Actuator *N/ApActuator

Pointer to object whose change should be stopped

Returns

  • EACTUATOR_CHANGING if there was an ongoing change that was stopped, or else EACTUATOR_NOT_CHANGING


ZAF_Actuator_GetCurrentValue#

uint8_t ZAF_Actuator_GetCurrentValue (s_Actuator * pActuator)

Returns current value.

Parameters
TypeDirectionArgument NameDescription
s_Actuator *N/ApActuator

Pointer to Actuator struct for which current value was requested

Returns

  • Current value


ZAF_Actuator_GetTargetValue#

uint8_t ZAF_Actuator_GetTargetValue (s_Actuator * pActuator)

Returns target value.

Parameters
TypeDirectionArgument NameDescription
s_Actuator *N/ApActuator

Pointer to Actuator struct for which target value was requested

Returns

  • Target value


ZAF_Actuator_GetDurationRemaining#

uint8_t ZAF_Actuator_GetDurationRemaining (s_Actuator * pActuator)

Returns estimated time until target value is reached.

Parameters
TypeDirectionArgument NameDescription
s_Actuator *N/ApActuator

Pointer to Actuator struct for which remaining duration was requested

Returns

  • Remaining duration in format described by requirement CC:0000.00.00.11.015 or 0 if already at target value


ZAF_Actuator_GetLastOnValue#

uint8_t ZAF_Actuator_GetLastOnValue (s_Actuator * pActuator)

Gets last ON value.

Parameters
TypeDirectionArgument NameDescription
s_Actuator *N/ApActuator

Pointer to Actuator struct for which last On value was requested

If lastOnValue was never set, it returns zero. Then the caller has to use default ON value. Returns

  • lastOnValue


getDurationInMs#

uint32_t getDurationInMs (uint8_t duration)

Converts coded duration into milliseconds format, refer to CC:0000.00.00.11.015.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aduration

Coded duration

Returns

  • duration in milliseconds


ZAF_Actuator_GetMax#

uint8_t ZAF_Actuator_GetMax (s_Actuator * pActuator)

Returns value defined as maximum for pActuator.

Parameters
TypeDirectionArgument NameDescription
s_Actuator *N/ApActuator

Pointer to actuator

Returns

  • Value of max