/// <summary> /// Возвращает размер элемента массива данных канала в байтах. /// </summary> /// <param name="format"> /// Формат данных. /// </param> /// <returns> /// Размер элемента массива данных канала в байтах. /// </returns> internal static int GetItemSize(TestLabDataFormat format) { switch (format) { case TestLabDataFormat.UInt8: return(1); case TestLabDataFormat.UInt16: return(2); case TestLabDataFormat.UInt32: return(4); case TestLabDataFormat.Int8: return(1); case TestLabDataFormat.Int16: return(2); case TestLabDataFormat.Int32: return(4); case TestLabDataFormat.Float32: return(4); case TestLabDataFormat.Float64: return(8); default: throw new InvalidOperationException("Формат данных не поддерживается."); } }
/// <summary> /// Инициализирует новый экземпляр класса. /// </summary> public TestLabChannelHeader() : base(StorageFormat.TestLab) { _Description = ""; _Offset = 0; _Scale = 1; _Type = TestLabChannelType.Normal; _DataFormat = TestLabDataFormat.Float64; }
/// <summary> /// Выполняет проверку и нормализацию значения типа <see cref="TestLabDataFormat"/>. /// </summary> /// <param name="value"> /// Исходное значение. /// </param> /// <returns> /// Нормализованное значение. /// </returns> internal static TestLabDataFormat Validation(TestLabDataFormat value) { switch (value) { case TestLabDataFormat.UInt8: return(TestLabDataFormat.UInt8); case TestLabDataFormat.UInt16: return(TestLabDataFormat.UInt16); case TestLabDataFormat.UInt32: return(TestLabDataFormat.UInt32); case TestLabDataFormat.Int8: return(TestLabDataFormat.Int8); case TestLabDataFormat.Int16: return(TestLabDataFormat.Int16); case TestLabDataFormat.Int32: return(TestLabDataFormat.Int32); case TestLabDataFormat.Float32: return(TestLabDataFormat.Float32); case (TestLabDataFormat)((int)TestLabDataFormat.Float32 | 0x10): return(TestLabDataFormat.Float32); case TestLabDataFormat.Float64: return(TestLabDataFormat.Float64); case (TestLabDataFormat)((int)TestLabDataFormat.Float64 | 0x10): return(TestLabDataFormat.Float64); default: throw new InvalidOperationException("Формат данных не поддерживается."); } }