Trident IoT Z-Wave SDK
 
Loading...
Searching...
No Matches
ZAF Actuator Module
+ Collaboration diagram for ZAF Actuator Module:

Data Structures

struct  actuator
 

Typedefs

typedef void(* zaf_actuator_callback_t) (struct actuator *pActuator)
 
typedef struct actuator s_Actuator
 
typedef enum _eActuatorState eActuatorState
 

Enumerations

enum  _eActuatorState {
  EACTUATOR_NOT_CHANGING ,
  EACTUATOR_CHANGING ,
  EACTUATOR_FAILED
}
 

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)
 
eActuatorState ZAF_Actuator_Set (s_Actuator *pActuator, uint8_t value, uint8_t duration)
 
eActuatorState ZAF_Actuator_StartChange (s_Actuator *pActuator, bool ignoreStartLevel, bool upDown, uint8_t startLevel, uint8_t duration)
 
eActuatorState ZAF_Actuator_StopChange (s_Actuator *pActuator)
 
uint8_t ZAF_Actuator_GetCurrentValue (s_Actuator *pActuator)
 
uint8_t ZAF_Actuator_GetTargetValue (s_Actuator *pActuator)
 
uint8_t ZAF_Actuator_GetDurationRemaining (s_Actuator *pActuator)
 
uint8_t ZAF_Actuator_GetLastOnValue (s_Actuator *pActuator)
 
uint32_t getDurationInMs (uint8_t duration)
 
uint8_t ZAF_Actuator_GetMax (s_Actuator *pActuator)
 

Detailed Description

Typedef Documentation

◆ eActuatorState

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

◆ s_Actuator

typedef struct actuator s_Actuator

The structure of Actuator module

◆ zaf_actuator_callback_t

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

Enumeration Type Documentation

◆ _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.

Function Documentation

◆ getDurationInMs()

uint32_t getDurationInMs ( uint8_t duration)

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

Parameters
durationCoded duration
Returns
duration in milliseconds

◆ ZAF_Actuator_GetCurrentValue()

uint8_t ZAF_Actuator_GetCurrentValue ( s_Actuator * pActuator)

Returns current value.

Parameters
pActuatorPointer to Actuator struct for which current value was requested
Returns
Current value

◆ ZAF_Actuator_GetDurationRemaining()

uint8_t ZAF_Actuator_GetDurationRemaining ( s_Actuator * pActuator)

Returns estimated time until target value is reached

Parameters
pActuatorPointer 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. If lastOnValue was never set, it returns zero. Then the caller has to use default ON value.

Parameters
pActuatorPointer to Actuator struct for which last On value was requested
Returns
lastOnValue

◆ ZAF_Actuator_GetMax()

uint8_t ZAF_Actuator_GetMax ( s_Actuator * pActuator)

Returns value defined as maximum for pActuator

Parameters
pActuatorPointer to actuator
Returns
Value of max

◆ ZAF_Actuator_GetTargetValue()

uint8_t ZAF_Actuator_GetTargetValue ( s_Actuator * pActuator)

Returns target value.

Parameters
pActuatorPointer to Actuator struct for which target value was requested
Returns
Target value

◆ 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
pActuatorPointer to Actuator to be initialized
minValueMinimum possible value
maxValueMaximum possible value
refreshRateMinimal 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.
durationDefaultFactory default duration
cc_callbackPointer 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
[in,out]pActuatorPointer to Actuator that will be set to new value
[in]valueNew target value
[in]durationTime 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
[in,out]pActuatorPointer to object whose value will be updated
[in]ignoreStartLevelShould startLevel be ignored. If yes, change starts from current level.
[in]upDownDirection of change. FALSE for UP, TRUE for DOWN.
[in]startLevelIf not ignored, color will be first set to this level and then change will start
[in]durationTime 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
pActuatorPointer to object whose change should be stopped
Returns
EACTUATOR_CHANGING if there was an ongoing change that was stopped, or else EACTUATOR_NOT_CHANGING