64,30 → 64,30 |
|
typedef struct { |
// Variables for base cube |
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; |
uint8_t GCS[CUBE_LAYER_COUNT][GCS_LAYER_SIZE]; |
uint8_t GCS_OVERLAY[CUBE_LAYER_COUNT][GCS_LAYER_SIZE]; |
uint8_t GCS_WRITE[CUBE_LAYER_COUNT][GCS_LAYER_SIZE]; |
uint8_t current_layer; |
uint8_t rotation_counter; |
|
// Variables for the scrolling text |
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; |
uint8_t string[CUBE_STRING_MAX_LENGTH]; |
uint8_t string_length; |
uint8_t string_index; |
uint8_t string_line; |
uint16_t string_R, string_G, string_B; |
|
// Variables for input frame data |
PROCESS_STATE frame_state; |
unsigned char frame_buffer[CUBE_FRAME_BUFFER_SIZE]; |
char frame_checksum; |
int frame_length; |
int frame_index; |
int frame_command; |
int frame_escape; |
uint8_t frame_buffer[CUBE_FRAME_BUFFER_SIZE]; |
uint8_t frame_checksum; |
uint32_t frame_length; |
uint32_t frame_index; |
uint32_t frame_command; |
uint32_t frame_escape; |
} CUBE_DATA; |
|
void Cube_Init(CUBE_DATA *data, char BC); |
void Cube_Init(CUBE_DATA *data, uint8_t BC); |
void Cube_Timer_Interrupt(void); |
|
// Callbacks on completion of DCS/GCS writes |
95,31 → 95,31 |
void Cube_GCS_Write_Callback(void); |
|
// Cube control functions |
void Cube_Write_DCS(char BC); |
void Cube_Write_DCS(uint8_t BC); |
void Cube_Clear(void); |
void Cube_Set_All(int R, int G, int B); |
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_Set_All(uint16_t R, uint16_t G, uint16_t B); |
void Cube_Set_Layer(uint8_t layer, uint16_t R, uint16_t G, uint16_t B); |
void Cube_Set_Pixel(uint8_t layer, uint8_t row, uint8_t column, uint16_t R, uint16_t G, uint16_t B); |
void Cube_Get_Pixel(uint8_t layer, uint8_t row, uint8_t column, uint16_t* R, uint16_t* G, uint16_t* B); |
void Cube_Move_Pixel(uint8_t layer1, uint8_t row1, uint8_t column1, uint8_t layer2, uint8_t row2, uint8_t column2); |
void Cube_Rotate_Shell(uint8_t shell, uint8_t direction); |
void Cube_Rotate(uint8_t direction); |
|
// Overlay control functions |
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_Overlay_Set_Pixel(uint8_t layer, uint8_t row, uint8_t column, uint16_t R, uint16_t G, uint16_t B); |
void Cube_Overlay_Get_Pixel(uint8_t layer, uint8_t row, uint8_t column, uint16_t* R, uint16_t* G, uint16_t* B); |
void Cube_Overlay_Move_Pixel(uint8_t layer1, uint8_t row1, uint8_t column1, uint8_t layer2, uint8_t row2, uint8_t column2); |
void Cube_Overlay_Rotate_Shell(uint8_t shell, uint8_t direction); |
|
// Text control functions |
void Cube_Text_Init(char *string, char length, int R, int G, int B); |
void Cube_Text_Init(uint8_t *string, uint8_t length, uint16_t R, uint16_t G, uint16_t B); |
void Cube_Text_Interrupt(void); |
|
// Data stream in control functions |
void Cube_Data_In(char c); |
void Cube_Data_In(uint8_t c); |
void Cube_Data_In_Process_Frame(void); |
void Cube_Data_Direct_Write_All(char *buffer); |
void Cube_Data_Direct_Write_All(uint8_t *buffer); |
|
#endif /* CUBE_H */ |
|