47 lines
1.2 KiB
C
47 lines
1.2 KiB
C
typedef struct {
|
|
unsigned int rgbd;
|
|
_Alignas(unsigned int) unsigned short efg;
|
|
} rgbled;
|
|
|
|
typedef struct {
|
|
unsigned int rgbd;
|
|
unsigned int fg;
|
|
unsigned int e;
|
|
} rgbled_bad;
|
|
|
|
rgbled_bad* create_bad_led();
|
|
|
|
// rgbled
|
|
// | unsigned int rgbd |
|
|
// dddd dddd rrrr rrrr gggg gggg bbbb bbbb
|
|
// .... ftte eeee eeee ____ ____ ____ ____
|
|
// |unsigned short efg| padding |
|
|
// 8 байт
|
|
|
|
// rgbled_bad
|
|
// | unsigned int rgbd |
|
|
// dddd dddd rrrr rrrr gggg gggg bbbb bbbb
|
|
// |unsigned int fg |
|
|
// .... .... .... .... .... .... .... .ftt
|
|
// | unsigned int e |
|
|
// .... .... .... .... .... ...e eeee eeee
|
|
// 12 байт
|
|
|
|
rgbled* create_led(void);
|
|
|
|
void set_Temp(rgbled* led, int tempK);
|
|
void set_R(rgbled* led, int red);
|
|
void set_G(rgbled* led, int green);
|
|
void set_B(rgbled* led, int blue);
|
|
void set_D(rgbled* led, int bright);
|
|
void set_F(rgbled* led, int type);
|
|
void set_T(rgbled* led, int work);
|
|
int get_Temp(rgbled* led);
|
|
int get_R(rgbled* led);
|
|
int get_G(rgbled* led);
|
|
int get_B(rgbled* led);
|
|
int get_D(rgbled* led);
|
|
int get_F(rgbled* led);
|
|
int get_T(rgbled* led);
|
|
void print_colorHEX(rgbled* led);
|