led.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /********************************* (C) РОТЕК ***********************************
  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. #include "gpio.h"
  17. typedef enum
  18. {
  19. GREEN_STATUS,
  20. RED_STATUS,
  21. } LED_NAMES_t;
  22. typedef enum
  23. {
  24. GREEN = 0,
  25. RED,
  26. YELLOW,
  27. } COLOR_t;
  28. typedef enum
  29. {
  30. TOGGLE_ON = 0,
  31. TOGGLE_OFF,
  32. } TOGGLE_t;
  33. typedef struct
  34. {
  35. COLOR_t color;
  36. TOGGLE_t toggle;
  37. } LED_STATE_t;
  38. /**
  39. * @brief
  40. */
  41. void LED_Init(void);
  42. /**
  43. * @brief Задача простой мигалки
  44. */
  45. void vTaskServiceLedBlink(void *arg);
  46. void vTaskServiceLedBlinkErr(void *arg);
  47. /**
  48. * @brief
  49. */
  50. void LED_On(gpio_t pin);
  51. /**
  52. * @brief
  53. */
  54. void LED_Off(gpio_t pin);
  55. /**
  56. * @brief Изменить состояние LED
  57. */
  58. void LED_Toggle(gpio_t pin);
  59. /**
  60. * @brief
  61. */
  62. void LED_SetStatusLedFreq(uint16_t freq);
  63. #endif /* #ifndef LED_H */
  64. /********************************* (C) РОТЕК **********************************/