
#define NOT_USED     0
#define FLOAT        1
#define UNSIGNED16   2
#define SIGNED16     3
#define UNSIGNED32   4
#define SIGNED32     5

// Shutdown +15V and -15V. +/-15V is power for current sensors. It also goes to Auxiliary connector.
#define ENABLE_15V            (GpioDataRegs.GPDCLEAR.bit.GPIO124 = 1)
#define DISABLE_15V           (GpioDataRegs.GPDSET.bit.GPIO124 = 1)
#define ENABLE_N15V           (GpioDataRegs.GPDCLEAR.bit.GPIO125 = 1)
#define DISABLE_N15V          (GpioDataRegs.GPDSET.bit.GPIO125 = 1)

// LED
#define LED_R_ON              (GpioDataRegs.GPCSET.bit.GPIO65 = 1)
#define LED_R_OFF             (GpioDataRegs.GPCCLEAR.bit.GPIO65 = 1)
#define LED_R_TOGGLE          (GpioDataRegs.GPCTOGGLE.bit.GPIO65 = 1)
#define LED_Y_ON              (GpioDataRegs.GPBSET.bit.GPIO52 = 1)
#define LED_Y_OFF             (GpioDataRegs.GPBCLEAR.bit.GPIO52 = 1)
#define LED_Y_TOGGLE          (GpioDataRegs.GPBTOGGLE.bit.GPIO52 = 1)
#define LED_G_ON              (GpioDataRegs.GPBSET.bit.GPIO41 = 1)
#define LED_G_OFF             (GpioDataRegs.GPBCLEAR.bit.GPIO41 = 1)
#define LED_G_TOGGLE          (GpioDataRegs.GPBTOGGLE.bit.GPIO41 = 1)

#define LED_CASE1_ON          (GpioDataRegs.GPASET.bit.GPIO10 = 1)
#define LED_CASE1_OFF         (GpioDataRegs.GPACLEAR.bit.GPIO10 = 1)
#define LED_CASE1_TOGGLE      (GpioDataRegs.GPATOGGLE.bit.GPIO10 = 1)
#define LED_CASE2_ON          (GpioDataRegs.GPASET.bit.GPIO11 = 1)
#define LED_CASE2_OFF         (GpioDataRegs.GPACLEAR.bit.GPIO11 = 1)
#define LED_CASE2_TOGGLE      (GpioDataRegs.GPATOGGLE.bit.GPIO11 = 1)

//GPIOs for FAULTS
#define FAULT_PHA             GpioDataRegs.GPADAT.bit.GPIO6
#define FAULT_PHB             GpioDataRegs.GPADAT.bit.GPIO7
#define FAULT_PHC             GpioDataRegs.GPADAT.bit.GPIO8
#define FAULT_EXC             GpioDataRegs.GPADAT.bit.GPIO15      // Exciter Inverter Fault
#define FAULT1_B              GpioDataRegs.GPBDAT.bit.GPIO32      // 1st Set PWM Phase B Fault
#define FAULT1_C              GpioDataRegs.GPBDAT.bit.GPIO33      // 1st Set PWM Phase C Fault
#define FAULT2_B              GpioDataRegs.GPBDAT.bit.GPIO39      // 2nd Set PWM Phase B Fault
#define FAULT2_C              GpioDataRegs.GPBDAT.bit.GPIO34      // 2nd Set PWM Phase C Fault

//GPIOs for DUTY CYCLE
#define DUTY1_AH              GpioDataRegs.GPADAT.bit.GPIO28      // 1st Set PWM Phase A UPPER SWITCH DUTY CYCLE
#define DUTY1_BH              GpioDataRegs.GPADAT.bit.GPIO29      // 1st Set PWM Phase B UPPER SWITCH DUTY CYCLE
#define DUTY1_CH              GpioDataRegs.GPADAT.bit.GPIO27      // 1st Set PWM Phase C UPPER SWITCH DUTY CYCLE
#define DUTY2_AH              GpioDataRegs.GPBDAT.bit.GPIO40      // 2ND Set PWM Phase A UPPER SWITCH DUTY CYCLE
#define DUTY2_BH              GpioDataRegs.GPBDAT.bit.GPIO41      // 2ND Set PWM Phase B UPPER SWITCH DUTY CYCLE
#define DUTY2_CH              GpioDataRegs.GPBDAT.bit.GPIO42      // 2ND Set PWM Phase C UPPER SWITCH DUTY CYCLE

//EXCITER INVERTER READY SIGNAL
#define nREADY_Exc            GpioDataRegs.GPBDAT.bit.GPIO51      // EXCITER INVERTER READY SIGNAL GPIO-51

//DIGTAL INPUT GPIOs
#define DIG_INA               GpioDataRegs.GPBDAT.bit.GPIO45      // DIG_INa     GPIO-45
#define DIG_INB               GpioDataRegs.GPBDAT.bit.GPIO46      // DIG_INb     GPIO-46
#define DIG_INC               GpioDataRegs.GPBDAT.bit.GPIO47      // DIG_INc     GPIO-47
#define DIG_IND               GpioDataRegs.GPBDAT.bit.GPIO54      // DIG_INd     GPIO-54

//DIGITAL OUTPUT A
#define DIG_OUTA              GpioDataRegs.GPBDAT.bit.GPIO57      // DIG_OUTa    GPIO-57
#define DIG_OUTA_HI           (GpioDataRegs.GPBSET.bit.GPIO57 = 1)
#define DIG_OUTA_LOW          (GpioDataRegs.GPBCLEAR.bit.GPIO57 = 1)

//DIGITAL OUTPUT C
#define DIG_OUTC              GpioDataRegs.GPBDAT.bit.GPIO58      // DIG_OUTc    GPIO-58
#define DIG_OUTC_HI           (GpioDataRegs.GPBSET.bit.GPIO58 = 1)
#define DIG_OUTC_LOW          (GpioDataRegs.GPBCLEAR.bit.GPIO58 = 1)

//DIGITAL OUTPUT B
#define DIG_OUTB              GpioDataRegs.GPBDAT.bit.GPIO59      // DIG_OUTb    GPIO-59
#define DIG_OUTBb_HI          (GpioDataRegs.GPBSET.bit.GPIO59 = 1)
#define DIG_OUTB_LOW          (GpioDataRegs.GPBCLEAR.bit.GPIO59 = 1)

//WHITE LED -- GPIO55
#define WHITE_LED             GpioDataRegs.GPBDAT.bit.GPIO55
#define WHITE_LED_ON          (GpioDataRegs.GPBSET.bit.GPIO55 = 1)
#define WHITE_LED_OFF         (GpioDataRegs.GPBCLEAR.bit.GPIO55 = 1)
#define WHITE_LED_TOGGLE      (GpioDataRegs.GPBTOGGLE.bit.GPIO55 = 1)

//BLUE LED -- GPIO56
#define BLUE_LED               GpioDataRegs.GPBDAT.bit.GPIO56
#define BLUE_LED_ON           (GpioDataRegs.GPBSET.bit.GPIO56 = 1)
#define BLUE_LED_OFF          (GpioDataRegs.GPBCLEAR.bit.GPIO56 = 1)
#define BLUE_LED_TOGGLE       (GpioDataRegs.GPBTOGGLE.bit.GPIO56 = 1)

//GPIO49 - AMUX_A0
#define AMUX_A0               GpioDataRegs.GPBDAT.bit.GPIO49
#define AMUX_A0_HI            (GpioDataRegs.GPBSET.bit.GPIO49 = 1)
#define AMUX_A0_LOW           (GpioDataRegs.GPBCLEAR.bit.GPIO49 = 1)

//GPIO50 - AMUX_A1
#define AMUX_A1               GpioDataRegs.GPBDAT.bit.GPIO50
#define AMUX_A1_HI            (GpioDataRegs.GPBSET.bit.GPIO50 = 1)
#define AMUX_A1_LOW           (GpioDataRegs.GPBCLEAR.bit.GPIO50 = 1)

#define AMUX_SEL_CH1          GpioDataRegs.GPBCLEAR.bit.GPIO49 = 1; GpioDataRegs.GPBCLEAR.bit.GPIO50 = 1
#define AMUX_SEL_CH2          GpioDataRegs.GPBSET.bit.GPIO49 = 1; GpioDataRegs.GPBCLEAR.bit.GPIO50 = 1
#define AMUX_SEL_CH3          GpioDataRegs.GPBCLEAR.bit.GPIO49 = 1; GpioDataRegs.GPBSET.bit.GPIO50 = 1
#define AMUX_SEL_CH4          GpioDataRegs.GPBSET.bit.GPIO49 = 1; GpioDataRegs.GPBSET.bit.GPIO50 = 1

