#pragma once

#include "stdint.h"

/**
 * @struct RGB
 * @brief Structure to represent RGB color model
 * @var RGB::r
 * Member 'r' represents the Red color component
 * @var RGB::g
 * Member 'g' represents the Green color component
 * @var RGB::b
 * Member 'b' represents the Blue color component
 */
typedef struct RGB
{
    uint8_t r;
    uint8_t g;
    uint8_t b;
} RGB_t;

/**
 * @struct RGB_Theme
 * @brief Structure to represent theme of RGB
 * @var RGB_Theme::max_brighness
 * Member 'max_brighness' represents the Maximum brightness level
 * @var RGB_Theme::color
 * Member 'color' represents the RGB color
 * @var RGB_Theme::animation
 * Member 'animation' represents the Animation type
 * @var RGB_Theme::reseved
 * Member 'reseved' is Reserved for future use
 * @var RGB_Theme::reseved_16
 * Member 'reseved_16' is Reserved for future use
 */
typedef struct RGB_Theme
{
    uint8_t max_brighness;
    RGB_t color;
    uint8_t animation;
    uint8_t reseved;
    uint16_t reseved_16;
} RGB_Theme_t;


void LightTask_start();