#ifndef UARTMotorController_h
#define UARTMotorController_h

#define UARTdebug

#define API_Transmit 0x01
#define API_Receive 0x81

#define Address_CVCHigh 0x20
#define Address_CVCLow 0x86
#define Address_AVCHigh 0x21
#define Address_AVCLow 0x86
#define Address_BroadcastHigh 0xFF
#define Address_BroadcastLow 0xFF

#define Header_MotorInfo 0xB9

#define Start_Xbee 0x7E
#define Start_Motor 0xB9

#define Option_None 0x00

#define Checksum_Total 0xFF


typedef enum {
	Transmit_Idle = 0,
	Transmit_InProgress = 1
} TransmitState_t;

typedef enum {
    Receive_Idle = 0,
    Receive_LengthHigh,
    Receive_LengthLow,
    Receive_Data,
    Receive_Checksum
} ReceiveState_t;


void InitUART(void);
void UpdateUART(void);


unsigned char CheckReceiveMessageFlag(void);
unsigned char ReadReceiveMessage(unsigned char Index);
//All other functions are simple and are defined in the c file
#endif