HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
HF::Interfaces::SimpleVisualEffects::BreatheEffect Struct Reference

This structure represents the parameters required for the BREATHE_CMD effect. More...

#include <simple_visual_effects.h>

+ Collaboration diagram for HF::Interfaces::SimpleVisualEffects::BreatheEffect:

Public Member Functions

uint16_t size () const
 Number bytes needed to serialize the message. More...
 
uint16_t pack (Common::ByteArray &array, uint16_t offset=0) const
 Write the object on to a ByteArray so it can be sent over the network. More...
 
uint16_t unpack (const Common::ByteArray &array, uint16_t offset=0)
 Read a message from a ByteArray. More...
 

Data Fields

uint8_t start
 Start brightness in percentage. More...
 
uint16_t start_hold
 Number of miliseconds to hold start brightness. More...
 
uint16_t ste_duration
 Number of miliseconds to go from start to end brightness. More...
 
uint8_t end
 End brightness in percentage. More...
 
uint16_t end_hold
 Number of miliseconds to hold end brightness. More...
 
uint16_t ets_duration
 Number of miliseconds to go from end to start brightness. More...
 
uint16_t number_of_cycles
 Number of times to repeat the Start-End-Start cycle. More...
 

Static Public Attributes

static constexpr uint16_t min_size = 2 * sizeof(uint8_t) + 5 * sizeof(uint16_t)
 Minimum pack/unpack required data size.
 
static constexpr uint16_t min_number_of_cycles = 1
 Minimum value for number_of_cycles parameter.
 

Detailed Description

This structure represents the parameters required for the BREATHE_CMD effect.

Definition at line 237 of file simple_visual_effects.h.

Member Function Documentation

◆ pack()

uint16_t HF::Interfaces::SimpleVisualEffects::BreatheEffect::pack ( Common::ByteArray array,
uint16_t  offset = 0 
) const
inline

Write the object on to a ByteArray so it can be sent over the network.

The buffer passed in MUST have enough size to hold the serialized object, e.g.,

Serializable obj;
ByteArray payload(obj.size());
obj.pack(payload);
Parameters
[in,out]arrayByteArray reference to write the object to.
[in]offsetoffset to start writing to.
Returns
the number of bytes written.

Definition at line 270 of file simple_visual_effects.h.

References end, end_hold, ets_duration, HF_ASSERT, HF_SERIALIZABLE_CHECK, min_number_of_cycles, min_size, number_of_cycles, start, start_hold, ste_duration, and HF::Common::ByteArray::write().

271  {
272  HF_SERIALIZABLE_CHECK(array, offset, min_size);
273 
275  {
276  return 0;
277  });
278 
279  offset += array.write(offset, start);
280  offset += array.write(offset, start_hold);
281  offset += array.write(offset, ste_duration);
282  offset += array.write(offset, end);
283  offset += array.write(offset, end_hold);
284  offset += array.write(offset, ets_duration);
285  offset += array.write(offset, number_of_cycles);
286 
287  return min_size;
288  }
uint16_t ste_duration
Number of miliseconds to go from start to end brightness.
static constexpr uint16_t min_size
Minimum pack/unpack required data size.
#define HF_ASSERT(_expr, _block)
Helper macro to check for correct assumptions.
#define HF_SERIALIZABLE_CHECK(__array, __offset, __size)
Helper macro to check if the given __array has enough size so __size bytes can be written/read from t...
static constexpr uint16_t min_number_of_cycles
Minimum value for number_of_cycles parameter.
uint16_t end_hold
Number of miliseconds to hold end brightness.
uint16_t start_hold
Number of miliseconds to hold start brightness.
uint16_t ets_duration
Number of miliseconds to go from end to start brightness.
uint16_t number_of_cycles
Number of times to repeat the Start-End-Start cycle.
uint8_t start
Start brightness in percentage.
+ Here is the call graph for this function:

◆ size()

uint16_t HF::Interfaces::SimpleVisualEffects::BreatheEffect::size ( ) const
inline

Number bytes needed to serialize the message.

Returns
number of bytes the message requires to be serialized.

Definition at line 264 of file simple_visual_effects.h.

References min_size.

265  {
266  return min_size;
267  }
static constexpr uint16_t min_size
Minimum pack/unpack required data size.

◆ unpack()

uint16_t HF::Interfaces::SimpleVisualEffects::BreatheEffect::unpack ( const Common::ByteArray array,
uint16_t  offset = 0 
)
inline

Read a message from a ByteArray.

Parameters
[in]arrayByteArray reference to read the message from.
[in]offsetoffset to start reading from.
Returns
the number of bytes read.

Definition at line 291 of file simple_visual_effects.h.

References end, end_hold, ets_duration, HF_ASSERT, HF_SERIALIZABLE_CHECK, min_number_of_cycles, min_size, number_of_cycles, HF::Common::ByteArray::read(), start, start_hold, and ste_duration.

292  {
293  HF_SERIALIZABLE_CHECK(array, offset, min_size);
294 
295  offset += array.read(offset, start);
296  offset += array.read(offset, start_hold);
297  offset += array.read(offset, ste_duration);
298  offset += array.read(offset, end);
299  offset += array.read(offset, end_hold);
300  offset += array.read(offset, ets_duration);
301  offset += array.read(offset, number_of_cycles);
302 
304  {
305  return 0;
306  });
307 
308  return min_size;
309  }
uint16_t ste_duration
Number of miliseconds to go from start to end brightness.
static constexpr uint16_t min_size
Minimum pack/unpack required data size.
#define HF_ASSERT(_expr, _block)
Helper macro to check for correct assumptions.
#define HF_SERIALIZABLE_CHECK(__array, __offset, __size)
Helper macro to check if the given __array has enough size so __size bytes can be written/read from t...
static constexpr uint16_t min_number_of_cycles
Minimum value for number_of_cycles parameter.
uint16_t end_hold
Number of miliseconds to hold end brightness.
uint16_t start_hold
Number of miliseconds to hold start brightness.
uint16_t ets_duration
Number of miliseconds to go from end to start brightness.
uint16_t number_of_cycles
Number of times to repeat the Start-End-Start cycle.
uint8_t start
Start brightness in percentage.
+ Here is the call graph for this function:

Field Documentation

◆ end

uint8_t HF::Interfaces::SimpleVisualEffects::BreatheEffect::end

End brightness in percentage.

Definition at line 243 of file simple_visual_effects.h.

Referenced by pack(), and unpack().

◆ end_hold

uint16_t HF::Interfaces::SimpleVisualEffects::BreatheEffect::end_hold

Number of miliseconds to hold end brightness.

Definition at line 244 of file simple_visual_effects.h.

Referenced by pack(), and unpack().

◆ ets_duration

uint16_t HF::Interfaces::SimpleVisualEffects::BreatheEffect::ets_duration

Number of miliseconds to go from end to start brightness.

Definition at line 245 of file simple_visual_effects.h.

Referenced by pack(), and unpack().

◆ number_of_cycles

uint16_t HF::Interfaces::SimpleVisualEffects::BreatheEffect::number_of_cycles

Number of times to repeat the Start-End-Start cycle.

Definition at line 247 of file simple_visual_effects.h.

Referenced by pack(), and unpack().

◆ start

uint8_t HF::Interfaces::SimpleVisualEffects::BreatheEffect::start

Start brightness in percentage.

Definition at line 239 of file simple_visual_effects.h.

Referenced by pack(), and unpack().

◆ start_hold

uint16_t HF::Interfaces::SimpleVisualEffects::BreatheEffect::start_hold

Number of miliseconds to hold start brightness.

Definition at line 240 of file simple_visual_effects.h.

Referenced by pack(), and unpack().

◆ ste_duration

uint16_t HF::Interfaces::SimpleVisualEffects::BreatheEffect::ste_duration

Number of miliseconds to go from start to end brightness.

Definition at line 241 of file simple_visual_effects.h.

Referenced by pack(), and unpack().


The documentation for this struct was generated from the following file: