public void SetPin(GpIO target, bool isOn)
		{
			_log.Info(string.Format("Set GpIO : {0} [{1}]", target, isOn ? "On" : "Off"));
		}
		public void SetPin(GpIO target, bool isOn)
		{
			var targetFound = _configuration.Targets.FirstOrDefault(x => x.Pin == target);
			SetPin(targetFound, isOn);
		}
		private ProcessorPin GetPin(GpIO gpIo)
		{
			switch (gpIo)
			{
				case GpIO.GPIO2:
					return ProcessorPin.Pin2;
				case GpIO.GPIO3:
					return ProcessorPin.Pin3;
				case GpIO.GPIO4:
					return ProcessorPin.Pin4;
				case GpIO.GPIO17:
					return ProcessorPin.Pin17;
				case GpIO.GPIO27:
					return ProcessorPin.Pin27;
				case GpIO.GPIO22:
					return ProcessorPin.Pin22;
				case GpIO.GPIO10:
					return ProcessorPin.Pin10;
				case GpIO.GPIO9:
					return ProcessorPin.Pin9;
				case GpIO.GPIO11:
					return ProcessorPin.Pin11;
				case GpIO.GPIO7:
					return ProcessorPin.Pin7;
				case GpIO.GPIO8:
					return ProcessorPin.Pin8;
				case GpIO.GPIO25:
					return ProcessorPin.Pin25;
				case GpIO.GPIO24:
					return ProcessorPin.Pin24;
				case GpIO.GPIO23:
					return ProcessorPin.Pin23;
				case GpIO.GPIO18:
					return ProcessorPin.Pin18;
				case GpIO.GPIO15:
					return ProcessorPin.Pin15;
				case GpIO.GPIO14:
					return ProcessorPin.Pin14;
				default:
					throw new ArgumentOutOfRangeException();
			}
			
		}
		public SequencesGpIo(GpIO pin, bool isOn)
			: this()
        {
            Pin = (int) pin;
            IsOn = isOn;
        }
		public void AddButton(GpIO p1Pin24, bool b)
		{
			_buttons.Add(new Button() {Pin = p1Pin24, IsToggle = false});
		}
			public Target(PinName target, GpIO pin, bool isReverse = false)
			{
				_target = target;
				_pin = pin;
				_isReverse = isReverse;
			}