/**
	************************************************************
	************************************************************
	************************************************************
	*	ļ 	led.c
	*
	*	ߣ 		ż
	*
	*	ڣ 		2016-11-23
	*
	*	汾 		V1.0
	*
	*	˵ 		LEDʼLED
	*
	*	޸ļ¼	
	************************************************************
	************************************************************
	************************************************************
**/

//Ƭͷļ
#include "stm32f10x.h"

//LEDͷļ
#include "led.h"
#include "hwtimer.h"



LED_STATUS led_status;


/*
************************************************************
*	ƣ	Led_Init
*
*	ܣ	LEDʼ
*
*	ڲ	
*
*	ز	
*
*	˵		LED4-PC7	LED5-PC8	LED6-PA12	LED7-PC10
				ߵƽص		͵ƽ
************************************************************
*/
void Led_Init(void)
{
	
	GPIO_InitTypeDef gpioInitStrcut;

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC, ENABLE);
	
	gpioInitStrcut.GPIO_Mode = GPIO_Mode_Out_PP;
	gpioInitStrcut.GPIO_Pin = GPIO_Pin_10;
	gpioInitStrcut.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOC, &gpioInitStrcut);
	
	gpioInitStrcut.GPIO_Pin = GPIO_Pin_12;
	GPIO_Init(GPIOA, &gpioInitStrcut);
	
	Timer1_8_Init(TIM8, 250, 71);
    
    Led4_Set(0);
    Led5_Set(0);
    Led6_Set(LED_OFF);
    Led7_Set(LED_OFF);

}

/*
************************************************************
*	ƣ	Led4_Set
*
*	ܣ	LED4
*
*	ڲ	statusLED_ON-	LED_OFF-ص
*
*	ز	
*
*	˵		
************************************************************
*/
void Led4_Set(unsigned char pwmValue)
{

	TIM_SetCompare2(TIM8, pwmValue);
	led_status.Led4Sta = pwmValue;

}

/*
************************************************************
*	ƣ	Led5_Set
*
*	ܣ	LED5
*
*	ڲ	statusLED_ON-	LED_OFF-ص
*
*	ز	
*
*	˵		
************************************************************
*/
void Led5_Set(unsigned char pwmValue)
{

	TIM_SetCompare3(TIM8, pwmValue);
	led_status.Led5Sta = pwmValue;

}

/*
************************************************************
*	ƣ	Led6_Set
*
*	ܣ	LED6
*
*	ڲ	statusLED_ON-	LED_OFF-ص
*
*	ز	
*
*	˵		
************************************************************
*/
void Led6_Set(LED_ENUM status)
{

	GPIO_WriteBit(GPIOA, GPIO_Pin_12, status != LED_ON ? Bit_SET : Bit_RESET);
	led_status.Led6Sta = status;

}

/*
************************************************************
*	ƣ	Led7_Set
*
*	ܣ	LED7
*
*	ڲ	statusLED_ON-	LED_OFF-ص
*
*	ز	
*
*	˵		
************************************************************
*/
void Led7_Set(LED_ENUM status)
{

	GPIO_WriteBit(GPIOC, GPIO_Pin_10, status != LED_ON ? Bit_SET : Bit_RESET);
	led_status.Led7Sta = status;

}
