#ifndef __12VBAT_H
#define __12VBAT_H

#include "stm32f2xx.h"

#define ON  1
#define OFF 0

#define GPIO0_PIN   			   	 GPIO_Pin_1
#define GPIO0_PORT      			 GPIOG                      
#define GPIO0_CLK       			 RCC_AHB1Periph_GPIOG

#define GPIO1_PIN   			   	 GPIO_Pin_11
#define GPIO1_PORT      			 GPIOB                      
#define GPIO1_CLK       			 RCC_AHB1Periph_GPIOB

#define GPIO2_PIN   			   	 GPIO_Pin_12
#define GPIO2_PORT      			 GPIOB                      
#define GPIO2_CLK       			 RCC_AHB1Periph_GPIOB

#define GPIO3_PIN   			   	 GPIO_Pin_13
#define GPIO3_PORT      			 GPIOB                      
#define GPIO3_CLK       			 RCC_AHB1Periph_GPIOB

#define GPIO4_PIN   			   	 GPIO_Pin_14
#define GPIO4_PORT      			 GPIOB                      
#define GPIO4_CLK       			 RCC_AHB1Periph_GPIOB

#define GPIO5_PIN   			   	 GPIO_Pin_15
#define GPIO5_PORT      			 GPIOB                      
#define GPIO5_CLK       			 RCC_AHB1Periph_GPIOB

#define GPIO6_PIN   			   	 GPIO_Pin_10
#define GPIO6_PORT      			 GPIOD                      
#define GPIO6_CLK       			 RCC_AHB1Periph_GPIOD

#define GPIO7_PIN   			   	 GPIO_Pin_11
#define GPIO7_PORT      			 GPIOD                      
#define GPIO7_CLK       			 RCC_AHB1Periph_GPIOD

#define GPIO8_PIN   			   	 GPIO_Pin_12
#define GPIO8_PORT      			 GPIOD                     
#define GPIO8_CLK       			 RCC_AHB1Periph_GPIOD

#define GPIO9_PIN   			   	 GPIO_Pin_13
#define GPIO9_PORT      			 GPIOD                      
#define GPIO9_CLK       			 RCC_AHB1Periph_GPIOD

#define GPIO10_PIN   			   	 GPIO_Pin_14
#define GPIO10_PORT      			 GPIOD                      
#define GPIO10_CLK       			 RCC_AHB1Periph_GPIOD

#define GPIO11_PIN   			   	 GPIO_Pin_15
#define GPIO11_PORT      			 GPIOD                      
#define GPIO11_CLK       			 RCC_AHB1Periph_GPIOD

#define GPIO12_PIN   			   	 GPIO_Pin_2
#define GPIO12_PORT      			 GPIOG                      
#define GPIO12_CLK       			 RCC_AHB1Periph_GPIOG

#define GPIO13_PIN   			   	 GPIO_Pin_3
#define GPIO13_PORT      			 GPIOG                      
#define GPIO13_CLK       			 RCC_AHB1Periph_GPIOG

#define GPIO14_PIN   			   	 GPIO_Pin_4
#define GPIO14_PORT      			 GPIOG                     
#define GPIO14_CLK       			 RCC_AHB1Periph_GPIOG

#define GPIO15_PIN   			   	 GPIO_Pin_5
#define GPIO15_PORT      			 GPIOG                      
#define GPIO15_CLK       			 RCC_AHB1Periph_GPIOG

#define GPIO16_PIN   			   	 GPIO_Pin_6
#define GPIO16_PORT      			 GPIOG                      
#define GPIO16_CLK       			 RCC_AHB1Periph_GPIOG

#define GPIO17_PIN   			   	 GPIO_Pin_7
#define GPIO17_PORT      			 GPIOG                      
#define GPIO17_CLK       			 RCC_AHB1Periph_GPIOG

#define GPIO18_PIN   			   	 GPIO_Pin_8
#define GPIO18_PORT      			 GPIOG                     
#define GPIO18_CLK       			 RCC_AHB1Periph_GPIOG

#define GPIO19_PIN   			   	 GPIO_Pin_6
#define GPIO19_PORT      			 GPIOC                      
#define GPIO19_CLK       			 RCC_AHB1Periph_GPIOC

#define GPIO20_PIN   			   	 GPIO_Pin_7
#define GPIO20_PORT      			 GPIOC                      
#define GPIO20_CLK       			 RCC_AHB1Periph_GPIOC

#define GPIO21_PIN   			   	 GPIO_Pin_8
#define GPIO21_PORT      			 GPIOC                      
#define GPIO21_CLK       			 RCC_AHB1Periph_GPIOC

#define GPIO22_PIN   			   	 GPIO_Pin_9
#define GPIO22_PORT      			 GPIOC                      
#define GPIO22_CLK       			 RCC_AHB1Periph_GPIOC

#define GPIO23_PIN   			   	 GPIO_Pin_8
#define GPIO23_PORT      			 GPIOA                     
#define GPIO23_CLK       			 RCC_AHB1Periph_GPIOA

#define EVM_5V_PIN 			   	 	 GPIO_Pin_12
#define EVM_5V_PORT      			 GPIOA                     
#define EVM_5V_CLK       			 RCC_AHB1Periph_GPIOA

void BAT_12V_Config(void);
void BAT_5V_Config(void);
void all_12VBAT(uint8_t cmd);

void BAT12V(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, uint8_t a);

#endif
