This commit is contained in:
oniic
2026-04-25 17:23:04 +07:00
parent 7f0f6ab5ba
commit 92b040fb32
129 changed files with 1809 additions and 1112 deletions
+46
View File
@@ -0,0 +1,46 @@
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);
+18
View File
@@ -0,0 +1,18 @@
typedef struct {
matrix2d** data;
int size;
int capacity;
} tdQueue;
#define ERRALLOC do{ \
fputs("Ошибка выделения памяти\n", \
stderr); exit(EXIT_FAILURE); } while(0)
tdQueue* queue_create(void);
void queue_decontruct(tdQueue* queue);
bool queue_is_empty(tdQueue* queue);
int queue_size(tdQueue* queue);
void queue_enqueue(tdQueue* queue, matrix2d* data);
matrix2d* queue_dequeue(tdQueue* queue);
matrix2d* queue_peek(tdQueue* queue);
void queue_clear(tdQueue* queue);
+9
View File
@@ -0,0 +1,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <time.h>
#include <math.h>
#include <string.h>
#include "bitrgbled.h"
#include "matrix2d.h"
#include "contstruct.h"
+16
View File
@@ -0,0 +1,16 @@
typedef struct {
const unsigned int x;
const unsigned int y;
void*** ptr;
} matrix2d;
matrix2d* create_matrix2d(unsigned int x, unsigned int y);
void deconstruct_matrix2d(matrix2d* mat);
void print_matrix2d(matrix2d* mat);
void fill_rand_matrix2d(matrix2d* mat);
void set_elem_matrix2d(matrix2d* mat, void* elem, unsigned int x, unsigned int y);
bool not_equal_mtrx(matrix2d* matA, matrix2d* matB);
bool equal_mtrx(matrix2d* matA, matrix2d* matB);
matrix2d* get_row_matrix2d(matrix2d* mat, int y);
matrix2d* get_column_matrix2d(matrix2d* mat, int x);
matrix2d* transpond_mtrx(matrix2d* mat);