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
+15
View File
@@ -0,0 +1,15 @@
#ifndef BITSTRUCT_H
#define BITSTRUCT_H
#include "include.h"
#include "typedef.h"
#define LED_SET(led, field, value) \
(led)->l = ((led)->l & LED_MASK_##field) | \
(((uint64_t)(value) & ((1ULL << LED_SIZE_##field) - 1)) << LED_PADD_##field)
RGB_LED* create_led(uint16_t temp,uint8_t brg,uint8_t r,uint8_t g,uint8_t b);
char modify_led(RGB_LED* led,LED_WICH wh,uint16_t num);
void set_leds(MATRIX* m,LED_WICH wh, uint16_t num);
void del_leds(MATRIX* m);
#endif
+9
View File
@@ -0,0 +1,9 @@
#ifndef CASE
#define CASE
typedef struct{
int* ptrFirst;
int* ptrLast;
} CASE;
#endif
+17
View File
@@ -0,0 +1,17 @@
#ifndef INCLUDE_H
#define INCLUDE_H
// INCLUDE
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <string.h>
#include <stdalign.h> //
#include <stdint.h>
// DEFINE
#define BUFF_MAX 10 //(char) <= 254
#define IN_BUFF_CHARS 10 //(char) <= 254
//TypeDef
#endif
+16
View File
@@ -0,0 +1,16 @@
#ifndef IO_H
#define IO_H
#include "typedef.h"
// === io.c ===
void del_cmd_list(CMD_GRP_ENUM grp);
void create_cmd_list(CMD_GRP_ENUM grp,char* get[],int n);
char buff_input(char *inbuff, char *_buff);
char cmd_buff(char* _buff,CMD_GRP_ENUM grp);
char get_matrix_num(void);
int get_num(void);
void declarete_cmd_main();
#endif
+19
View File
@@ -0,0 +1,19 @@
#ifndef MATRIXSTRUCT_H
#define MATRIXSTRUCT_H
#define MAX_MATRIX_ALIVE 21
#include "typedef.h"
void create_matrix(int rows, int cols);
void input(LED_WICH grp, unsigned char n);
void input_matrix(unsigned char n);
void free_matrix(unsigned char n);
void get_matrix(unsigned char n);
void logic_matrix(unsigned char n1, unsigned char n2);
void edit_matrix(unsigned char n);
void rand_matrix(unsigned char n);
void copy_matrix(unsigned char n1, unsigned char n2);
unsigned char is_Matrix_Exist(unsigned char n);
#endif
+109
View File
@@ -0,0 +1,109 @@
#ifndef TYPEDEF_H
#define TYPEDEF_H
#include "include.h"
typedef struct __attribute__((aligned(4))){
uint64_t l; // 14tmp 8brg 8r 8g 8b 4type 2mode
} RGB_LED;
typedef struct{
RGB_LED** leds;
unsigned int n;
} LED_STRIP;
typedef enum{
CMD_MAIN,
CMD_LOGIC,
CMD_EDIT,
CMD_LED,
CMD_GRP_COUNT
}CMD_GRP_ENUM;
typedef enum{
CMD_MAIN_CREATE,
CMD_MAIN_INPUT,
CMD_MAIN_DEL,
CMD_MAIN_SHOW,
CMD_MAIN_LOGIC,
CMD_MAIN_EDIT,
CMD_MAIN_RAND,
CMD_MAIN_COPY,
CMD_MAIN_EXIT,
CMD_MAIN_TEST,
CMD_MAIN_COUNT
}CMD_MAIN_ENUM;
#define MASK_EXTRACT(start, bits) (((1ULL << (bits)) - 1) << (start))
typedef enum{
LED_PADD_TEMP = 50,
LED_SIZE_TEMP = 14,
LED_MASK_TEMP = ~MASK_EXTRACT(LED_PADD_TEMP,LED_SIZE_TEMP),
LED_PADD_BR = 42,
LED_SIZE_BR = 8,
LED_MASK_BR = ~MASK_EXTRACT(LED_PADD_BR,LED_SIZE_BR),
LED_PADD_R = 34,
LED_SIZE_R = 8,
LED_MASK_R = ~MASK_EXTRACT(LED_PADD_R,LED_SIZE_R),
LED_PADD_G = 26,
LED_SIZE_G = 8,
LED_MASK_G = ~MASK_EXTRACT(LED_PADD_G,LED_SIZE_G),
LED_PADD_B = 18,
LED_SIZE_B = 8,
LED_MASK_B = ~MASK_EXTRACT(LED_PADD_B,LED_SIZE_B),
LED_PADD_TYPE = 14,
LED_SIZE_TYPE = 8,
LED_MASK_TYPE = ~MASK_EXTRACT(LED_PADD_TYPE,LED_SIZE_TYPE), // тип контроллера?
LED_PADD_MODE = 10,
LED_SIZE_MODE = 4,
LED_MASK_MODE = ~MASK_EXTRACT(LED_PADD_MODE,LED_SIZE_MODE), // 16 режимов
LED_PADD_SPEED = 2,
LED_SIZE_SPEED = 8,
LED_MASK_SPEED = ~MASK_EXTRACT(LED_PADD_SPEED,LED_SIZE_SPEED), // Скорость анимации режима
LED_PADD_SSCALE = 0,
LED_SIZE_SSCALE = 2,
LED_MASK_SSCALE = ~MASK_EXTRACT(LED_PADD_SSCALE,LED_SIZE_SSCALE) // множитель скорости ч.м.с
}LED_INFO;
typedef enum{
LED_TEMP,
LED_BR,
LED_R,LED_G,LED_B,
LED_TYPE,
LED_MODE,
LED_SPEED,LED_SSCALE
}LED_WICH;
typedef struct{
unsigned int n;
char** str;
}CMD_LIST;
typedef struct{
CMD_LIST* list[CMD_GRP_COUNT];
}CMD_GRP_LIST;
typedef struct {
int rows;
int cols;
RGB_LED*** led;
} MATRIX;
typedef struct{
unsigned int n;
MATRIX** list;
}MATRIX_LIST;
#endif