| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | 
							- /******************************* (C) LiteMesh **********************************
 
-  * @module  led
 
-  * @file    led.c
 
-  * @version 1.0.0
 
-  * @date    XX.XX.XXXX
 
-  * $brief   Template
 
-  *******************************************************************************
 
-  * @history     Version  Author         Comment
 
-  * XX.XX.XXXX   1.0.0    Telenkov D.A.  First release.
 
-  *******************************************************************************
 
-  */
 
-    
 
- #include "stm32f4xx.h"
 
- #include "led.h"
 
- LED_t LED_GreenInt;
 
- LED_t LED_RedInt;
 
- LED_t LEDS[2];
 
- /**
 
-   * @brief  
 
-   * @retval 
 
-   */
 
- void LED_Init(void)
 
- {
 
- 	 GPIO_InitTypeDef GPIO_InitStructure;
 
- 	  RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOA, ENABLE);
 
- 	  LEDS[GREEN_STATUS].GPIOx = GPIOA;
 
- 	  LEDS[GREEN_STATUS].GPIO_Pin = GPIO_Pin_3;
 
- 	  LEDS[GREEN_STATUS].revers = 1;
 
- 	  LEDS[RED_STATUS].GPIOx = GPIOA;
 
- 	  LEDS[RED_STATUS].GPIO_Pin = GPIO_Pin_4;
 
- 	  LEDS[RED_STATUS].revers = 1;
 
- 	  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
 
- 	  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 
- 	  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
 
- 	  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
 
- 	  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
 
- 	  GPIO_Init(GPIOA, &GPIO_InitStructure);
 
- 	  LED_Off(GREEN_STATUS);
 
- 	  LED_Off(RED_STATUS);
 
- }
 
- /**
 
- * @brief  Мигает красным, индикация ошибки
 
-   */
 
- void LED_Blinky_Red(void)
 
- {
 
-   LED_Toggle(RED_STATUS);
 
- }
 
- /**
 
-   * @brief  Мигает желтым, индикация режима IAPviaSD
 
-   */
 
- void LED_Blinky_Yellow(void)
 
- {
 
-   LED_Toggle(GREEN_STATUS);
 
-   LED_Toggle(RED_STATUS);
 
- }
 
- /**
 
-   * @brief  Мигает зеленым, индикация режима IAPviaETH
 
-   */
 
- void LED_Blinky_Green(void)
 
- {
 
-   LED_Toggle(GREEN_STATUS);
 
- }
 
- /**
 
-   * @brief  
 
-   */
 
- void LED_On(LED_NAMES_t led)
 
- {
 
-   API_LED_On(LEDS[led].GPIOx, LEDS[led].GPIO_Pin, LEDS[led].revers);
 
- }
 
- /**
 
-   * @brief  
 
-   */
 
- void LED_Off(LED_NAMES_t led)
 
- {
 
-   API_LED_Off(LEDS[led].GPIOx, LEDS[led].GPIO_Pin, LEDS[led].revers);
 
- }
 
- /**
 
-   * @brief  Изменить состояние LED 
 
-   */
 
- void LED_Toggle(LED_NAMES_t led)
 
- {
 
-   LEDS[led].GPIOx->ODR ^= LEDS[led].GPIO_Pin;
 
- }
 
- /**
 
-   * @brief  Включить LED 
 
-   * @param  port
 
-   * @param  pin
 
-   * @param  revers: 0 - для включения LED нужно установить уровень
 
-   *                 1 - для включения LED нужно сбросить уровень
 
-   * @retval 
 
-   */
 
- void API_LED_On(GPIO_TypeDef* port, uint16_t pin, uint8_t revers)
 
- {
 
-   if (revers == 0)
 
-     port->BSRRL = pin;
 
-   else
 
-     port->BSRRH = pin;
 
- }
 
- /**
 
-   * @brief  Выключить LED 
 
-   * @param  port
 
-   * @param  pin
 
-   * @param  revers: 0 - для выключения LED нужно снять уровень
 
-   *                 1 - для выключения LED нужно установить уровень
 
-   * @retval 
 
-   */
 
- void API_LED_Off(GPIO_TypeDef* port, uint16_t pin, uint8_t revers)
 
- {
 
-   if (revers == 0)
 
-     port->BSRRH = pin;
 
-   else
 
-     port->BSRRL = pin;
 
- }
 
-  /******************************* (C) LiteMesh *********************************/
 
 
  |