9,6 → 9,8 |
#define GCS_REG_SIZE 36 |
#define GCS_LAYER_SIZE (GCS_REG_SIZE*CUBE_ROW_COUNT) |
|
#define CUBE_STRING_MAX_LENGTH 32 |
|
#define RED 0x0FF,0x000,0x000 |
#define ORANGE 0x0FF,0x020,0x000 |
#define YELLOW 0x0FF,0x0FF,0x000 |
35,8 → 37,16 |
|
typedef struct { |
unsigned char GCS[CUBE_LAYER_COUNT][GCS_LAYER_SIZE]; |
unsigned char GCS_OVERLAY[CUBE_LAYER_COUNT][GCS_LAYER_SIZE]; |
unsigned char GCS_WRITE[CUBE_LAYER_COUNT][GCS_LAYER_SIZE]; |
unsigned char current_layer; |
unsigned char rotation_counter; |
|
unsigned char string[CUBE_STRING_MAX_LENGTH]; |
unsigned char string_length; |
unsigned char string_index; |
unsigned char string_line; |
int string_R, string_G, string_B; |
} CUBE_DATA; |
|
void Cube_Init(CUBE_DATA *data, char BC); |
53,11 → 63,18 |
void Cube_Set_Layer(int layer, int R, int G, int B); |
void Cube_Set_Pixel(int layer, int row, int column, int R, int G, int B); |
void Cube_Get_Pixel(int layer, int row, int column, int* R, int* G, int* B); |
|
void Cube_Move_Pixel(int layer1, int row1, int column1, int layer2, int row2, int column2); |
void Cube_Rotate_Shell(char shell, char direction); |
void Cube_Rotate(char direction); |
|
void Cube_Rotate_Shell(char shell); |
void Cube_Rotate(void); |
void Cube_Overlay_Clear(void); |
void Cube_Overlay_Set_Pixel(int layer, int row, int column, int R, int G, int B); |
void Cube_Overlay_Get_Pixel(int layer, int row, int column, int* R, int* G, int* B); |
void Cube_Overlay_Move_Pixel(int layer1, int row1, int column1, int layer2, int row2, int column2); |
void Cube_Overlay_Rotate_Shell(char shell, char direction); |
|
void Cube_Text_Init(char *string, char length, int R, int G, int B); |
void Cube_Text_Interrupt(void); |
|
#endif /* CUBE_H */ |
|