Files
sibsutis/1Y-2H/prog.old/lab3/include/bitrgbled.h
T
2026-04-25 17:23:04 +07:00

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);