Advertisement
tranthudo

app_led.c

Jun 6th, 2019
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.57 KB | None | 0 0
  1. /*****************************************************************************
  2.  *
  3.  * MODULE:             JN-AN-1217
  4.  *
  5.  * COMPONENT:          app_led.c
  6.  *
  7.  * DESCRIPTION:        Base Device application - reporting functionality
  8.  *
  9.  ***************************************************************************/
  10.  
  11. /****************************************************************************/
  12. /***        Include files                                                 ***/
  13. /****************************************************************************/
  14. #include "app_led.h"
  15. #include "dbg.h"
  16. /****************************************************************************/
  17. /***        Macro Definitions                                             ***/
  18. /****************************************************************************/
  19. #ifdef DEBUG_APP_LED
  20.     #define TRACE_APP_LED              (TRUE)
  21. #else   /* DEBUG_APP_LED */
  22.     #define TRACE_APP_LED              (FALSE)
  23. #endif  /* DEBUG_APP_LED */
  24. /****************************************************************************/
  25. /***        Type Definitions                                              ***/
  26. /****************************************************************************/
  27. #define NUMBER_GREEN_LED    (4)
  28. #define NUMBER_RED_LED      (4)
  29. /****************************************************************************/
  30. /***        Local Function Prototypes                                     ***/
  31. /****************************************************************************/
  32. PRIVATE uint8_t u8ArrLedPin[NUMBER_OF_LED] = {
  33.         SWITCH1_LED_GREEN,
  34.         SWITCH1_LED_RED,
  35.         SWITCH2_LED_GREEN,
  36.         SWITCH2_LED_RED,
  37.         SWITCH3_LED_GREEN,
  38.         SWITCH3_LED_RED,
  39.         SWITCH4_LED_GREEN,
  40.         SWITCH4_LED_RED,
  41. };
  42. /****************************************************************************/
  43. /***        Exported Variables                                            ***/
  44. /****************************************************************************/
  45. /****************************************************************************/
  46. /***        Local Variables                                               ***/
  47. /****************************************************************************/
  48. PRIVATE uint8_t u8ArrLedGreenPin[NUMBER_GREEN_LED] = {
  49.         SWITCH1_LED_GREEN,
  50.         SWITCH2_LED_GREEN,
  51.         SWITCH3_LED_GREEN,
  52.         SWITCH4_LED_GREEN
  53. };
  54.  
  55. PRIVATE uint8_t u8ArrLedRedPin[NUMBER_RED_LED] = {
  56.         SWITCH1_LED_RED,
  57.         SWITCH2_LED_RED,
  58.         SWITCH3_LED_RED,
  59.         SWITCH4_LED_RED
  60. };
  61. /****************************************************************************/
  62. /***        Exported Functions                                            ***/
  63. /****************************************************************************/
  64. PUBLIC void APP_LED_vInitialize(void)
  65. {
  66.     if(!DRV_LEDS_bInitialize(u8ArrLedPin, NUMBER_OF_LED, LED_LEVEL_50))
  67.     {
  68.         DBG_vPrintf(TRACE_APP_LED,"APP-LED: Initialize failed! \n");
  69.     }
  70. }
  71.  
  72. PUBLIC void APP_LED_vSetLevel(DRV_LEDS_teLedLevel_t eLedLevel)
  73. {
  74.     DRV_LEDS_vSetLevel(eLedLevel);
  75. }
  76.  
  77. PUBLIC void APP_LED_vTurnOn(uint8_t u8LedPin)
  78. {
  79.     DRV_LEDS_vOn(u8LedPin);
  80. }
  81.  
  82. PUBLIC void APP_LED_vTurnOff(uint8_t u8LedPin)
  83. {
  84.     DRV_LEDS_vOff(u8LedPin);
  85. }
  86.  
  87. PUBLIC void APP_LED_vBlink(
  88.         uint8_t                 u8LedPin,
  89.         int16_t                 i16BlinkDuration,
  90.         uint16_t                u16Cycle,
  91.         fnCbAfterBlink          fnCallback,
  92.         void                    *pParams
  93. )
  94. {
  95.     uint8 u8ArrLedPin[1] = {u8LedPin};
  96.  
  97.     DRV_LEDS_vBlinkLedsAlternately(u8ArrLedPin, 1, NULL, 0, -1,
  98.             i16BlinkDuration, u16Cycle / 2, u16Cycle / 2,
  99.             fnCallback, pParams);
  100. }
  101.  
  102. PUBLIC void APP_LED_vBlinkAlternately(
  103.         int16_t                 i16BlinkDuration,
  104.         uint16_t                u16Cycle,
  105.         fnCbAfterBlink          fnCallback,
  106.         void                    *pParams
  107. )
  108. {
  109.     DRV_LEDS_vBlinkLedsAlternately(u8ArrLedGreenPin, NUMBER_GREEN_LED, u8ArrLedRedPin, NUMBER_RED_LED, -1,
  110.                 i16BlinkDuration, u16Cycle / 2, u16Cycle/ 2,
  111.                 fnCallback, pParams);
  112. }
  113.  
  114. PUBLIC void APP_LED_vStopBlinkLed(uint8_t u8LedPin)
  115. {
  116.     uint8 u8ArrLedPin[1] = {u8LedPin};
  117.     DRV_LEDS_vStopBlinkLeds(FALSE, u8ArrLedPin, 1);
  118. }
  119.  
  120. PUBLIC void APP_LED_vStopBlinkAllLeds(void)
  121. {
  122.     DRV_LEDS_vStopBlinkLeds(TRUE, NULL, 0);
  123. }
  124. /****************************************************************************/
  125. /***        Local Functions                                               ***/
  126. /****************************************************************************/
  127.  
  128. /****************************************************************************/
  129. /***        END OF FILE                                                   ***/
  130. /****************************************************************************/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement