#ifndef UDCCD_BOARD_H_
#define UDCCD_BOARD_H_

/**** Includes ****/
#include <stdint.h>

using namespace board;

/**** Public definitions ****/
static AnalogIn dccd_i(mcu::ADC0);
static AnalogIn dccd_u(mcu::ADC1);
static AnalogIn bat_u(mcu::ADC2);
static AnalogIn bat_i(mcu::ADC3);

static Hafbridge hbridge(mcu::PWM0, mcu::GPIO15, 95);

static AnalogIn ain1(mcu::ADC5);
static AnalogIn ain2(mcu::ADC4);

static DigitalIn din1(mcu::GPIO0, 0, board::DIN_HIGH);
static DigitalIn din2(mcu::GPIO1, 0, board::DIN_HIGH);
static DigitalIn din3(mcu::GPIO2, 0, board::DIN_HIGH);
static DigitalIn din4(mcu::GPIO3, 0, board::DIN_HIGH);

static DigitalIn hvdin1(mcu::GPIO4, 1, board::DIN_LOW);
static DigitalIn hvdin2(mcu::GPIO5, 1, board::DIN_LOW);
static DigitalIn hvdin3(mcu::GPIO6, 1, board::DIN_LOW); 
static DigitalIO hvdin3_pull(mcu::GPIO3, board::DIN_HIGH);
	
static DigitalOut odout1(mcu::GPIO9,  1);
static DigitalOut odout2(mcu::GPIO10, 1);
static DigitalOut odout3(mcu::GPIO11, 1);
static DigitalOut odout4(mcu::GPIO12, 1);
static DigitalOut odout5(mcu::GPIO13, 1);
static DigitalOut odout6(mcu::GPIO14, 1);
	
static PWMout od_pwm(mcu::PWM1);

/**** Public function declarations ****/

#ifdef TESTING
#endif

#endif /* UDCCD_BOARD_H_ */