// create initialization structures
USART_InitTypeDef USART_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
USART_ClockInitTypeDef USART_ClockInitStructure;
NVIC_InitTypeDef NVIC_InitStructure;

// define RGB color type
typedef struct {
	uint8_t R, G, B;
} ColorTypeDef;

ColorTypeDef ColorStructure; // create color type instance
uint32_t color = 0x000000; // storage for color value

// function prototypes
void AssignColor(ColorTypeDef * ColorStructure, uint32_t TargetColor);
void ColorPWM(ColorTypeDef * ColorStructure);
void InitializePeriph();
uint8_t ascii_to_hex(uint8_t ascii);