HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
Colour Control

This module contains the classes that define and implement the Colour Control interface API. More...

+ Collaboration diagram for Colour Control:

Data Structures

struct  HF::Interfaces::ColourControl::HS_Colour
 Helper class that supports the Hue and Saturation colour mode. More...
 
struct  HF::Interfaces::ColourControl::XY_Colour
 Helper class that supports the XY colour mode. More...
 
struct  HF::Interfaces::ColourControl::Supported
 Helper class to handle the Supported attribute for the Colour Control interface. More...
 
struct  HF::Interfaces::ColourControl::Mode
 Helper class to handle the Mode attribute for the Colour Control interface. More...
 
struct  HF::Interfaces::ColourControl::HueAndSaturation
 Helper class to handle the Hue And Saturation attribute for the Colour Control interface. More...
 
struct  HF::Interfaces::ColourControl::Xy
 Helper class to handle the XY attribute for the Colour Control interface. More...
 
struct  HF::Interfaces::ColourControl::ColourTemperature
 Helper class to handle the Colour Temperature attribute for the Colour Control interface. More...
 
struct  HF::Interfaces::ColourControl::MoveToHueMessage
 Move to Hue message class. More...
 
struct  HF::Interfaces::ColourControl::MoveHueMessage
 Move Hue Message class. More...
 
struct  HF::Interfaces::ColourControl::StepHueMessage
 Step Hue Message class. More...
 
struct  HF::Interfaces::ColourControl::MoveToSaturationMessage
 Move to Saturation Message class. More...
 
struct  HF::Interfaces::ColourControl::MoveSaturationMessage
 Move Saturation Message class. More...
 
struct  HF::Interfaces::ColourControl::StepSaturationMessage
 Step Saturation Message class. More...
 
struct  HF::Interfaces::ColourControl::MoveToHueSaturationMessage
 Move to Hue and Saturation Message class. More...
 
struct  HF::Interfaces::ColourControl::MoveToXYMessage
 Move to XY Message class. More...
 
struct  HF::Interfaces::ColourControl::MoveXYMessage
 Move XY Message class. More...
 
struct  HF::Interfaces::ColourControl::StepXYMessage
 Step XY Message class. More...
 
struct  HF::Interfaces::ColourControl::MoveToTemperatureMessage
 Move to Colour Temperature Message class. More...
 
struct  HF::Interfaces::ColourControl::Base
 Colour Control Interface : Parent. More...
 
struct  HF::Interfaces::ColourControl::ITransition
 Interface API for the Transitions. More...
 
struct  HF::Interfaces::ColourControl::Hue_Transition
 Hue Transition. More...
 
struct  HF::Interfaces::ColourControl::Saturation_Transition
 Saturation Transition. More...
 
struct  HF::Interfaces::ColourControl::HS_Transition
 Hue and Saturation Transition. More...
 
struct  HF::Interfaces::ColourControl::XY_Transition
 XY Transition. More...
 
struct  HF::Interfaces::ColourControl::XY_Transition_Continuous
 XY Transition. More...
 
struct  HF::Interfaces::ColourControl::Temperature_Transition
 Colour Temperature Transition. More...
 
class  HF::Interfaces::ColourControl::IServer
 Colour Control Interface : Server side implementation. More...
 
struct  HF::Interfaces::ColourControl::Server
 Colour Control Interface : Server side implementation. More...
 
struct  HF::Interfaces::ColourControl::Client
 Colour Control Interface : Client side implementation. More...
 

Enumerations

enum  HF::Interfaces::ColourControl::CMD {
  HF::Interfaces::ColourControl::MOVE_TO_HUE_CMD = 0x01, HF::Interfaces::ColourControl::MOVE_HUE_CMD = 0x02, HF::Interfaces::ColourControl::STEP_HUE_CMD = 0x03, HF::Interfaces::ColourControl::MOVE_TO_SATURATION_CMD = 0x04,
  HF::Interfaces::ColourControl::MOVE_SATURATION_CMD = 0x05, HF::Interfaces::ColourControl::STEP_SATURATION_CMD = 0x06, HF::Interfaces::ColourControl::MOVE_TO_HUE_AND_SATURATION_CMD = 0x07, HF::Interfaces::ColourControl::MOVE_TO_XY_CMD = 0x08,
  HF::Interfaces::ColourControl::MOVE_XY_CMD = 0x09, HF::Interfaces::ColourControl::STEP_XY_CMD = 0x0a, HF::Interfaces::ColourControl::MOVE_TO_COLOUR_TEMPERATURE_CMD = 0x0b, HF::Interfaces::ColourControl::STOP_CMD = 0x0c
}
 Command IDs. More...
 
enum  HF::Interfaces::ColourControl::Attributes {
  HF::Interfaces::ColourControl::SUPPORTED_ATTR = 0x01, HF::Interfaces::ColourControl::MODE_ATTR = 0x02, HF::Interfaces::ColourControl::HUE_AND_SATURATION_ATTR = 0x03, HF::Interfaces::ColourControl::XY_ATTR = 0x04,
  HF::Interfaces::ColourControl::COLOUR_TEMPERATURE_ATTR = 0x05
}
 Attributes. More...
 
enum  HF::Interfaces::ColourControl::Mask : uint8_t { HF::Interfaces::ColourControl::HS_MODE = 0x01, HF::Interfaces::ColourControl::XY_MODE = 0x02, HF::Interfaces::ColourControl::TEMPERATURE_MODE = 0x04 }
 Mask elements for Colour Modes. More...
 
enum  HF::Interfaces::ColourControl::Direction : uint8_t
 Direction of movement.
 

Functions

HF::Attributes::IAttributeHF::Interfaces::create_attribute (ColourControl::IServer *server, uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. More...
 
HF::Attributes::IAttributeHF::Interfaces::ColourControl::create_attribute (uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::ColourControl::Server *,uint8_t) More...
 
std::ostream & operator<< (std::ostream &stream, const HF::Interfaces::ColourControl::CMD command)
 Convert the given command into a string and write it to the given stream. More...
 
std::ostream & operator<< (std::ostream &stream, const HF::Interfaces::ColourControl::Attributes attribute)
 Convert the given attribute into a string and write it to the given stream. More...
 

Detailed Description

This module contains the classes that define and implement the Colour Control interface API.

Enumeration Type Documentation

◆ Attributes

Attributes.

Enumerator
SUPPORTED_ATTR 

Supported attribute UID.

MODE_ATTR 

Mode attribute UID.

HUE_AND_SATURATION_ATTR 

Hue And Saturation attribute UID.

XY_ATTR 

XY attribute UID.

COLOUR_TEMPERATURE_ATTR 

Colour Temperature attribute UID.

Definition at line 82 of file colour_control.h.

83  {
84  SUPPORTED_ATTR = 0x01,
85  MODE_ATTR = 0x02,
87  XY_ATTR = 0x04,
89  __LAST_ATTR__ = COLOUR_TEMPERATURE_ATTR
90  } Attributes;

◆ CMD

Command IDs.

Enumerator
MOVE_TO_HUE_CMD 

Move To Hue command UID.

MOVE_HUE_CMD 

Move Hue command UID.

STEP_HUE_CMD 

Step Hue command UID.

MOVE_TO_SATURATION_CMD 

Move To Saturation command UID.

MOVE_SATURATION_CMD 

Move Saturation command UID.

STEP_SATURATION_CMD 

Step Saturation command UID.

MOVE_TO_HUE_AND_SATURATION_CMD 

Move To Hue And Saturation command UID.

MOVE_TO_XY_CMD 

Move To Xy command UID.

MOVE_XY_CMD 

Move Xy command UID.

STEP_XY_CMD 

Step Xy command UID.

MOVE_TO_COLOUR_TEMPERATURE_CMD 

Move To Colour Temperature command UID.

STOP_CMD 

Stop command UID.

Definition at line 64 of file colour_control.h.

65  {
66  MOVE_TO_HUE_CMD = 0x01,
67  MOVE_HUE_CMD = 0x02,
68  STEP_HUE_CMD = 0x03,
69  MOVE_TO_SATURATION_CMD = 0x04,
70  MOVE_SATURATION_CMD = 0x05,
71  STEP_SATURATION_CMD = 0x06,
73  MOVE_TO_XY_CMD = 0x08,
74  MOVE_XY_CMD = 0x09,
75  STEP_XY_CMD = 0x0a,
77  STOP_CMD = 0x0c,
78  __LAST_CMD__ = STOP_CMD
79  } CMD;

◆ Mask

Mask elements for Colour Modes.

Enumerator
HS_MODE 

Hue and Saturation mode.

XY_MODE 

XY mode.

CIE 1931 standard.

TEMPERATURE_MODE 

Colour temperature mode.

Definition at line 93 of file colour_control.h.

93  : uint8_t
94  {
95  HS_MODE = 0x01,
96  XY_MODE = 0x02,
97  TEMPERATURE_MODE = 0x04,
98  __LAST_MODE__ = TEMPERATURE_MODE
99  } Mask;
Mask
Mask elements for Colour Modes.

Function Documentation

◆ create_attribute() [1/2]

HF::Attributes::IAttribute* HF::Interfaces::create_attribute ( ColourControl::IServer server,
uint8_t  uid 
)

Create an attribute object that can hold the attribute with the given uid.

If server is not equal to nullptr then initialize it with the current value.

Parameters
[in]serverpointer to the object to read the current value from.
[in]uidattribute's UID to create the attribute object for.
Returns
pointer to an attribute object or nullptr if the attribute UID does not exist.

◆ create_attribute() [2/2]

HF::Attributes::IAttribute* HF::Interfaces::ColourControl::create_attribute ( uint8_t  uid)
inline

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::ColourControl::Server *,uint8_t)

See also
HF::Interfaces::create_attribute (HF::Interfaces::ColourControl::Server *,uint8_t)
Parameters
[in]uidattribute UID to create the attribute object for.
Return values
pointerto an attribute object
nullptrif the attribute UID does not exist.

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::ColourControl::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::Alert::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::Scheduling::Weekly::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::Time::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SUOTA::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::RSSI::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::GroupTable::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid.

Create an attribute object that can hold the attribute with the given uid. (HF::Core::Scheduling::Event::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceManagement::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceInformation::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BindManagement::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BatchProgramManagement::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::AttributeReporting::Server *,uint8_t)

See also
HF::Interfaces::create_attribute (HF::Interfaces::SimpleHumidity::Server *,uint8_t)
Parameters
[in]uidattribute UID to create the attribute object for.
Returns
pointer to an attribute object or nullptr if the attribute UID does not exist.

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::ColourControl::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::Alert::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::Scheduling::Weekly::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::Time::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SUOTA::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::RSSI::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::GroupTable::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid.

Create an attribute object that can hold the attribute with the given uid. (HF::Core::Scheduling::Event::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceManagement::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceInformation::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BindManagement::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BatchProgramManagement::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::AttributeReporting::Server *,uint8_t)

See also
HF::Interfaces::create_attribute (HF::Interfaces::SimpleTemperature::Server *,uint8_t)
Parameters
[in]uidattribute UID to create the attribute object for.
Return values
pointerto an attribute object
<tt>nullptr</tt>if the attribute UID does not exist.

Definition at line 108 of file simple_humidity.h.

109  {
110  return Interfaces::create_attribute(static_cast<SimpleHumidity::Server *>(nullptr),
111  uid);
112  }
HF::Attributes::IAttribute * create_attribute(uint8_t uid)
Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleHum...

◆ operator<<() [1/2]

std::ostream& operator<< ( std::ostream &  stream,
const HF::Interfaces::ColourControl::CMD  command 
)

Convert the given command into a string and write it to the given stream.

Parameters
[in]streamout stream to write the string to.
[in]commandrole value to convert to a string.
Returns
stream

◆ operator<<() [2/2]

std::ostream& operator<< ( std::ostream &  stream,
const HF::Interfaces::ColourControl::Attributes  attribute 
)

Convert the given attribute into a string and write it to the given stream.

Parameters
[in]streamout stream to write the string to.
[in]attributeattribute value to convert to a string.
Returns
stream