Example #1
0
 private void OnDioMappingChanged(byte id, DioMappingEnum value)
 {
     if (DioMappingChanged == null)
     {
         return;
     }
     DioMappingChanged((object)this, new DioMappingEventArg(id, value));
 }
Example #2
0
 private void OnDioMappingChanged(byte id, DioMappingEnum value)
 {
     if (this.DioMappingChanged != null)
     {
         this.DioMappingChanged(this, new DioMappingEventArg(id, value));
     }
 }
Example #3
0
 public DioMappingEventArg(byte id, DioMappingEnum value)
 {
     this.id = id;
     this.value = value;
 }
Example #4
0
 public DioMappingEventArg(byte id, DioMappingEnum value)
 {
     this.id    = id;
     this.value = value;
 }
Example #5
0
 public void SetDioMapping(byte id, DioMappingEnum value)
 {
     try
     {
         lock (syncThread)
         {
             Register local_1;
             switch (id)
             {
                 case (byte)0:
                 case (byte)1:
                 case (byte)2:
                 case (byte)3:
                     local_1 = registers["RegDioMapping1"];
                     break;
                 case (byte)4:
                 case (byte)5:
                     local_1 = registers["RegDioMapping2"];
                     break;
                 default:
                     throw new Exception("Invalid DIO ID!");
             }
             uint local_0 = (uint)(byte)local_1.Value;
             uint local_0_2;
             switch (id)
             {
                 case (byte)0:
                     local_0_2 = local_0 & 63U | (uint)value << 6;
                     break;
                 case (byte)1:
                     local_0_2 = local_0 & 207U | (uint)value << 4;
                     break;
                 case (byte)2:
                     local_0_2 = local_0 & 243U | (uint)value << 2;
                     break;
                 case (byte)3:
                     local_0_2 = (uint)((DioMappingEnum)(local_0 & 252U) | value & DioMappingEnum.DIO_MAP_11);
                     break;
                 case (byte)4:
                     local_0_2 = local_0 & 63U | (uint)value << 6;
                     break;
                 case (byte)5:
                     local_0_2 = local_0 & 207U | (uint)value << 4;
                     break;
                 default:
                     throw new Exception("Invalid DIO ID!");
             }
             local_1.Value = local_0_2;
         }
     }
     catch (Exception ex)
     {
         OnError((byte)1, ex.Message);
     }
 }
Example #6
0
 private void OnDioMappingChanged(byte id, DioMappingEnum value)
 {
     if (DioMappingChanged == null)
         return;
     DioMappingChanged((object)this, new DioMappingEventArg(id, value));
 }
Example #7
0
		public void SetDioMapping(byte id, DioMappingEnum value)
		{
			try
			{
				lock (syncThread)
				{
					Register register;
					switch (id)
					{
						case 0:
						case 1:
						case 2:
						case 3:
							register = m_registers["RegDioMapping1"];
							break;

						case 4:
						case 5:
							register = m_registers["RegDioMapping2"];
							break;

						default:
							throw new Exception("Invalid DIO ID!");
					}
					uint num = (byte)register.Value;
					switch (id)
					{
						case 0:
							num &= 0x3f;
							num |= ((uint)value) << 6;
							break;

						case 1:
							num &= 0xcf;
							num |= ((uint)value) << 4;
							break;

						case 2:
							num &= 0xf3;
							num |= ((uint)value) << 2;
							break;

						case 3:
							num &= 0xfc;
							num = (uint)(((DioMappingEnum)num) | (value & DioMappingEnum.DIO_MAP_11));
							break;

						case 4:
							num &= 0x3f;
							num |= ((uint)value) << 6;
							break;

						case 5:
							num &= 0xcf;
							num |= ((uint)value) << 4;
							break;

						default:
							throw new Exception("Invalid DIO ID!");
					}
					register.Value = num;
				}
			}
			catch (Exception exception)
			{
				OnError(1, exception.Message);
			}
		}