bruh
This commit is contained in:
@@ -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
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef CASE
|
||||
#define CASE
|
||||
|
||||
typedef struct{
|
||||
int* ptrFirst;
|
||||
int* ptrLast;
|
||||
} CASE;
|
||||
|
||||
#endif
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user