led.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /******************************* (C) LiteMesh **********************************
  2. * @module led
  3. * @file led.h
  4. * @version 1.0.0
  5. * @date XX.XX.XXXX
  6. * $brief led
  7. *******************************************************************************
  8. * @history Version Author Comment
  9. * XX.XX.XXXX 1.0.0 Telenkov D.A. First release.
  10. *******************************************************************************
  11. */
  12. /* Define to prevent recursive ----------------------------------------------*/
  13. #ifndef LED_H
  14. #define LED_H
  15. #include "stm32f4xx.h"
  16. /**
  17. * @brief
  18. */
  19. typedef struct {
  20. GPIO_TypeDef* GPIOx;
  21. uint16_t GPIO_Pin;
  22. uint8_t revers;
  23. } LED_t;
  24. typedef enum
  25. {
  26. GREEN_STATUS = 0,
  27. RED_STATUS
  28. } LED_NAMES_t;
  29. /**
  30. * @brief
  31. */
  32. void LED_Init(void);
  33. /**
  34. * @brief Мигает красным, индикация ошибки
  35. */
  36. void LED_Blinky_Red(void);
  37. /**
  38. * @brief Мигает желтым, индикация режима IAPviaSD
  39. */
  40. void LED_Blinky_Yellow(void);
  41. /**
  42. * @brief Мигает зеленым, индикация режима IAPviaETH
  43. */
  44. void LED_Blinky_Green(void);
  45. /**
  46. * @brief
  47. */
  48. void LED_On(LED_NAMES_t led);
  49. /**
  50. * @brief
  51. */
  52. void LED_Off(LED_NAMES_t led);
  53. /**
  54. * @brief Изменить состояние LED
  55. */
  56. void LED_Toggle(LED_NAMES_t led);
  57. /**
  58. * @brief
  59. */
  60. void API_LED_On(GPIO_TypeDef* port, uint16_t pin, uint8_t revers);
  61. /**
  62. * @brief
  63. */
  64. void API_LED_Off(GPIO_TypeDef* port, uint16_t pin, uint8_t revers);
  65. #endif /* #ifndef LED_H */
  66. /****************************** (C) LiteMesh ***************** end of file ****/