#ifndef LED_INDICATION_H
#define LED_INDICATION_H
   #include <stdbool.h>
   typedef enum
   {
       eLedMode_Idle,       // No indication
       eLedMode_Signaling,  // Signaling indincation
       eLedMode_Normal      // Normal indication
   }
   eLedMode_t;

    typedef enum
    {
        LED1,
        LED2
    }eLedNumber_t;

   typedef enum
   {
       eLed_color_off = 0,
       eLed_color_red,
       eLed_color_grn,
       eLed_color_orange
   }eLed_color_t;

   typedef struct
   {
       // Init - initialize module
       bool (*Init)();

       // Tick - 1ms tick signal, e.g. SysTickIRQ
       void (*Tick)();

       bool (*SetMode)( eLedMode_t mode );

       // SetLowBattery - set battery low signal (true/false)
       void (*SetLowBattery)( bool batteryLow );

       // SetUSBConnectivity - set USB active signal (true/false)
       void (*SetUSBConnectivity)( bool usbActive );

       // SetAutomatAlarm - set Automat-mode alarm signal
       void (*SetAutomatAlarm)( bool automatAlarm );

       // SetHarmupStatus - set device harming up status
       void (*SetHarmupStatus)( bool harmupCompleted );
       // DeInit - deinitialize module
       bool (*DeInit)();
       
       void (*harmup_init)();
       
       void (*harmup_serve)();
       
       void (*harmup_stop)();
   }
   sLED_Handle_t;

   extern const sLED_Handle_t LEDHandle;
   
   void setLedColor( eLed_color_t color );
   eLed_color_t GET_LED_COLOR_STATE( int number );
#endif