MultilevelSwitch#

Modules#

cc_multilevel_switch_t

Enumerations#

enum
CCMLS_PRIMARY_SWITCH_UP
CCMLS_PRIMARY_SWITCH_DOWN
CCMLS_PRIMARY_SWITCH_RESERVED
CCMLS_PRIMARY_SWITCH_NO_UP_DOWN_MOTION
}

Enumeration for "Start Level Change" command.

enum
CCMLS_IGNORE_START_LEVEL_FALSE
CCMLS_IGNORE_START_LEVEL_TRUE
}

Enumeration for "Start Level Change" command.

enum
CCMLS_SECONDARY_SWITCH_INCREMENT
CCMLS_SECONDARY_SWITCH_DECREMENT
CCMLS_SECONDARY_SWITCH_RESERVED
CCMLS_SECONDARY_SWITCH_NO_INC_DEC
}

Enumeration for "Start Level Change" command.

enum
CC_MULTILEVEL_SWITCH_EVENT_START_LEVEL_CHANGE
CC_MULTILEVEL_SWITCH_EVENT_STOP_LEVEL_CHANGE
CC_MULTILEVEL_SWITCH_EVENT_REACHED_FINAL_VALUE
}

Typedefs#

typedef void(*
cc_multilevel_switch_callback_t)(struct cc_multilevel_switch_t *p_switch)

Functions#

CmdClassMultilevelSwitchStartLevelChange(AGI_PROFILE *pProfile, uint8_t sourceEndpoint, void(*pCbFunc)(TRANSMISSION_RESULT *pTransmissionResult), CCMLS_PRIMARY_SWITCH_T primarySwitch, CCMLS_IGNORE_START_LEVEL_T fIgnoreStartLevel, CCMLS_SECONDARY_SWITCH_T secondarySwitch, uint8_t primarySwitchStartLevel, uint8_t duration, uint8_t secondarySwitchStepSize)

Initiates the transmission of a "Multilevel Switch Start Level Change" command.

CmdClassMultilevelSwitchStopLevelChange(AGI_PROFILE *pProfile, uint8_t sourceEndpoint, void(*pCbFunc)(TRANSMISSION_RESULT *pTransmissionResult))

Initiates the transmission of a "Multilevel Switch Stop Level Change" command.

CmdClassMultilevelSwitchSetTransmit(AGI_PROFILE *pProfile, uint8_t sourceEndpoint, void(*pCbFunc)(TRANSMISSION_RESULT *pTransmissionResult), uint8_t value, uint8_t duration)

Initiates the transmission of a "Multilevel Switch Set" command.

void
cc_multilevel_switch_set(cc_multilevel_switch_t *p_switch, uint8_t value, uint8_t duration)

Sets the value of a given multilevel switch.

void
cc_multilevel_switch_start_level_change(cc_multilevel_switch_t *p_switch, bool up, bool ignore_start_level, uint8_t start_level, uint8_t duration)

Starts changing the value of a given multilevel switch.

void
cc_multilevel_switch_set_level(cc_multilevel_switch_t *p_switch, uint8_t level, uint8_t duration)

Sets the level of a given multilevel switch.

void
cc_multilevel_switch_stop_level_change(cc_multilevel_switch_t *p_switch)

Stops an ongoing change of a given multilevel switch.

uint8_t
cc_multilevel_switch_get_current_value(cc_multilevel_switch_t *p_switch)

Returns the current value of a given multilevel switch.

uint8_t
cc_multilevel_switch_get_last_on_value(cc_multilevel_switch_t *p_switch)

Returns the last on-value of a given multilevel switch.

uint8_t

Returns the min value of all multilevel switches.

uint8_t

Returns the max value of all multilevel switches.

void
cc_multilevel_switch_support_cb(struct cc_multilevel_switch_t *p_switch)
bool
cc_multilevel_switch_write(uint8_t multilevel_component_id, cc_multilevel_switch_t *multilevel_switch)
bool
cc_multilevel_switch_read(uint8_t multilevel_component_id, cc_multilevel_switch_t *multilevel_switch)

Enumeration Documentation#

CCMLS_PRIMARY_SWITCH_T#

CCMLS_PRIMARY_SWITCH_T

Enumeration for "Start Level Change" command.

Enumerator
CCMLS_PRIMARY_SWITCH_UP

CCMLS_PRIMARY_SWITCH_UP.

CCMLS_PRIMARY_SWITCH_DOWN

CCMLS_PRIMARY_SWITCH_DOWN.

CCMLS_PRIMARY_SWITCH_RESERVED

CCMLS_PRIMARY_SWITCH_RESERVED.

CCMLS_PRIMARY_SWITCH_NO_UP_DOWN_MOTION

CCMLS_PRIMARY_SWITCH_NO_UP_DOWN_MOTION.


CCMLS_IGNORE_START_LEVEL_T#

CCMLS_IGNORE_START_LEVEL_T

Enumeration for "Start Level Change" command.

Enumerator
CCMLS_IGNORE_START_LEVEL_FALSE

CCMLS_IGNORE_START_LEVEL_FALSE.

CCMLS_IGNORE_START_LEVEL_TRUE

CCMLS_IGNORE_START_LEVEL_TRUE.


CCMLS_SECONDARY_SWITCH_T#

CCMLS_SECONDARY_SWITCH_T

Enumeration for "Start Level Change" command.

Enumerator
CCMLS_SECONDARY_SWITCH_INCREMENT

CCMLS_SECONDARY_SWITCH_INCREMENT.

CCMLS_SECONDARY_SWITCH_DECREMENT

CCMLS_SECONDARY_SWITCH_DECREMENT.

CCMLS_SECONDARY_SWITCH_RESERVED

CCMLS_SECONDARY_SWITCH_RESERVED.

CCMLS_SECONDARY_SWITCH_NO_INC_DEC

CCMLS_SECONDARY_SWITCH_NO_INC_DEC.


cc_multilevel_switch_event_t#

cc_multilevel_switch_event_t
Enumerator
CC_MULTILEVEL_SWITCH_EVENT_START_LEVEL_CHANGE

The switch pointed to by the event data has started changing level.

CC_MULTILEVEL_SWITCH_EVENT_STOP_LEVEL_CHANGE

The switch pointed to by the event data has stopped changing level.

CC_MULTILEVEL_SWITCH_EVENT_REACHED_FINAL_VALUE

The switch pointed to by the event data has reached its final value.


Typedef Documentation#

cc_multilevel_switch_t#

typedef struct cc_multilevel_switch_t cc_multilevel_switch_t

cc_multilevel_switch_event_t#

typedef enum cc_multilevel_switch_event_t cc_multilevel_switch_event_t

cc_multilevel_switch_callback_t#

typedef void(* cc_multilevel_switch_callback_t) (struct cc_multilevel_switch_t *p_switch) )(struct cc_multilevel_switch_t *p_switch)

Function Documentation#

CmdClassMultilevelSwitchStartLevelChange#

JOB_STATUS CmdClassMultilevelSwitchStartLevelChange (AGI_PROFILE * pProfile, uint8_t sourceEndpoint, void(*)(TRANSMISSION_RESULT *pTransmissionResult) pCbFunc, CCMLS_PRIMARY_SWITCH_T primarySwitch, CCMLS_IGNORE_START_LEVEL_T fIgnoreStartLevel, CCMLS_SECONDARY_SWITCH_T secondarySwitch, uint8_t primarySwitchStartLevel, uint8_t duration, uint8_t secondarySwitchStepSize)

Initiates the transmission of a "Multilevel Switch Start Level Change" command.

Parameters
TypeDirectionArgument NameDescription
AGI_PROFILE *[in]pProfile

pointer to AGI profile or NULL for lifeline

uint8_t[in]sourceEndpoint

source endpoint

void(*)(TRANSMISSION_RESULT *pTransmissionResult)[out]pCbFunc

Callback function to be called when transmission is done/failed.

CCMLS_PRIMARY_SWITCH_T[in]primarySwitch

Controls the primary device functionality.

CCMLS_IGNORE_START_LEVEL_T[in]fIgnoreStartLevel

Ignore start level.

CCMLS_SECONDARY_SWITCH_T[in]secondarySwitch

Controls the secondary device functionality.

uint8_t[in]primarySwitchStartLevel

Start level for the primary device functionality.

uint8_t[in]duration

The duration from lowest to highest value.

uint8_t[in]secondarySwitchStepSize

Step size for secondary device functionality.

Returns

  • Status of the job.


CmdClassMultilevelSwitchStopLevelChange#

JOB_STATUS CmdClassMultilevelSwitchStopLevelChange (AGI_PROFILE * pProfile, uint8_t sourceEndpoint, void(*)(TRANSMISSION_RESULT *pTransmissionResult) pCbFunc)

Initiates the transmission of a "Multilevel Switch Stop Level Change" command.

Parameters
TypeDirectionArgument NameDescription
AGI_PROFILE *[in]pProfile

pointer to AGI profile

uint8_t[in]sourceEndpoint

source endpoint

void(*)(TRANSMISSION_RESULT *pTransmissionResult)[out]pCbFunc

Callback function to be called when transmission is done/failed.

Returns

  • Status of the job.


CmdClassMultilevelSwitchSetTransmit#

JOB_STATUS CmdClassMultilevelSwitchSetTransmit (AGI_PROFILE * pProfile, uint8_t sourceEndpoint, void(*)(TRANSMISSION_RESULT *pTransmissionResult) pCbFunc, uint8_t value, uint8_t duration)

Initiates the transmission of a "Multilevel Switch Set" command.

Parameters
TypeDirectionArgument NameDescription
AGI_PROFILE *[in]pProfile

pointer to AGI profile

uint8_t[in]sourceEndpoint

source endpoint

void(*)(TRANSMISSION_RESULT *pTransmissionResult)[out]pCbFunc

Callback function to be called when transmission is done/failed.

uint8_t[in]value

Multilevel value.

uint8_t[in]duration

The duration from current value to the new given value.

Returns

  • Status of the job.


cc_multilevel_switch_set#

void cc_multilevel_switch_set (cc_multilevel_switch_t * p_switch, uint8_t value, uint8_t duration)

Sets the value of a given multilevel switch.

Parameters
TypeDirectionArgument NameDescription
cc_multilevel_switch_t *N/Ap_switch

The switch of which the value is set.

uint8_tN/Avalue

The value to set.

uint8_tN/Aduration

The time it takes to reach the value.

This function can be used in an application that might have a button.

Must be used for local actuation only.


cc_multilevel_switch_start_level_change#

void cc_multilevel_switch_start_level_change (cc_multilevel_switch_t * p_switch, bool up, bool ignore_start_level, uint8_t start_level, uint8_t duration)

Starts changing the value of a given multilevel switch.

Parameters
TypeDirectionArgument NameDescription
cc_multilevel_switch_t *N/Ap_switch

The multilevel switch of which the value is changed.

boolN/Aup

The direction of the change. If true the value will decrease. If false, the value will increase.

boolN/Aignore_start_level

Decides whether the start level is ignored or not. If set to true, the change will start from the current value. If set to false, the value will start it's change from the given start level.

uint8_tN/Astart_level

The value to start from if ignore_start_level is set to false.

uint8_tN/Aduration

The duration of the change.

Must be used for local actuation only.


cc_multilevel_switch_set_level#

void cc_multilevel_switch_set_level (cc_multilevel_switch_t * p_switch, uint8_t level, uint8_t duration)

Sets the level of a given multilevel switch.

Parameters
TypeDirectionArgument NameDescription
cc_multilevel_switch_t *N/Ap_switch

The multilevel switch of which the level will be set.

uint8_tN/Alevel

The level to set. (8 bit value)

uint8_tN/Aduration

The time it takes to reach the level in seconds.


cc_multilevel_switch_stop_level_change#

void cc_multilevel_switch_stop_level_change (cc_multilevel_switch_t * p_switch)

Stops an ongoing change of a given multilevel switch.

Parameters
TypeDirectionArgument NameDescription
cc_multilevel_switch_t *N/Ap_switch

The multilevel switch of which the change will be stopped.

If no change is ongoing, nothing happens.

Must be used for local actuation only.


cc_multilevel_switch_get_current_value#

uint8_t cc_multilevel_switch_get_current_value (cc_multilevel_switch_t * p_switch)

Returns the current value of a given multilevel switch.

Parameters
TypeDirectionArgument NameDescription
cc_multilevel_switch_t *N/Ap_switch

The multilevel switch of which the value is returned.

Must be used for local actuation only. Returns

  • Current value of the given multilevel switch.


cc_multilevel_switch_get_last_on_value#

uint8_t cc_multilevel_switch_get_last_on_value (cc_multilevel_switch_t * p_switch)

Returns the last on-value of a given multilevel switch.

Parameters
TypeDirectionArgument NameDescription
cc_multilevel_switch_t *N/Ap_switch

The multilevel switch of which the last on-value is returned.

Must be used for local actuation only. Returns

  • Last on value of the given multilevel switch.


cc_multilevel_switch_get_min_value#

uint8_t cc_multilevel_switch_get_min_value (void )

Returns the min value of all multilevel switches.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns

  • uint8_t Min value of all multilevel switches.


cc_multilevel_switch_get_max_value#

uint8_t cc_multilevel_switch_get_max_value (void )

Returns the max value of all multilevel switches.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns

  • uint8_t Max value of all multilevel switches.


cc_multilevel_switch_support_cb#

void cc_multilevel_switch_support_cb (struct cc_multilevel_switch_t * p_switch)
Parameters
TypeDirectionArgument NameDescription
struct cc_multilevel_switch_t *N/Ap_switch

cc_multilevel_switch_support_config_get_switches#

cc_multilevel_switch_t * cc_multilevel_switch_support_config_get_switches (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

cc_multilevel_switch_support_config_get_length_switches#

uint8_t cc_multilevel_switch_support_config_get_length_switches (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

cc_multilevel_switch_support_config_get_default_duration#

uint8_t cc_multilevel_switch_support_config_get_default_duration (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

cc_multilevel_switch_write#

bool cc_multilevel_switch_write (uint8_t multilevel_component_id, cc_multilevel_switch_t * multilevel_switch)
Parameters
TypeDirectionArgument NameDescription
uint8_tN/Amultilevel_component_id
cc_multilevel_switch_t *N/Amultilevel_switch

cc_multilevel_switch_read#

bool cc_multilevel_switch_read (uint8_t multilevel_component_id, cc_multilevel_switch_t * multilevel_switch)
Parameters
TypeDirectionArgument NameDescription
uint8_tN/Amultilevel_component_id
cc_multilevel_switch_t *N/Amultilevel_switch