led.c 2.16 KB
/*
 * led.c
 *
 *  Created on: Oct 28, 2019
 *      Author: Yasin
 */

/* Includes ------------------------------------------------------------------*/
#include <Hardware/led.h>

LED_State ledState = LED000;

/**
 * control led by different modes.
 * @param ledMode led control modes
 */
void LED_StateControl(LED_State ledMode)
{
  LED1R_Close();
  LED2R_Close();
  LED3R_Close();

  switch (ledMode)
  {
    case LED000:
      LED1G_Close();
      LED2G_Close();
      LED3G_Close();
      break;

    case LED001:
      LED1G_Close();
      LED2G_Close();
      LED3G_Open();
      break;

    case LED010:
      LED1G_Close();
      LED2G_Open();
      LED3G_Close();
      break;

    case LED011:
      LED1G_Close();
      LED2G_Open();
      LED3G_Open();
      break;

    case LED100:
      LED1G_Open();
      LED2G_Close();
      LED3G_Close();
      break;

    case LED101:
      LED1G_Open();
      LED2G_Close();
      LED3G_Open();
      break;

    case LED110:
      LED1G_Open();
      LED2G_Open();
      LED3G_Close();
      break;

    case LED111:
      LED1G_Open();
      LED2G_Open();
      LED3G_Open();
      break;

    default:
      break;
  }
}

void LED_StateControl2(LED_State ledMode)
{
  LED1G_Close();
  LED2G_Close();
  LED3G_Close();

  switch (ledMode)
  {
    case LED000:
      LED1R_Close();
      LED2R_Close();
      LED3R_Close();
      break;

    case LED001:
      LED1R_Close();
      LED2R_Close();
      LED3R_Open();
      break;

    case LED010:
      LED1R_Close();
      LED2R_Open();
      LED3R_Close();
      break;

    case LED011:
      LED1R_Close();
      LED2R_Open();
      LED3R_Open();
      break;

    case LED100:
      LED1R_Open();
      LED2R_Close();
      LED3R_Close();
      break;

    case LED101:
      LED1R_Open();
      LED2R_Close();
      LED3R_Open();
      break;

    case LED110:
      LED1R_Open();
      LED2R_Open();
      LED3R_Close();
      break;

    case LED111:
      LED1R_Open();
      LED2R_Open();
      LED3R_Open();
      break;

    default:
      break;
  }
}