LedManager.cs 1.6 KB
 
using System.Collections.Generic; 
using TSA_V.Common;

namespace TSA_V.DeviceLibrary
{

    public class LedManager
    {
        private static Dictionary<string, LEDModule> deviceMap = new Dictionary<string, LEDModule>();

        public static void LightOn(string ip,List<int> lightList)
        { 
            LEDModule l = GetLEDModule(ip);
            Light[] lights = new Light[lightList.Count];
            int index = 0;
            foreach (int i in lightList)
            {
                lights[index] = (Light.GreenLight(i));
                index++;
            }
            l.LightOn(lights);
        }
        public static LEDModule GetLEDModule(string ip)
        {
            if (!deviceMap.ContainsKey(ip))
            {
                LEDModule led = new LEDModule(ip);
                deviceMap.Add(ip, led);
            }
            LEDModule l = deviceMap[ip];
            return l;
        }
        public static void LightOff(string ip, List<int> lightList)
        {

            LEDModule l = GetLEDModule(ip);
            l.LightOff(lightList.ToArray());
        }
        public static void OpenSoldering()
        {
            int index = ConfigAppSettings.GetIntValue(Setting_Init.SolderingLedIndex);
            string ip = ConfigAppSettings.GetValue(Setting_Init.SolderingLedIP);
            LEDModule led = LedManager.GetLEDModule(ip);
            led.LightOn(Light.GreenLight(index));
        }
        public static void LedOFFALL()
        {
            string ip = ConfigAppSettings.GetValue(Setting_Init.SolderingLedIP);
            LEDModule led = LedManager.GetLEDModule(ip);
            led.AllLightOff();
        }
    }
}