Files
DP44/DataPRO/SLICECommands/AttributeCommands.cs
2026-04-17 14:55:32 -04:00

7153 lines
353 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using DTS.Common.Enums.DASFactory;
using DTS.Common.ICommunication;
using DTS.Common.Interface.DASFactory;
using DTS.Common.Utilities;
using DTS.Common.Utilities.Logging;
using DTS.Common.Utils;
namespace DTS.DASLib.Command.SLICE
{
public class AttributeTypes
{
public enum SystemAttributes_BridgeSlice6Air : ushort
{
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_1 = 0,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_2 = 1,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_4 = 2,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_8 = 3,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_10 = 4,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_16 = 5,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_20 = 6,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_32 = 7,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_40 = 8,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_64 = 9,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_80 = 10,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_128 = 11,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_160 = 12,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_320 = 13,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_640 = 14,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_1280 = 15,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_1 = 16,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_2 = 17,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_4 = 18,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_8 = 19,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_10 = 20,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_16 = 21,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_20 = 22,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_32 = 23,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_40 = 24,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_64 = 25,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_80 = 26,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_128 = 27,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_160 = 28,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_320 = 29,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_640 = 30,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_1280 = 31,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_1 = 32,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_2 = 33,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_4 = 34,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_8 = 35,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_10 = 36,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_16 = 37,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_20 = 38,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_32 = 39,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_40 = 40,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_64 = 41,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_80 = 42,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_128 = 43,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_160 = 44,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_320 = 45,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_640 = 46,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_1280 = 47,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_1 = 48,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_2 = 49,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_4 = 50,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_8 = 51,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_10 = 52,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_16 = 53,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_20 = 54,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_32 = 55,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_40 = 56,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_64 = 57,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_80 = 58,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_128 = 59,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_160 = 60,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_320 = 61,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_640 = 62,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_1280 = 63,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_1 = 64,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_2 = 65,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_4 = 66,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_8 = 67,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_10 = 68,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_16 = 69,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_20 = 70,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_32 = 71,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_40 = 72,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_64 = 73,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_80 = 74,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_128 = 75,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_160 = 76,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_320 = 77,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_640 = 78,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_1280 = 79,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_1 = 80,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_2 = 81,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_4 = 82,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_8 = 83,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_10 = 84,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_16 = 85,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_20 = 86,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_32 = 87,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_40 = 88,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_64 = 89,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_80 = 90,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_128 = 91,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_160 = 92,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_320 = 93,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_640 = 94,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_1280 = 95,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExcitationA_5Volts = 96,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExcitationB_5Volts = 97,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExcitationC_5Volts = 98,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExcitationD_5Volts = 99,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExcitationE_5Volts = 100,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExcitationF_5Volts = 101,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
FactoryCal_ChA_5V = 102,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
FactoryCal_ChB_5V = 103,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
FactoryCal_ChC_5V = 104,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
FactoryCal_ChD_5V = 105,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
FactoryCal_ChE_5V = 106,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
FactoryCal_ChF_5V = 107,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExternalTempAdjustFactor = 108,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_InternalTempAdjustFactor = 109,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_InternalADCAdjustFactor = 110,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_InputPowerAdjustFactor = 111,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
ExternalTempScaleFactorVperADC = 112,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
InternalTempScaleFactorVperADC = 113,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
InternalADCScaleFactorVperADC = 114,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
InputPowerScaleFactorVperADC = 115,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChA_OffsetDAC_Midscale = 116,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChB_OffsetDAC_Midscale = 117,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChC_OffsetDAC_Midscale = 118,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChD_OffsetDAC_Midscale = 119,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChE_OffsetDAC_Midscale = 120,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChF_OffsetDAC_Midscale = 121,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChABC_HalfBridge_DAC_Midscale = 122,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChDEF_HalfBridge_DAC_Midscale = 123,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
Temperature_OffsetC = 124,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
HardwareConfiguration = 125,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CalibrationDaysSince1970_01_01 = 126,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
temperatureCF = 127,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
X_TiltSensor_2g_CF = 128,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
Y_TiltSensor_2g_CF = 129,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
Z_TiltSensor_2g_CF = 130,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_A_ZERO_ADC_COUNT = 131,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_B_ZERO_ADC_COUNT = 132,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_C_ZERO_ADC_COUNT = 133,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_D_ZERO_ADC_COUNT = 134,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_E_ZERO_ADC_COUNT = 135,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_F_ZERO_ADC_COUNT = 136,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_A_IEPE_InsertDAC_MidScale = 137, // UINT16_RSV_1 = 137,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_B_IEPE_InsertDAC_MidScale = 138, // UINT16_RSV_2 = 138,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_C_IEPE_InsertDAC_MidScale = 139, // UINT16_RSV_3 = 139,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_D_IEPE_InsertDAC_MidScale = 140, // UINT16_RSV_4 = 140,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_E_IEPE_InsertDAC_MidScale = 141, // UINT16_RSV_5 = 141,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_F_IEPE_InsertDAC_MidScale = 142, // UINT16_RSV_6 = 142,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_12 = 143,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_11 = 144,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_10 = 145,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_9 = 146,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_8 = 147,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_7 = 148,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_6 = 149,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_5 = 150,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_4 = 151,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_3 = 152,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_2 = 153,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_1 = 154,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
HB_ABC_DAC_MVperADC_CF = 155,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
HB_DEF_DAC_MVperADC_CF = 156,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
Insert_Resistance_CF = 157,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
Hardware_Analog_Type = 158,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
Hardware_Analog_Bandwidth = 159,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_1 = 160,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_2 = 161,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_3 = 162,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_4 = 163,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_5 = 164,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_6 = 165,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_7 = 166,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_8 = 167,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_9 = 168,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_10 = 169,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_11 = 170,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_12 = 171,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_13 = 172,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_14 = 173,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_15 = 174,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_16 = 175,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_17 = 176,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_18 = 177,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_RSV_2 = 178,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_RSV_1 = 179,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_CH_A_InputDividerCF = 180,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_CH_B_InputDividerCF = 181,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_CH_C_InputDividerCF = 182,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_CH_D_InputDividerCF = 183,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_CH_E_InputDividerCF = 184,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_CH_F_InputDividerCF = 185,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_24V_Power_CF = 186,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_Current_MilliAmp_ChA = 187,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_Current_MilliAmp_ChB = 188,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_Current_MilliAmp_ChC = 189,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_Current_MilliAmp_ChD = 190,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_Current_MilliAmp_ChE = 191,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_Current_MilliAmp_ChF = 192,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_17 = 193,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_16 = 194,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_15 = 195,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_14 = 196,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_13 = 197,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_12 = 198,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_11 = 199,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_10 = 200,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_09 = 201,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_08 = 202,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_07 = 203,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_06 = 204,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_65 = 205,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_04 = 206,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_03 = 207,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_02 = 208,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_01 = 209
};
public enum SystemAttributes_BridgeSlice6ABR : ushort
{
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_1 = 0,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_2 = 1,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_4 = 2,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_8 = 3,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_10 = 4,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_16 = 5,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_20 = 6,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_32 = 7,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_40 = 8,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_64 = 9,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_80 = 10,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_128 = 11,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_160 = 12,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_320 = 13,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_640 = 14,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainA_1280 = 15,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_1 = 16,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_2 = 17,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_4 = 18,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_8 = 19,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_10 = 20,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_16 = 21,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_20 = 22,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_32 = 23,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_40 = 24,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_64 = 25,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_80 = 26,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_128 = 27,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_160 = 28,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_320 = 29,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_640 = 30,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainB_1280 = 31,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_1 = 32,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_2 = 33,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_4 = 34,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_8 = 35,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_10 = 36,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_16 = 37,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_20 = 38,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_32 = 39,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_40 = 40,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_64 = 41,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_80 = 42,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_128 = 43,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_160 = 44,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_320 = 45,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_640 = 46,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainC_1280 = 47,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_1 = 48,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_2 = 49,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_4 = 50,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_8 = 51,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_10 = 52,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_16 = 53,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_20 = 54,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_32 = 55,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_40 = 56,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_64 = 57,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_80 = 58,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_128 = 59,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_160 = 60,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_320 = 61,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_640 = 62,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainD_1280 = 63,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_1 = 64,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_2 = 65,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_4 = 66,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_8 = 67,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_10 = 68,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_16 = 69,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_20 = 70,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_32 = 71,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_40 = 72,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_64 = 73,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_80 = 74,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_128 = 75,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_160 = 76,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_320 = 77,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_640 = 78,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainE_1280 = 79,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_1 = 80,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_2 = 81,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_4 = 82,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_8 = 83,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_10 = 84,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_16 = 85,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_20 = 86,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_32 = 87,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_40 = 88,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_64 = 89,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_80 = 90,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_128 = 91,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_160 = 92,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_320 = 93,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_640 = 94,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
GainF_1280 = 95,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExcitationA_5Volts = 96,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExcitationB_5Volts = 97,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExcitationC_5Volts = 98,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExcitationD_5Volts = 99,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExcitationE_5Volts = 100,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExcitationF_5Volts = 101,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
FactoryCal_ChA_5V = 102,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
FactoryCal_ChB_5V = 103,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
FactoryCal_ChC_5V = 104,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
FactoryCal_ChD_5V = 105,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
FactoryCal_ChE_5V = 106,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
FactoryCal_ChF_5V = 107,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_ExternalTempAdjustFactor = 108,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_InternalTempAdjustFactor = 109,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_InternalADCAdjustFactor = 110,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
CF_InputPowerAdjustFactor = 111,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
ExternalTempScaleFactorVperADC = 112,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
InternalTempScaleFactorVperADC = 113,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
InternalADCScaleFactorVperADC = 114,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
InputPowerScaleFactorVperADC = 115,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChA_OffsetDAC_Midscale = 116,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChB_OffsetDAC_Midscale = 117,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChC_OffsetDAC_Midscale = 118,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChD_OffsetDAC_Midscale = 119,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChE_OffsetDAC_Midscale = 120,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChF_OffsetDAC_Midscale = 121,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChABC_HalfBridge_DAC_Midscale = 122,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
ChDEF_HalfBridge_DAC_Midscale = 123,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
Temperature_OffsetC = 124,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
HardwareConfiguration = 125,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CalibrationDaysSince1970_01_01 = 126,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
temperatureCF = 127,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
X_TiltSensor_2g_CF = 128,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
Y_TiltSensor_2g_CF = 129,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
Z_TiltSensor_2g_CF = 130,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_A_ZERO_ADC_COUNT = 131,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_B_ZERO_ADC_COUNT = 132,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_C_ZERO_ADC_COUNT = 133,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_D_ZERO_ADC_COUNT = 134,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_E_ZERO_ADC_COUNT = 135,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CH_F_ZERO_ADC_COUNT = 136,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_18 = 137,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_17 = 138,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_16 = 139,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_15 = 140,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_14 = 141,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_13 = 142,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_12 = 143,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_11 = 144,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_10 = 145,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_9 = 146,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_8 = 147,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_7 = 148,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_6 = 149,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_5 = 150,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_4 = 151,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_3 = 152,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_2 = 153,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
UINT16_RSV_1 = 154,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
HB_ABC_DAC_MVperADC_CF = 155,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
HB_DEF_DAC_MVperADC_CF = 156,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
Insert_Resistance_CF = 157,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
Hardware_Analog_Type = 158,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
Hardware_Analog_Bandwidth = 159,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_1 = 160,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_2 = 161,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_3 = 162,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_4 = 163,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_5 = 164,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_6 = 165,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_7 = 166,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_8 = 167,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_9 = 168,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_10 = 169,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_11 = 170,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_12 = 171,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_13 = 172,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_14 = 173,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_15 = 174,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_16 = 175,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_17 = 176,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_18 = 177,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_RSV_2 = 178,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
TILTSENSOR_RSV_1 = 179,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_CH_A_InputDividerCF = 180,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_CH_B_InputDividerCF = 181,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_CH_C_InputDividerCF = 182,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_CH_D_InputDividerCF = 183,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_CH_E_InputDividerCF = 184,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
IEPE_CH_F_InputDividerCF = 185,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_24 = 186,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_23 = 187,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_22 = 188,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_21 = 189,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_20 = 190,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_19 = 191,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_18 = 192,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_17 = 193,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_16 = 194,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_15 = 195,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_14 = 196,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_13 = 197,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_12 = 198,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_11 = 199,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_10 = 200,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_09 = 201,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_08 = 202,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_07 = 203,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_06 = 204,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_65 = 205,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_04 = 206,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_03 = 207,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_02 = 208,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
f32_reserved_01 = 209
};
public enum AttributeDataTypes
{
UInt8 = 0x00,
Int8, UInt16, Int16, UInt32, Int32, UInt64, Int64,
Float32, Float64, Ascii, Unicode, Bool,
UInt8Star = 0x10, Int8Star, UInt16Star, Int16Star,
UInt32Star, Int32Star, UInt64Star, Int64Star,
Float32Star, Float64Star,
UInt8Dict, Int8Dict, UInt16Dict, Int16Dict, UInt32Dict, Int32Dict,
UInt64Dict, Int64Dict, Float32Dict, Float64Dict, BoolStar,
Blob = 0x2F, Wildcard = 0xFE,
};
/*
Key Description
---------------------------------------------------------
0x00 Serial number
0x01 Type
0x02 Flash technology
0x03 Flash size (bytes)
0x04 Flash serial number
0x05 Maximum sample rate
0x06 Calibration Scale
Factor for
Temperature
0x07 Calibration Offset
for Temperature
0x08 Total Events Stored
0x09 USB Hub Speed (1=12Mbps, 2=480Mbps)
0x0A USB boost upstream port (0=none,1=low,2=medium,3=high)
0x0B USB boost downstream port 1 (0=none,1=low,2=medium,3=high)
0x0C USB boost downstream port 2 (0=none,1=low,2=medium,3=high)
*/
public enum SystemAttributes : ushort
{
[AttributeDataTypes(AttributeDataTypes.Ascii)]
SerialNumber = 0,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
Type = 1,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
FlashTechnology = 2,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
FlashSizeBytes = 3,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
FlashSerialNumber = 4,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
MaximumSampleRate = 5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TemperatureCalibrationScaleFactor = 6,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TemperatureCalibrationOffset = 7,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TotalEventsStored = 8,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBHubSpeed = 9,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostUp = 10,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostDown1 = 11,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostDown2 = 12,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
DASBootCount = 13,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
StartRecordPolarity = 14,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
TriggerPolarity = 15,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AutoArmed = 16,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AutoArmError = 17,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AutoDiagnosticLevel = 18,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
AttributeStoreBlocks = 19,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
MaxEvent = 20,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
OEMAppId = 21,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ManufacturerId_A = 22,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ManufacturerId_B = 23,
[AttributeDataTypes(AttributeDataTypes.Float32)]
ProductRev_A = 24,
[AttributeDataTypes(AttributeDataTypes.Float32)]
ProductRev_B = 25,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
ProductSN_A = 26,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
ProductSN_B = 27,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
VoltageRequirements = 28,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SA_MaxAU_A = 29,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SA_MaxAU_B = 30,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
SA_AutoReArm = 31,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
SA_MaxWaitSpinCount = 32,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
SA_IgnoreShortedStartTrigger = 33,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SA_CalibrationDaysSince1970_01_01 = 34,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6A_IrigStreamBufferConfig = 150, // S6A/S6A-Br/S6A-Tc/TSR AIR streaming
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
MaxEventsPossible = 171,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AdcClockSource = 172,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
SliceBusEnabled = 173,
};
public enum SystemAttributesSLICE2 : ushort
{
[AttributeDataTypes(AttributeDataTypes.Ascii)]
SerialNumber = 0,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
Type = 1,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
FlashTechnology = 2,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
FlashSizeBytes = 3,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
FlashSerialNumber = 4,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
MaximumSampleRate = 5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TemperatureCalibrationScaleFactor = 6,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TemperatureCalibrationOffset = 7,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TotalEventsStored = 8,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBHubSpeed = 9,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostUp = 10,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostDown1 = 11,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostDown2 = 12,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
DASBootCount = 13,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
StartRecordPolarity = 14,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
TriggerPolarity = 15,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AutoArmed = 16,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AutoArmError = 17,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AutoDiagnosticLevel = 18,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
AttributeStoreBlocks = 19,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
MaxEvent = 20,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
OEMAppId = 21,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
MaxSLICEEnable = 22,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
SLICECountOnStack = 23,
//[AttributeDataTypes(AttributeDataTypes.UInt8)]
//ManufacturerId_A = 22,
//[AttributeDataTypes(AttributeDataTypes.UInt8)]
//ManufacturerId_B = 23,
[AttributeDataTypes(AttributeDataTypes.Float32)]
InputVoltageScaleFactor = 24,
[AttributeDataTypes(AttributeDataTypes.Float32)]
BatteryVoltageScaleFactor = 25,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
VirtualFlashPageWordSize = 26,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
FPGAVersion = 27,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
VoltageRequirements = 28,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SmartChargeResistorSetting = 29,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Debug_BlipID = 30, // SA_MaxAU_B = 30,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
SA_AutoReArm = 31,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
BaseType = 32,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
DefaultSliceModuleTypeMIF = 33,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
StatusLineCheckDelay100MsecCount = 34,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
RearmDelay100MsecCount = 35,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
SliceModuleFirmwareUpgradeMode = 36,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
BaseFirmwareBuildID = 37,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BaseFirmwareCRC16 = 38,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SliceFirmwareFileID = 39,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CurrentConfigFileID = 40,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
IdleDiagCheckInternalMS = 41,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ArmDiagCheckInternalMS = 42,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
BaseHardwareRevision = 43,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ExternalRTC = 44,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
mspRTCcounter = 45,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
reSyncADC = 46,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
DbgCurrentPrevArmSysAttrBlkPage = 47,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PostEventCheckAll = 48,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
MinimumSampleRate = 49,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
HalfBridgeResistance = 50,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SA_byPassUSBHubTimeoutSec = 51, // for SLICE 1.5 only.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
SA_usbDetectionPullDownEnable = 52, // for SLICE 1.5 only.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
SA_StackBootloaderVersion = 53, // SLICE PRO only.
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 and PRO
AutoArmRepeatEnable = 54,
[AttributeDataTypes(AttributeDataTypes.Ascii)] // 1.5 and PRO
EngrNote = 55,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
AutoReArmOnOverrideEnable = 56,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
AutoReArmOnOverrideDisable = 57,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
SquibPowerSupplyLimits = 58,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CalibrationDaysSince1970_01_01 = 59,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TomShutdownInputPowerThreshold = 60,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
ArmDisableStartShortCheck = 61,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
ArmDisableTriggerShortCheck = 62,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
TomCapDischargeModeStatistic = 63, //N // dCD, dCC, sCD, sCC statistic for cap charge-discharge
[AttributeDataTypes(AttributeDataTypes.UInt32)]
TotalEventToDate = 64, //y // TotalEventToDate
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SystemID = 65, //y slice6 only. Identification to identify which dummy it belongs.
[AttributeDataTypes(AttributeDataTypes.Ascii)]
SystemLocation = 66, //y slice6 only. Location description.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Mode = 67, //y slice6 only. configure PTP to act as slave(0), master(1), auto(2)
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_DelayMechanism = 68, //y slice6 only. P2P(default) or E2E mode.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_CorrectMethod = 69, //y slice6 only. Multicast layer3(default), other TBD
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_FrequencyAdjustment = 70, //y slice6 only. offset seen between slave and master.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_ClockUpdateThresholdMicroSec = 71, //y slice6 only. distance larger than this value will cause PTP to update system clock directly with value from master clock. Smaller starts with periodic auto-correction.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_SyncThresholdMircoSec = 72, //y slice6 only. distance within this threshold is considered as synchronized, larger value will be treated as out of sync.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
LinkSpeed = 73,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
DHCP = 74,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpAddress = 75,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpMask = 76,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpGateWay = 77,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpDNS = 78,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
MacAddr = 79,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
AutoDiscoveryConfig = 80,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
TrueCirBufferModeMaxSampleRate = 81, // maximum rate can be use with true circular buffer mode (TBD feature)
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AdcPTP1588ClkSyncEnable = 82, // 1 = (AdcExtClkSyncEnable) ADC to use external clock as sampling rate reference. 0 = use internal clock as in legacy design.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AdminMode = 83, // enable system user to trigger changes to factory NW default setting to IP and Autodiscovery.
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_Port1LinkDelayNanoSec = 84, //y slice6 only. Port 1 Peer delay P2P mode only
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_Port2LinkDelayNanoSec = 85, //y slice6 only. Port 2 Peer delay P2P mode only
[AttributeDataTypes(AttributeDataTypes.UInt32)]
LoggingLevel32BitMask = 86, // slice6 only. BitMask to selectively enable logging of message type.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LoggingRingBufferSizeKB = 87, // slice6 only. Ring buffer to log dbg message.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_PPSEnable = 88, // slice6 only. enable/disable PPS output for debug.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
HttpEnable = 89, // slice6 only. Enable/Disable HTTP server
[AttributeDataTypes(AttributeDataTypes.UInt16)]
HttpPortNumber = 90, // slice6 only. HTTP port
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LedBehaviorBitMask = 91, // slice6 only. Bitmask for LED control. Bit0 = Status, bit1 = power. status has higher priority an override power.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port1InboundLatencyNanoSec = 92, // slice6 only. Inbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port1OutboundLatencyNanoSec = 93, // slice6 only. Outbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.Int16)]
PTP_Port1AsymDelayNanoSec = 94, // slice6 only. TC Asym Delay
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_Port1DebugFlags = 95, // slice6 only. Debug flgs. PTP implementation specific.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port2InboundLatencyNanoSec = 96, // slice6 only. Inbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port2OutboundLatencyNanoSec = 97, // slice6 only. Outbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.Int16)]
PTP_Port2AsymDelayNanoSec = 98, // slice6 only. TC Asym Delay
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_Port2DebugFlags = 99, // slice6 only. Debug flgs. PTP implementation specific.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_DisplayStats = 100, // slice6 only. Print PTP stats in console
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_DomainNumber = 101, // slice6 only. PTP Domain Number
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ServoAp = 102, // slice6 only. PTP Servo AP
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ServoAi = 103, // slice6 only. PTP Servo AI
[AttributeDataTypes(AttributeDataTypes.UInt16)]
StartRecDelayInSecond = 104, // for all slice
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_TwoStep = 105, // slice6 only. PTP Two Step Flag
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ClockSyncProfile = 106, // slice6/S6A/S6DB synchronization profile.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ScrubMPD = 107, // slice6 only. PTP filter out errant MPD values
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_TTL = 108, // slice6 only. PTP Time To Live
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EventInputDelayNanoSec = 109, // slice6 only. Event signal propagation delay
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Port1Mode = 110, // slice6 only. PTP Port 1 Mode
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Port2Mode = 111, // slice6 only. PTP Port 2 Mode
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LowRatePageCompletionConfig = 112, // slice family.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DB_ChargerVoltageMv = 113, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DB_ChargerBatteryFullShutdownDelaySec = 114, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DB_BatteryChargingIntervalSec = 115, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DB_BatteryCellCapacityMAh = 116, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
S6DB_PTP_BoundaryClockPortMode = 117, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DB_PTP_PortInboundLatencyNanoSec = 118, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DB_PTP_PortOutboundLatencyNanoSec = 119, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Int16Star)]
S6DB_PTP_PortAsymDelayNanoSec = 120, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
S6DB_PTP_PortDebugFlags = 121, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Int32Star)]
S6DB_PortsLinkDelayNanoSec = 122, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_DiagnosticsCF = 123, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_ExtSensorsCF = 124,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
BatteryLowHighSoCThreshold = 125,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_External6DOFTempOffsetAndCF = 126,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
S6DB_BatteryCellsPerPack = 127, // S6DB to indicate battery present or not.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DB_OperationChargeCurrentmA = 128, // S6DB trickale charge current in mA when battery is too low.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DB_PortsPowerOnDelayMsec = 129,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
KeepAliveAndHeartBeatPeriodConfig = 130, // slice6 and S6DB
[AttributeDataTypes(AttributeDataTypes.UInt32)]
StartInputDelayNanoSec = 131, // slice6 only. Start signal input delay
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
SA_OperationInputPowerThreshold = 132,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_PPSOutputPulseWidthNsec = 133, //S6DB only. Define PPS output pulse width when in PPS mode. PPSEnable will disable trigger output mode by default.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_TriggerOutputPulseWidthNsec = 134, // S6DB only. Define trigger output pulse width when in trigger output
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SA_StatusLineConfiguration = 135, // S6DB only. Configure the status line up/down relationship.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogAnnounceInterval = 136,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogDelayReqInterval = 137,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogSyncInterval = 138,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Priority1 = 139,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Priority2 = 140,
[AttributeDataTypes(AttributeDataTypes.Float32)]
S6DB_FuelGaugeRsenseScaleFactor = 141,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EthernetShutDownLowPowerThresholdVolts = 142, // S6/S6DB low power threshold to shutdown ethernet in ARM/Recording if no PTP no host needed.
[AttributeDataTypes(AttributeDataTypes.Float32)]
HalfBridgePlusG5CorrectionFactor = 143, // SPS gen 3 only.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_ADCTimeStampResyncIntervalMsec = 144, // S6 PTP Realtime stream resync interval in msec.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_AdcFifoFlagSPSThreshold = 145, // S6/S6A only. Minimum rate to use AF/HF flag. Lower value will use data present interrupt to read ADC. Mostly for R&D. Final solution should be one number fixed for all releases.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_DownloadStreamThrottleMsecPerMB = 146, // S6/S6A only. Configure msec delay per 1MB of download stream data to avoid clogging nw at 1st DAS at downlink connection.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_FastBootEnable = 147, // S6/S6A/S6DB option to bypass the bootloader "stop boot" mode and optimize to boot as quick as possible.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_DeviceStreamingOnly = 148, // S6/S6A configuration. This is only settable in AdminMode
[AttributeDataTypes(AttributeDataTypes.Ascii)]
S6A_IrigStreamingIpAddr = 149, // S6/S6A
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6A_IrigStreamBufferConfig = 150, // S6/S6A timestamped buffering status
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_IrigUdpStreamTTL = 151, // S6/S6A TTL level for UDP data stream
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_UdpStreamProfile = 152, // S6/S6A data stream format
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigChannelID = 153, // S6A_IrigChannelId unique channel ID
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigTimeDataPacketIntervalMsec = 154, // S6/S6A only. Interval to send out time data packet.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
S6A_GpsCanUARTSettings = 155, // S6A GPS/CAN UART Settings
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DBbaseHWRevisionVariant = 156, // for S6DB only. DAS class has this variable stored in MIF.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DBbaseEnvTempLoggingConfig = 157, // for S6DB only. DAS class has this variable stored in MIF.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PPRO_DiagnosticsCF = 158, // for PPRO only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PPRO_DiagnosticsOFFSET = 159, // for PPRO only.
};
public enum SystemAttributesSLICE6 : ushort
{
[AttributeDataTypes(AttributeDataTypes.Ascii)]
SerialNumber = 0,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
Type = 1,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
FlashTechnology = 2,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
FlashSizeBytes = 3,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
FlashSerialNumber = 4,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
MaximumSampleRate = 5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TemperatureCalibrationScaleFactor = 6,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TemperatureCalibrationOffset = 7,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TotalEventsStored = 8,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBHubSpeed = 9,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostUp = 10,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostDown1 = 11,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostDown2 = 12,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
BootCount = 13,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
StartRecordPolarity = 14,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
TriggerPolarity = 15,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AutoArmed = 16,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AutoArmError = 17,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AutoDiagnosticLevel = 18,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
AttributeStoreBlocks = 19,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
MaxEvent = 20,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
OEMAppId = 21,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
MaxSLICEEnable = 22,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
SLICECountOnStack = 23,
[AttributeDataTypes(AttributeDataTypes.Float32)]
InputVoltageScaleFactor = 24,
[AttributeDataTypes(AttributeDataTypes.Float32)]
BatteryVoltageScaleFactor = 25,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
VirtualFlashPageWordSize = 26,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
FPGAVersion = 27,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
VoltageRequirements = 28,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SmartChargeResistorSetting = 29,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Debug_BlipID = 30, // SA_MaxAU_B = 30,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AutoReArm = 31,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
BaseType = 32,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
DefaultSliceModuleTypeMIF = 33,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
StatusLineCheckDelay100MsecCount = 34,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
RearmDelay100MsecCount = 35,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
SliceModuleFirmwareUpgradeMode = 36,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
BaseFirmwareBuildID = 37,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BaseFirmwareCRC16 = 38,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SliceFirmwareFileID = 39,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CurrentConfigFileID = 40,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
IdleDiagCheckInternalMS = 41,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ArmDiagCheckInternalMS = 42,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
BaseHardwareRevision = 43,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ExternalRTC = 44,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
mspRTCcounter = 45,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
reSyncADC = 46,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
DbgCurrentPrevArmSysAttrBlkPage = 47,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PostEventCheckAll = 48,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
MinimumSampleRate = 49,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
HalfBridgeResistance = 50,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BypassUSBHubTimeoutSec = 51, // for SLICE 1.5 only.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBDetectionPullDownEnable = 52, // for SLICE 1.5 only.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
StackBootloaderVersion = 53, // SLICE PRO only.
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 and PRO
AutoArmRepeatEnable = 54,
[AttributeDataTypes(AttributeDataTypes.Ascii)] // 1.5 and PRO
EngrNote = 55,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
AutoReArmOnOverrideEnable = 56,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
AutoReArmOnOverrideDisable = 57,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
SquibPowerSupplyLimits = 58,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CalibrationDaysSince1970_01_01 = 59,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TomShutdownInputPowerThreshold = 60,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
ArmDisableStartShortCheck = 61,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
ArmDisableTriggerShortCheck = 62,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
TomCapDischargeModeStatistic = 63, //N // dCD, dCC, sCD, sCC statistic for cap charge-discharge
[AttributeDataTypes(AttributeDataTypes.UInt32)]
TotalEventToDate = 64, //y // TotalEventToDate
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SystemID = 65, //y slice6 only. Identification to identify which dummy it belongs.
[AttributeDataTypes(AttributeDataTypes.Ascii)]
SystemLocation = 66, //y slice6 only. Location description.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_ClockType = 67, //y slice6 only. configure PTP to act as slave TC(0), master TC(1), BC(2)
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_DelayMechanism = 68, //y slice6 only. P2P(default) or E2E mode.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_CorrectMethod = 69, //y slice6 only. Multicast layer3(default), other TBD
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_FrequencyAdjustment = 70, //y slice6 only. offset seen between slave and master.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_ClockUpdateThresholdMicroSec = 71, //y slice6 only. distance larger than this value will cause PTP to update system clock directly with value from master clock. Smaller starts with periodic auto-correction.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_SyncThresholdMircoSec = 72, //y slice6 only. distance within this threshold is considered as synchronized, larger value will be treated as out of sync.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
LinkSpeed = 73,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
DHCP = 74,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpAddress = 75,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpMask = 76,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpGateWay = 77,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpDNS = 78,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
MacAddr = 79,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
AutoDiscoveryConfig = 80,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
TrueCirBufferModeMaxSampleRate = 81, // maximum rate can be use with true circular buffer mode (TBD feature)
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AdcPTP1588ClkSyncEnable = 82, // 1 = (AdcExtClkSyncEnable) ADC to use external clock as sampling rate reference. 0 = use internal clock as in legacy design.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AdminMode = 83, // enable system user to trigger changes to factory NW default setting to IP and Autodiscovery.
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_Port1LinkDelayNanoSec = 84, //y slice6 only. Port 1 Peer delay P2P mode only
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_Port2LinkDelayNanoSec = 85, //y slice6 only. Port 2 Peer delay P2P mode only
[AttributeDataTypes(AttributeDataTypes.UInt32)]
LoggingLevel32BitMask = 86, // slice6 only. BitMask to selectively enable logging of message type.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LoggingRingBufferSizeKB = 87, // slice6 only. Ring buffer to log dbg message.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_PPSEnable = 88, // slice6 only. enable/disable PPS output for debug.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
HttpEnable = 89, // slice6 only. Enable/Disable HTTP server
[AttributeDataTypes(AttributeDataTypes.UInt16)]
HttpPortNumber = 90, // slice6 only. HTTP port
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LedBehaviorBitMask = 91, // slice6 only. Bitmask for LED control. Bit0 = Status, bit1 = power. status has higher priority an override power.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port1InboundLatencyNanoSec = 92, // slice6 only. Inbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port1OutboundLatencyNanoSec = 93, // slice6 only. Outbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.Int16)]
PTP_Port1AsymDelayNanoSec = 94, // slice6 only. TC Asym Delay
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_Port1DebugFlags = 95, // slice6 only. Debug flgs. PTP implementation specific.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port2InboundLatencyNanoSec = 96, // slice6 only. Inbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port2OutboundLatencyNanoSec = 97, // slice6 only. Outbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.Int16)]
PTP_Port2AsymDelayNanoSec = 98, // slice6 only. TC Asym Delay
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_Port2DebugFlags = 99, // slice6 only. Debug flgs. PTP implementation specific.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_DisplayStats = 100, // slice6 only. Print PTP stats in console
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_DomainNumber = 101, // slice6 only. PTP Domain Number
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ServoAp = 102, // slice6 only. PTP Servo AP
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ServoAi = 103, // slice6 only. PTP Servo AI
[AttributeDataTypes(AttributeDataTypes.UInt16)]
StartRecDelayInSecond = 104, // for all slice
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_TwoStep = 105, // slice6 only. PTP Two Step Flag
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ClockSyncProfile = 106, // slice6/S6A/S6DB synchronization profile.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ScrubMPD = 107, // slice6 only. PTP filter out errant MPD values
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_TTL = 108, // slice6 only. PTP Time To Live
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EventInputDelayNanoSec = 109, // slice6 only. Event signal propagation delay
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Port1Mode = 110, // slice6 only. PTP Port 1 Mode
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Port2Mode = 111, // slice6 only. PTP Port 2 Mode
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LowRatePageCompletionConfig = 112, // slice family.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DB_ChargerVoltageMv = 113, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DB_ChargerBatteryFullShutdownDelaySec = 114, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DB_BatteryChargingIntervalSec = 115, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DB_BatteryCellCapacityMAh = 116, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
PTP_BoundaryClockPortMode = 117, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
PTP_PortInboundLatencyNanoSec = 118, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
PTP_PortOutboundLatencyNanoSec = 119, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Int16Star)]
PTP_PortAsymDelayNanoSec = 120, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
PTP_PortDebugFlags = 121, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Int32Star)]
PortsLinkDelayNanoSec = 122, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_DiagnosticsCF = 123, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_ExtSensorsCF = 124,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
BatteryLowHighSoCThreshold = 125,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_External6DOFTempOffsetAndCF = 126,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
S6DB_BatteryCellsPerPack = 127, // S6DB to indicate battery present or not.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DB_OperationChargeCurrentmA = 128, // S6DB trickale charge current in mA when battery is too low.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DB_PortsPowerOnDelayMsec = 129,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
KeepAliveAndHeartBeatPeriodConfig = 130, // slice6 and S6DB
[AttributeDataTypes(AttributeDataTypes.UInt32)]
StartInputDelayNanoSec = 131, // slice6 only. Start signal input delay
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
SA_OperationInputPowerThreshold = 132,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_PPSOutputPulseWidthNsec = 133, //S6DB only. Define PPS output pulse width when in PPS mode. PPSEnable will disable trigger output mode by default.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_TriggerOutputPulseWidthNsec = 134, // S6DB only. Define trigger output pulse width when in trigger output
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SA_StatusLineConfiguration = 135, // S6DB only. Configure the status line up/down relationship.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogAnnounceInterval = 136,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogDelayReqInterval = 137,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogSyncInterval = 138,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Priority1 = 139,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Priority2 = 140,
[AttributeDataTypes(AttributeDataTypes.Float32)]
S6DB_FuelGaugeRsenseScaleFactor = 141,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EthernetShutDownLowPowerThresholdVolts = 142, // S6/S6DB low power threshold to shutdown ethernet in ARM/Recording if no PTP no host needed.
[AttributeDataTypes(AttributeDataTypes.Float32)]
HalfBridgePlusG5CorrectionFactor = 143, // SPS gen 3 only.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_ADCTimeStampResyncIntervalMsec = 144, // S6 PTP Realtime stream resync interval in msec.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigCGDPSendIntervalMsec = 145, // S6/S6A only. For computer generated data packet transmission period in msec. From 100 to 10,000
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_DownloadStreamThrottleMsecPerMB = 146, // S6/S6A only. Configure msec delay per 1MB of download stream data to avoid clogging nw at 1st DAS at downlink connection.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_FastBootEnable = 147, // S6/S6A/S6DB option to bypass the bootloader "stop boot" mode and optimize to boot as quick as possible.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_DeviceStreamingOnly = 148, // S6/S6A configuration. This is only settable in AdminMode
[AttributeDataTypes(AttributeDataTypes.Ascii)]
S6A_IrigStreamingIpAddr = 149, // S6/S6A timestamp streaming address
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6A_IrigStreamBufferConfig = 150, // S6/S6A timestamped buffering status
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_IrigUdpStreamTTL = 151, // S6/S6A/S6DB TTL level for UDP data stream
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_UdpStreamProfile = 152, // S6/S6A data stream format
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigChannelID = 153, // S6A_IrigChannelId unique channel ID
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigTimeDataPacketIntervalMsec = 154, // S6/S6A only. Interval to send out time data packet.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
S6A_GpsCanUARTSettings = 155, // S6A GPS/CAN UART Settings
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DBbaseHWRevisionVariant = 156, // for S6DB only. DAS class has this variable stored in MIF.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DBbaseEnvTempLoggingConfig = 157, // for S6DB only. DAS class has this variable stored in MIF.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PPRO_DiagnosticsCF = 158,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PPRO_DiagnosticsOFFSET = 159, // for PPRO only.
//17583 Monitor Test UI
[AttributeDataTypes(AttributeDataTypes.Ascii)]
AUTOARMUDP_ADDRESS = 170
};
public enum SystemAttributesSLICE6AIR : ushort
{
[AttributeDataTypes(AttributeDataTypes.Ascii)]
SerialNumber = 0,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
Type = 1,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
FlashTechnology = 2,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
FlashSizeBytes = 3,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
FlashSerialNumber = 4,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
MaximumSampleRate = 5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TemperatureCalibrationScaleFactor = 6,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TemperatureCalibrationOffset = 7,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TotalEventsStored = 8,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBHubSpeed = 9,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostUp = 10,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostDown1 = 11,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostDown2 = 12,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
BootCount = 13,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
StartRecordPolarity = 14,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
TriggerPolarity = 15,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AutoArmed = 16,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AutoArmError = 17,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AutoDiagnosticLevel = 18,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
AttributeStoreBlocks = 19,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
MaxEvent = 20,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
OEMAppId = 21,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
MaxSLICEEnable = 22,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
SLICECountOnStack = 23,
[AttributeDataTypes(AttributeDataTypes.Float32)]
InputVoltageScaleFactor = 24,
[AttributeDataTypes(AttributeDataTypes.Float32)]
BatteryVoltageScaleFactor = 25,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
VirtualFlashPageWordSize = 26,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
FPGAVersion = 27,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
VoltageRequirements = 28,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SmartChargeResistorSetting = 29,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Debug_BlipID = 30, // SA_MaxAU_B = 30,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AutoReArm = 31,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
BaseType = 32,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
DefaultSliceModuleTypeMIF = 33,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
StatusLineCheckDelay100MsecCount = 34,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
RearmDelay100MsecCount = 35,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
SliceModuleFirmwareUpgradeMode = 36,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
BaseFirmwareBuildID = 37,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BaseFirmwareCRC16 = 38,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SliceFirmwareFileID = 39,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CurrentConfigFileID = 40,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
IdleDiagCheckInternalMS = 41,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ArmDiagCheckInternalMS = 42,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
BaseHardwareRevision = 43,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ExternalRTC = 44,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
mspRTCcounter = 45,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
reSyncADC = 46,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
DbgCurrentPrevArmSysAttrBlkPage = 47,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PostEventCheckAll = 48,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
MinimumSampleRate = 49,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
HalfBridgeResistance = 50,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BypassUSBHubTimeoutSec = 51, // for SLICE 1.5 only.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBDetectionPullDownEnable = 52, // for SLICE 1.5 only.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
StackBootloaderVersion = 53, // SLICE PRO only.
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 and PRO
AutoArmRepeatEnable = 54,
[AttributeDataTypes(AttributeDataTypes.Ascii)] // 1.5 and PRO
EngrNote = 55,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
AutoReArmOnOverrideEnable = 56,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
AutoReArmOnOverrideDisable = 57,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
SquibPowerSupplyLimits = 58,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CalibrationDaysSince1970_01_01 = 59,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TomShutdownInputPowerThreshold = 60,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
ArmDisableStartShortCheck = 61,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
ArmDisableTriggerShortCheck = 62,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
TomCapDischargeModeStatistic = 63, //N // dCD, dCC, sCD, sCC statistic for cap charge-discharge
[AttributeDataTypes(AttributeDataTypes.UInt32)]
TotalEventToDate = 64, //y // TotalEventToDate
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SystemID = 65, //y slice6 only. Identification to identify which dummy it belongs.
[AttributeDataTypes(AttributeDataTypes.Ascii)]
SystemLocation = 66, //y slice6 only. Location description.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_ClockType = 67, //y slice6 only. configure PTP to act as slave TC(0), master TC(1), BC(2)
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_DelayMechanism = 68, //y slice6 only. P2P(default) or E2E mode.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UDPAlignOnPpsEnable = 69, //y slice6 only. Multicast layer3(default), other TBD
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_FrequencyAdjustment = 70, //y slice6 only. offset seen between slave and master.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_ClockUpdateThresholdMicroSec = 71, //y slice6 only. distance larger than this value will cause PTP to update system clock directly with value from master clock. Smaller starts with periodic auto-correction.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_SyncThresholdMircoSec = 72, //y slice6 only. distance within this threshold is considered as synchronized, larger value will be treated as out of sync.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
LinkSpeed = 73,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
DHCP = 74,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpAddress = 75,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpMask = 76,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpGateWay = 77,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpDNS = 78,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
MacAddr = 79,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
AutoDiscoveryConfig = 80,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
TrueCirBufferModeMaxSampleRate = 81, // maximum rate can be use with true circular buffer mode (TBD feature)
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AdcPTP1588ClkSyncEnable = 82, // 1 = (AdcExtClkSyncEnable) ADC to use external clock as sampling rate reference. 0 = use internal clock as in legacy design.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AdminMode = 83, // enable system user to trigger changes to factory NW default setting to IP and Autodiscovery.
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_Port1LinkDelayNanoSec = 84, //y slice6 only. Port 1 Peer delay P2P mode only
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_Port2LinkDelayNanoSec = 85, //y slice6 only. Port 2 Peer delay P2P mode only
[AttributeDataTypes(AttributeDataTypes.UInt32)]
LoggingLevel32BitMask = 86, // slice6 only. BitMask to selectively enable logging of message type.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LoggingRingBufferSizeKB = 87, // slice6 only. Ring buffer to log dbg message.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_PPSEnable = 88, // slice6 only. enable/disable PPS output for debug.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
HttpEnable = 89, // slice6 only. Enable/Disable HTTP server
[AttributeDataTypes(AttributeDataTypes.UInt16)]
HttpPortNumber = 90, // slice6 only. HTTP port
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LedBehaviorBitMask = 91, // slice6 only. Bitmask for LED control. Bit0 = Status, bit1 = power. status has higher priority an override power.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port1InboundLatencyNanoSec = 92, // slice6 only. Inbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port1OutboundLatencyNanoSec = 93, // slice6 only. Outbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.Int16)]
PTP_Port1AsymDelayNanoSec = 94, // slice6 only. TC Asym Delay
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_Port1DebugFlags = 95, // slice6 only. Debug flgs. PTP implementation specific.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port2InboundLatencyNanoSec = 96, // slice6 only. Inbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port2OutboundLatencyNanoSec = 97, // slice6 only. Outbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.Int16)]
PTP_Port2AsymDelayNanoSec = 98, // slice6 only. TC Asym Delay
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_Port2DebugFlags = 99, // slice6 only. Debug flgs. PTP implementation specific.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_DisplayStats = 100, // slice6 only. Print PTP stats in console
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_DomainNumber = 101, // slice6 only. PTP Domain Number
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ServoAp = 102, // slice6 only. PTP Servo AP
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ServoAi = 103, // slice6 only. PTP Servo AI
[AttributeDataTypes(AttributeDataTypes.UInt16)]
StartRecDelayInSecond = 104, // for all slice
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_TwoStep = 105, // slice6 only. PTP Two Step Flag
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ClockSyncProfile = 106, // slice6/S6A/S6DB synchronization profile.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
RemoveLeapSeconds = 107, // slice6 only. PTP filter out errant MPD values
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_TTL = 108, // slice6 only. PTP Time To Live
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EventInputDelayNanoSec = 109, // slice6 only. Event signal propagation delay
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Port1Mode = 110, // slice6 only. PTP Port 1 Mode
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Port2Mode = 111, // slice6 only. PTP Port 2 Mode
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LowRatePageCompletionConfig = 112, // slice family.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DB_ChargerVoltageMv = 113, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DB_ChargerBatteryFullShutdownDelaySec = 114, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DB_BatteryChargingIntervalSec = 115, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DB_BatteryCellCapacityMAh = 116, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
PTP_BoundaryClockPortMode = 117, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
PTP_PortInboundLatencyNanoSec = 118, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
PTP_PortOutboundLatencyNanoSec = 119, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Int16Star)]
PTP_PortAsymDelayNanoSec = 120, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
PTP_PortDebugFlags = 121, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Int32Star)]
PortsLinkDelayNanoSec = 122, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_DiagnosticsCF = 123, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_ExtSensorsCF = 124,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
BatteryLowHighSoCThreshold = 125,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_External6DOFTempOffsetAndCF = 126,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
S6DB_BatteryCellsPerPack = 127, // S6DB to indicate battery present or not.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DB_OperationChargeCurrentmA = 128, // S6DB trickale charge current in mA when battery is too low.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DB_PortsPowerOnDelayMsec = 129,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
KeepAliveAndHeartBeatPeriodConfig = 130, // slice6 and S6DB
[AttributeDataTypes(AttributeDataTypes.UInt32)]
StartInputDelayNanoSec = 131, // slice6 only. Start signal input delay
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
SA_OperationInputPowerThreshold = 132,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_PPSOutputPulseWidthNsec = 133, //S6DB only. Define PPS output pulse width when in PPS mode. PPSEnable will disable trigger output mode by default.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_TriggerOutputPulseWidthNsec = 134, // S6DB only. Define trigger output pulse width when in trigger output
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SA_StatusLineConfiguration = 135, // S6DB only. Configure the status line up/down relationship.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogAnnounceInterval = 136,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogDelayReqInterval = 137,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogSyncInterval = 138,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Priority1 = 139,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Priority2 = 140,
[AttributeDataTypes(AttributeDataTypes.Float32)]
S6DB_FuelGaugeRsenseScaleFactor = 141,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EthernetShutDownLowPowerThresholdVolts = 142, // S6/S6DB low power threshold to shutdown ethernet in ARM/Recording if no PTP no host needed.
[AttributeDataTypes(AttributeDataTypes.Float32)]
HalfBridgePlusG5CorrectionFactor = 143, // SPS gen 3 only.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_ADCTimeStampResyncIntervalMsec = 144, // S6 PTP Realtime stream resync interval in msec.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigCGDPSendIntervalMsec = 145, // S6/S6A only. For computer generated data packet transmission period in msec. From 100 to 10,000
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_DownloadStreamThrottleMsecPerMB = 146, // S6/S6A only. Configure msec delay per 1MB of download stream data to avoid clogging nw at 1st DAS at downlink connection.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_FastBootEnable = 147, // S6/S6A/S6DB option to bypass the bootloader "stop boot" mode and optimize to boot as quick as possible.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_DeviceStreamingOnly = 148, // S6/S6A configuration. This is only settable in AdminMode
[AttributeDataTypes(AttributeDataTypes.Ascii)]
S6A_IrigStreamingIpAddr = 149, // S6/S6A timestamp streaming address
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6A_IrigStreamBufferConfig = 150, // S6A/S6A-Br/S6A-Tc/TSR AIR streaming
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_IrigUdpStreamTTL = 151, // S6/S6A/S6DB TTL level for UDP data stream
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_UdpStreamProfile = 152, // S6/S6A data stream format
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigChannelID = 153, // S6A_IrigChannelId unique channel ID
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigTimeDataPacketIntervalMsec = 154, // S6/S6A only. Interval to send out time data packet.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
S6A_GpsCanUARTSettings = 155, // S6A GPS/CAN UART Settings
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DBbaseHWRevisionVariant = 156, // for S6DB only. DAS class has this variable stored in MIF.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DBbaseEnvTempLoggingConfig = 157, // for S6DB only. DAS class has this variable stored in MIF.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PPRO_DiagnosticsCF = 158,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PPRO_DiagnosticsOFFSET = 159, // for PPRO only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
PPRO_TempRangeOnChargingCurrentmA = 160, // for PPRO only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PPRO_Limit = 161, // for PPRO only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6A_Irig106ConfigAssist = 162, // 6x16 config TDP chID, 106 version, reserved[4]
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
PPRO_Config = 163, // for PPRO only
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PPRO_Sleep_Config = 164, // for PPRO only.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
TmnsPcmParameters = 165, // for SA6
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
BatteryBalanceSettings = 166,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
BatteryLowOutputOff = 167,
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
DspFilterAndStreamWhileRecordConfig = 168,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
EthRecordingMcAddrList = 169, // S6/S6A timestamp streaming address list
[AttributeDataTypes(AttributeDataTypes.Ascii)]
AutoArmMulticastAddr = 170, // S6/S6A timestamp streaming address
};
public enum SystemAttributesSLICE6DB : ushort
{
[AttributeDataTypes(AttributeDataTypes.Ascii)]
SerialNumber = 0,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
Type = 1,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
FlashTechnology = 2,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
FlashSizeBytes = 3,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
FlashSerialNumber = 4,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
MaximumSampleRate = 5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TemperatureCalibrationScaleFactor = 6,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TemperatureCalibrationOffset = 7,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TotalEventsStored = 8,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBHubSpeed = 9,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostUp = 10,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostDown1 = 11,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostDown2 = 12,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
BootCount = 13,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
StartRecordPolarity = 14,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
TriggerPolarity = 15,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AutoArmed = 16,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AutoArmError = 17,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AutoDiagnosticLevel = 18,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
AttributeStoreBlocks = 19,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
MaxEvent = 20,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
OEMAppId = 21,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
MaxSLICEEnable = 22,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
SLICECountOnStack = 23,
[AttributeDataTypes(AttributeDataTypes.Float32)]
InputVoltageScaleFactor = 24,
[AttributeDataTypes(AttributeDataTypes.Float32)]
BatteryVoltageScaleFactor = 25,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
VirtualFlashPageWordSize = 26,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
FPGAVersion = 27,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
VoltageRequirements = 28,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SmartChargeResistorSetting = 29,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Debug_BlipID = 30, // SA_MaxAU_B = 30,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AutoReArm = 31,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
BaseType = 32,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
DefaultSliceModuleTypeMIF = 33,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
StatusLineCheckDelay100MsecCount = 34,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
RearmDelay100MsecCount = 35,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
SliceModuleFirmwareUpgradeMode = 36,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
BaseFirmwareBuildID = 37,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BaseFirmwareCRC16 = 38,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SliceFirmwareFileID = 39,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CurrentConfigFileID = 40,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
IdleDiagCheckInternalMS = 41,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ArmDiagCheckInternalMS = 42,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
BaseHardwareRevision = 43,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ExternalRTC = 44,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
mspRTCcounter = 45,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
reSyncADC = 46,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
DbgCurrentPrevArmSysAttrBlkPage = 47,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PostEventCheckAll = 48,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
MinimumSampleRate = 49,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
HalfBridgeResistance = 50,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BypassUSBHubTimeoutSec = 51, // for SLICE 1.5 only.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBDetectionPullDownEnable = 52, // for SLICE 1.5 only.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
StackBootloaderVersion = 53, // SLICE PRO only.
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 and PRO
AutoArmRepeatEnable = 54,
[AttributeDataTypes(AttributeDataTypes.Ascii)] // 1.5 and PRO
EngrNote = 55,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
AutoReArmOnOverrideEnable = 56,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
AutoReArmOnOverrideDisable = 57,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
SquibPowerSupplyLimits = 58,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CalibrationDaysSince1970_01_01 = 59,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TomShutdownInputPowerThreshold = 60,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
ArmDisableStartShortCheck = 61,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
ArmDisableTriggerShortCheck = 62,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
TomCapDischargeModeStatistic = 63, //N // dCD, dCC, sCD, sCC statistic for cap charge-discharge
[AttributeDataTypes(AttributeDataTypes.UInt32)]
TotalEventToDate = 64, //y // TotalEventToDate
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SystemID = 65, //y slice6 only. Identification to identify which dummy it belongs.
[AttributeDataTypes(AttributeDataTypes.Ascii)]
SystemLocation = 66, //y slice6 only. Location description.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_ClockType = 67, //y slice6 only. configure PTP to act as slave TC(0), master TC(1), BC(2)
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_DelayMechanism = 68, //y slice6 only. P2P(default) or E2E mode.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_CorrectMethod = 69, //y slice6 only. Multicast layer3(default), other TBD
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_FrequencyAdjustment = 70, //y slice6 only. offset seen between slave and master.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_ClockUpdateThresholdMicroSec = 71, //y slice6 only. distance larger than this value will cause PTP to update system clock directly with value from master clock. Smaller starts with periodic auto-correction.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_SyncThresholdMircoSec = 72, //y slice6 only. distance within this threshold is considered as synchronized, larger value will be treated as out of sync.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
LinkSpeed = 73,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
DHCP = 74,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpAddress = 75,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpMask = 76,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpGateWay = 77,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpDNS = 78,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
MacAddr = 79,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
AutoDiscoveryConfig = 80,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
TrueCirBufferModeMaxSampleRate = 81, // maximum rate can be use with true circular buffer mode (TBD feature)
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AdcPTP1588ClkSyncEnable = 82, // 1 = (AdcExtClkSyncEnable) ADC to use external clock as sampling rate reference. 0 = use internal clock as in legacy design.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AdminMode = 83, // enable system user to trigger changes to factory NW default setting to IP and Autodiscovery.
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_Port1LinkDelayNanoSec = 84, //y slice6 only. Port 1 Peer delay P2P mode only
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_Port2LinkDelayNanoSec = 85, //y slice6 only. Port 2 Peer delay P2P mode only
[AttributeDataTypes(AttributeDataTypes.UInt32)]
LoggingLevel32BitMask = 86, // slice6 only. BitMask to selectively enable logging of message type.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LoggingRingBufferSizeKB = 87, // slice6 only. Ring buffer to log dbg message.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_PPSEnable = 88, // slice6 only. enable/disable PPS output for debug.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
HttpEnable = 89, // slice6 only. Enable/Disable HTTP server
[AttributeDataTypes(AttributeDataTypes.UInt16)]
HttpPortNumber = 90, // slice6 only. HTTP port
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LedBehaviorBitMask = 91, // slice6 only. Bitmask for LED control. Bit0 = Status, bit1 = power. status has higher priority an override power.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port1InboundLatencyNanoSec = 92, // slice6 only. Inbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port1OutboundLatencyNanoSec = 93, // slice6 only. Outbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.Int16)]
PTP_Port1AsymDelayNanoSec = 94, // slice6 only. TC Asym Delay
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_Port1DebugFlags = 95, // slice6 only. Debug flgs. PTP implementation specific.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port2InboundLatencyNanoSec = 96, // slice6 only. Inbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Port2OutboundLatencyNanoSec = 97, // slice6 only. Outbound Latency betwen wire and PTP timestamp engine.
[AttributeDataTypes(AttributeDataTypes.Int16)]
PTP_Port2AsymDelayNanoSec = 98, // slice6 only. TC Asym Delay
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_Port2DebugFlags = 99, // slice6 only. Debug flgs. PTP implementation specific.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_DisplayStats = 100, // slice6 only. Print PTP stats in console
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_DomainNumber = 101, // slice6 only. PTP Domain Number
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ServoAp = 102, // slice6 only. PTP Servo AP
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ServoAi = 103, // slice6 only. PTP Servo AI
[AttributeDataTypes(AttributeDataTypes.UInt16)]
StartRecDelayInSecond = 104, // for all slice
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_TwoStep = 105, // slice6 only. PTP Two Step Flag
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ClockSyncProfile = 106, // slice6/S6A/S6DB synchronization profile.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ScrubMPD = 107, // slice6 only. PTP filter out errant MPD values
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_TTL = 108, // slice6 only. PTP Time To Live
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EventInputDelayNanoSec = 109, // slice6 only. Event signal propagation delay
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Port1Mode = 110, // slice6 only. PTP Port 1 Mode
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Port2Mode = 111, // slice6 only. PTP Port 2 Mode
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LowRatePageCompletionConfig = 112, // slice family.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ChargerVoltageMv = 113, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ChargerBatteryFullShutdownDelaySec = 114, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BatteryChargingIntervalSec = 115, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BatteryCellCapacityMAh = 116, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
PTP_BoundaryClockPortMode = 117, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
PTP_PortInboundLatencyNanoSec = 118, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
PTP_PortOutboundLatencyNanoSec = 119, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Int16Star)]
PTP_PortAsymDelayNanoSec = 120, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
PTP_PortDebugFlags = 121, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Int32Star)]
PortsLinkDelayNanoSec = 122, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_DiagnosticsCF = 123, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_ExtSensorsCF = 124,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
BatteryLowHighSoCThreshold = 125,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_External6DOFTempOffsetAndCF = 126,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
BatteryCellsPerPack = 127, // S6DB to indicate battery present or not.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DB_OperationChargeCurrentmA = 128, // S6DB trickale charge current in mA when battery is too low.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DB_PortsPowerOnDelayMsec = 129,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
KeepAliveAndHeartBeatPeriodConfig = 130, // slice6 and S6DB
[AttributeDataTypes(AttributeDataTypes.UInt32)]
StartInputDelayNanoSec = 131, // slice6 only. Start signal input delay
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
SA_OperationInputPowerThreshold = 132,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_PPSOutputPulseWidthNsec = 133, //S6DB only. Define PPS output pulse width when in PPS mode. PPSEnable will disable trigger output mode by default.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_TriggerOutputPulseWidthNsec = 134, // S6DB only. Define trigger output pulse width when in trigger output
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SA_StatusLineConfiguration = 135, // S6DB only. Configure the status line up/down relationship.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogAnnounceInterval = 136,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogDelayReqInterval = 137,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogSyncInterval = 138,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Priority1 = 139,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Priority2 = 140,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FuelGaugeRsenseScaleFactor = 141,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EthernetShutDownLowPowerThresholdVolts = 142, // S6/S6DB low power threshold to shutdown ethernet in ARM/Recording if no PTP no host needed.
[AttributeDataTypes(AttributeDataTypes.Float32)]
HalfBridgePlusG5CorrectionFactor = 143, // SPS gen 3 only.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_ADCTimeStampResyncIntervalMsec = 144, // S6 PTP Realtime stream resync interval in msec.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigCGDPSendIntervalMsec = 145, // S6/S6A only. Configure RT stream packet size.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_DownloadStreamThrottleMsecPerMB = 146, // S6/S6A only. Configure msec delay per 1MB of download stream data to avoid clogging nw at 1st DAS at downlink connection.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_FastBootEnable = 147, // S6/S6A/S6DB option to bypass the bootloader "stop boot" mode and optimize to boot as quick as possible.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_DeviceStreamingOnly = 148, // S6/S6A configuration. This is only settable in AdminMode
[AttributeDataTypes(AttributeDataTypes.Ascii)]
S6A_IrigStreamingIpAddr = 149, // S6/S6A
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6A_IrigStreamBufferConfig = 150, // S6/S6A timestamped buffering status
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_IrigUdpStreamTTL = 151, // S6/S6A/S6DB TTL level for UDP data stream
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_UdpStreamProfile = 152, // S6/S6A data stream format
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigChannelID = 153, // S6A_IrigChannelId unique channel ID
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigTimeDataPacketIntervalMsec = 154, // S6/S6A only. Interval to send out time data packet.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
S6A_GpsCanUARTSettings = 155, // S6A GPS/CAN UART Settings
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6DBbaseHWRevisionVariant = 156, // for S6DB only. DAS class has this variable stored in MIF.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DBbaseEnvTempLoggingConfig = 157, // for S6DB only. DAS class has this variable stored in MIF.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PPRO_DiagnosticsCF = 158,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PPRO_DiagnosticsOFFSET = 159, // for PPRO only.
//17583 Monitor Test UI
[AttributeDataTypes(AttributeDataTypes.Ascii)]
AUTOARMUDP_ADDRESS = 170
};
public enum SystemAttributesSLICEPRODB : ushort
{
[AttributeDataTypes(AttributeDataTypes.Ascii)]
SerialNumber = 0,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
Type = 1,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
FlashTechnology = 2,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
FlashSizeBytes = 3,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
FlashSerialNumber = 4,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
MaximumSampleRate = 5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TemperatureCalibrationScaleFactor = 6,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TemperatureCalibrationOffset = 7,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TotalEventsStored = 8,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBHubSpeed = 9,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostUp = 10,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostDown1 = 11,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBBoostDown2 = 12,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
BootCount = 13,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
StartRecordPolarity = 14,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
TriggerPolarity = 15,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AutoArmed = 16,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AutoArmError = 17,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AutoDiagnosticLevel = 18,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
AttributeStoreBlocks = 19,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
MaxEvent = 20,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
OEMAppId = 21,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
MaxSLICEEnable = 22,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
SLICECountOnStack = 23,
[AttributeDataTypes(AttributeDataTypes.Float32)]
InputVoltageScaleFactor = 24,
[AttributeDataTypes(AttributeDataTypes.Float32)]
BatteryVoltageScaleFactor = 25,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
VirtualFlashPageWordSize = 26,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
FPGAVersion = 27,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
VoltageRequirements = 28,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SmartChargeResistorSetting = 29,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Debug_BlipID = 30, // SA_MaxAU_B = 30,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AutoReArm = 31,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
BaseType = 32,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
DefaultSliceModuleTypeMIF = 33,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
StatusLineCheckDelay100MsecCount = 34,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
RearmDelay100MsecCount = 35,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
SliceModuleFirmwareUpgradeMode = 36,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
BaseFirmwareBuildID = 37,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BaseFirmwareCRC16 = 38,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SliceFirmwareFileID = 39,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CurrentConfigFileID = 40,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
IdleDiagCheckInternalMS = 41,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ArmDiagCheckInternalMS = 42,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
BaseHardwareRevision = 43,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ExternalRTC = 44,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
mspRTCcounter = 45,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
reSyncADC = 46,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
DbgCurrentPrevArmSysAttrBlkPage = 47,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PostEventCheckAll = 48,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
MinimumSampleRate = 49,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
HalfBridgeResistance = 50,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BypassUSBHubTimeoutSec = 51, // for SLICE 1.5 only.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
USBDetectionPullDownEnable = 52, // for SLICE 1.5 only.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
StackBootloaderVersion = 53, // SLICE PRO only.
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 and PRO
AutoArmRepeatEnable = 54,
[AttributeDataTypes(AttributeDataTypes.Ascii)] // 1.5 and PRO
EngrNote = 55,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
AutoReArmOnOverrideEnable = 56,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
AutoReArmOnOverrideDisable = 57,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
SquibPowerSupplyLimits = 58,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CalibrationDaysSince1970_01_01 = 59,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TomShutdownInputPowerThreshold = 60,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
ArmDisableStartShortCheck = 61,
[AttributeDataTypes(AttributeDataTypes.UInt8)] // 1.5 only
ArmDisableTriggerShortCheck = 62,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
TomCapDischargeModeStatistic = 63, //N // dCD, dCC, sCD, sCC statistic for cap charge-discharge
[AttributeDataTypes(AttributeDataTypes.UInt32)]
TotalEventToDate = 64, //y // TotalEventToDate
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SystemID = 65, //y slice6 only. Identification to identify which dummy it belongs.
[AttributeDataTypes(AttributeDataTypes.Ascii)]
SystemLocation = 66, //y slice6 only. Location description.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_ClockType = 67, //y slice6 only. configure PTP to act as slave TC(0), master TC(1), BC(2)
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_DelayMechanism = 68, //y slice6 only. P2P(default) or E2E mode.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_CorrectMethod = 69, //y slice6 only. Multicast layer3(default), other TBD
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_FrequencyAdjustment = 70, //y slice6 only. offset seen between slave and master.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_ClockUpdateThresholdMicroSec = 71, //y slice6 only. distance larger than this value will cause PTP to update system clock directly with value from master clock. Smaller starts with periodic auto-correction.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_SyncThresholdMircoSec = 72, //y slice6 only. distance within this threshold is considered as synchronized, larger value will be treated as out of sync.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
LinkSpeed = 73,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
DHCP = 74,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpAddress = 75,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpMask = 76,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpGateWay = 77,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StaticIpDNS = 78,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
MacAddr = 79,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
AutoDiscoveryConfig = 80,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
TrueCirBufferModeMaxSampleRate = 81, // maximum rate can be use with true circular buffer mode (TBD feature)
[AttributeDataTypes(AttributeDataTypes.UInt16)]
AdcPTP1588ClkSyncEnable = 82, // 1 = (AdcExtClkSyncEnable) ADC to use external clock as sampling rate reference. 0 = use internal clock as in legacy design.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AdminMode = 83, // enable system user to trigger changes to factory NW default setting to IP and Autodiscovery.
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_Reserved_int32_1 = 84, //y slice6 only. PTP_Port1LinkDelayNanoSec
[AttributeDataTypes(AttributeDataTypes.Int32)]
PTP_Reserved_int32_2 = 85, //y slice6 only. PTP_Port2LinkDelayNanoSec
[AttributeDataTypes(AttributeDataTypes.UInt32)]
LoggingLevel32BitMask = 86, // slice6 only. BitMask to selectively enable logging of message type.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LoggingRingBufferSizeKB = 87, // slice6 only. Ring buffer to log dbg message.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_PPSConfigEnable = 88, // slice6 only. enable/disable PPS input/output option
[AttributeDataTypes(AttributeDataTypes.UInt8)]
HttpEnable = 89, // slice6 only. Enable/Disable HTTP server
[AttributeDataTypes(AttributeDataTypes.UInt16)]
HttpPortNumber = 90, // slice6 only. HTTP port
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LedBehaviorBitMask = 91, // slice6 only. Bitmask for LED control. Bit0 = Status, bit1 = power. status has higher priority an override power.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Reserved_U16_1 = 92, // slice6 only. PTP_Port1InboundLatencyNanoSec.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Reserved_U16_2 = 93, // slice6 only. PTP_Port1OutboundLatencyNanoSec.
[AttributeDataTypes(AttributeDataTypes.Int16)]
PTP_Reserved_int16_1 = 94, // slice6 only. PTP_Port1AsymDelayNanoSec
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_Reserved_U32_1 = 95, // slice6 only. PTP_Port1DebugFlags.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Reserved_U16_3 = 96, // slice6 only. PTP_Port2InboundLatencyNanoSec.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
PTP_Reserved_U16_4 = 97, // slice6 only. PTP_Port2OutboundLatencyNanoSec.
[AttributeDataTypes(AttributeDataTypes.Int16)]
PTP_Reserved_int16_2 = 98, // slice6 only. PTP_Port2AsymDelayNanoSec
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_Reserved_U32_2 = 99, // slice6 only. PTP_Port2DebugFlags
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_DisplayStats = 100, // slice6 only. Print PTP stats in console
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_DomainNumber = 101, // slice6 only. PTP Domain Number
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ServoAp = 102, // slice6 only. PTP Servo AP
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ServoAi = 103, // slice6 only. PTP Servo AI
[AttributeDataTypes(AttributeDataTypes.UInt16)]
StartRecDelayInSecond = 104, // for all slice
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_TwoStep = 105, // slice6 only. PTP Two Step Flag
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ClockSyncProfile = 106, // S6/S6A/S6DB
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_ScrubMPD = 107, // slice6 only. PTP filter out errant MPD values
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_TTL = 108, // slice6 only. PTP Time To Live
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EventInputDelayNanoSec = 109, // slice6 only. Event signal propagation delay
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Port1Mode = 110, // slice6 only. PTP Port 1 Mode
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Port2Mode = 111, // slice6 only. PTP Port 2 Mode
[AttributeDataTypes(AttributeDataTypes.UInt16)]
LowRatePageCompletionConfig = 112, // slice family.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ChargerVoltageMv = 113, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ChargerBatteryFullShutdownDelaySec = 114, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BatteryChargingIntervalSec = 115, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BatteryPerPackCapacityMAh = 116, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
PTP_BoundaryClockPortMode = 117, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
PTP_PortInboundLatencyNanoSec = 118, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
PTP_PortOutboundLatencyNanoSec = 119, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Int16Star)]
PTP_PortAsymDelayNanoSec = 120, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
PTP_PortDebugFlags = 121, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Int32Star)]
PortsLinkDelayNanoSec = 122, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_DiagnosticsCF = 123, // S6DB only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_ExtSensorsCF = 124,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
BatteryLowHighSoCThreshold = 125,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
S6DB_External6DOFTempOffsetAndCF = 126,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
BatteryCellsPerPack = 127, // S6DB to indicate battery present or not.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DB_OperationChargeCurrentmA = 128, // S6DB trickale charge current in mA when battery is too low.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6DB_PortsPowerOnDelayMsec = 129,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
KeepAliveAndHeartBeatPeriodConfig = 130, // slice6 and S6DB
[AttributeDataTypes(AttributeDataTypes.UInt32)]
StartInputDelayNanoSec = 131, // slice6 only. Start signal input delay
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
SA_OperationInputPowerThreshold = 132,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_PPSOutputPulseWidthNsec = 133, //S6DB only. Define PPS output pulse width when in PPS mode. PPSEnable will disable trigger output mode by default.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_TriggerOutputPulseWidthNsec = 134, // S6DB only. Define trigger output pulse width when in trigger output
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SPDB_StatusLineConfiguration = 135, // S6DB only. Configure the status line up/down relationship.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogAnnounceInterval = 136,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogDelayReqInterval = 137,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_LogSyncInterval = 138,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Priority1 = 139,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PTP_Priority2 = 140,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FuelGaugeRsenseScaleFactor = 141,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EthernetShutDownLowPowerThresholdVolts = 142, // S6/S6DB low power threshold to shutdown ethernet in ARM/Recording if no PTP no host needed.
[AttributeDataTypes(AttributeDataTypes.Float32)]
HalfBridgePlusG5CorrectionFactor = 143, // SPS gen 3 only.
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PTP_ADCTimeStampResyncIntervalMsec = 144, // S6 PTP Realtime stream resync interval in msec.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigCGDPSendIntervalMsec = 145, // S6/S6A only. Configure RT stream packet size.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_DownloadStreamThrottleMsecPerMB = 146, // S6/S6A only. Configure msec delay per 1MB of download stream data to avoid clogging nw at 1st DAS at downlink connection.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_FastBootEnable = 147, // S6/S6A/S6DB option to bypass the bootloader "stop boot" mode and optimize to boot as quick as possible.
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_DeviceStreamingOnly = 148, // S6/S6A configuration. This is only settable in AdminMode
[AttributeDataTypes(AttributeDataTypes.Ascii)]
S6A_IrigStreamingIpAddr = 149, // S6/S6A
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6A_IrigStreamBufferConfig = 150, // S6/S6A timestamped buffering status
[AttributeDataTypes(AttributeDataTypes.UInt8)]
S6A_IrigUdpStreamTTL = 151, // S6/S6A/S6DB TTL level for UDP data stream
[AttributeDataTypes(AttributeDataTypes.UInt8)]
SA_UdpStreamProfile = 152, // S6/S6A data stream format
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
SA_IrigBSyncCfgSetting = 153, // SA_IrigBSyncCfgSetting unique channel ID
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigTimeDataPacketIntervalMsec = 154, // S6/S6A only. Interval to send out time data packet.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
S6A_GpsCanUARTSettings = 155, // S6A GPS/CAN UART Settings
[AttributeDataTypes(AttributeDataTypes.UInt16)]
S6A_IrigStreamPayLoadChecksum = 156, // S6A only. 0/Other = None. 8, 16, 32 = dataChecksume type. // S6DBbaseHWRevisionVariant = 156, // for S6DB only. DAS class has this variable stored in MIF.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
SPDBbaseEnvTempLoggingConfig = 157, // for S6DB only. DAS class has this variable stored in MIF.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
SPDB_DiagnosticsCF = 158,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
SPDB_DiagnosticsOFFSET = 159, // for PPRO only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
SPDB_TempRangeOnChargingCurrentmA = 160, // for PPRO only.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PPRO_Limit = 161, // for PPRO only.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
S6A_Irig106ConfigAssist = 162, // 6x16 config TDP chID, 106 version, reserved[4]
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
PPRO_Config = 163, // for PPRO only
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PPRO_Sleep_Config = 164, // for PPRO only.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
TmnsPcmParameters = 165, // for SA6
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
BatteryBalanceSettings = 166,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
BatteryLowOutputOff = 167,
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
DspFilterAndStreamWhileRecordConfig = 168,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
EthRecordingMcAddrList = 169, // S6/S6A timestamp streaming address
[AttributeDataTypes(AttributeDataTypes.Ascii)]
AutoArmMulticastAddr = 170, // S6/S6A timestamp streaming address
};
public enum SystemAttributes_IEPE : ushort
{
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_1 = 0,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_10 = 1,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_1 = 2,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_10 = 3,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_1 = 4,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_10 = 5,
/*
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_2 = 6,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_4 = 7,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_8 = 8,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_16 = 9,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_20 = 10,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_32 = 11,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_40 = 12,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_64 = 13,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_80 = 14,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_128 = 15,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_160 = 16,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_320 = 17,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_640 = 18,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainA_1280 = 19,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_2 = 20,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_4 = 21,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_8 = 22,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_16 = 23,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_20 = 24,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_32 = 25,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_40 = 26,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_64 = 27,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_80 = 28,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_128 = 29,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_160 = 30,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_320 = 31,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_640 = 32,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainB_1280 = 33,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_2 = 34,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_4 = 35,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_8 = 36,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_16 = 37,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_20 = 38,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_32 = 39,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_40 = 40,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_64 = 41,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_80 = 42,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_128 = 43,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_GainC_160 = 44,
[AttributeDataTypes(AttributeDataTypes.Float32)]
* */
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_FactoryCalibratedPower24Volts = 45,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_Power24VMon_ScaleFactorVperADC = 46,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_Power24VMon_Adjust = 47,
//=======================================================
/*
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_FactoryCalibratedExcitationAmA = 48, //IA_FactoryCalibratedExcitationAVolts,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_FactoryCalibratedExcitationBmA = 49, //IA_FactoryCalibratedExcitationBVolts,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_FactoryCalibratedExcitationCmA = 50, //IA_FactoryCalibratedExcitationCVolts,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_ExcitationA_ScaleFactormAperADC = 51, // depend on dummy load R value.
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_ExcitationB_ScaleFactormAperADC = 52, // s/a
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_ExcitationC_ScaleFactormAperADC = 53, // s/a
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_ExcitationA_Adjust = 54,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_ExcitationB_Adjust = 55,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_ExcitationC_Adjust = 56,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_Temperature_ScaleFactorCperADC = 57,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_ShuntDACReferenceVoltageAdjustment = 58,
* */
// END IEPE Not Needed CB
//=======================================================
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_CalDAC_ScaleFactorVperADC = 59, //IEPE Addition CB //IA_ShuntDACDividerRatioAdjustment,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_SupplyMon_ScaleFactorVperADC = 60,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_Plus5VA_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_MicroVCC_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_InternalADC_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_SupplyMon_Adjust,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_Plus5VA_Adjust,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IA_InternalADC_Adjust,
//=======================================================
// Internal to Base FW
[AttributeDataTypes(AttributeDataTypes.UInt16)]
IA_HardwareConfiguration,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
IA_BootMode,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
IA_CalibrationDaysSince1970_01_01,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
IA_Temperature_OffsetC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
IA_OffsetDACA_Midscale,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
IA_OffsetDACB_Midscale,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
IA_OffsetDACC_Midscale
}
public enum SystemAttributes_Bridge : ushort
{
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_1,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_2,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_4,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_8,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_10,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_16,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_20,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_32,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_40,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_64,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_80,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_128,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_160,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_320,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_640,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_1280,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_1,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_2,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_4,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_8,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_10,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_16,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_20,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_32,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_40,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_64,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_80,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_128,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_160,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_320,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_640,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_1280,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_1,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_2,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_4,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_8,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_10,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_16,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_20,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_32,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_40,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_64,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_80,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_128,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_160,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_320,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_640,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_1280,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationAVolts,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationBVolts,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationCVolts,
[AttributeDataTypes(AttributeDataTypes.Float32)]
ExcitationA_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
ExcitationB_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
ExcitationC_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
ExcitationA_Adjust,
[AttributeDataTypes(AttributeDataTypes.Float32)]
ExcitationB_Adjust,
[AttributeDataTypes(AttributeDataTypes.Float32)]
ExcitationC_Adjust,
[AttributeDataTypes(AttributeDataTypes.Float32)]
Temperature_ScaleFactorCperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
ShuntDACReferenceVoltageAdjustment,
[AttributeDataTypes(AttributeDataTypes.Float32)]
ShuntDACDividerRatioAdjustment,
[AttributeDataTypes(AttributeDataTypes.Float32)]
SupplyMon_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
Plus5VA_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
MicroVCC_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
InternalADC_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
SupplyMon_Adjust,
[AttributeDataTypes(AttributeDataTypes.Float32)]
Plus5VA_Adjust,
[AttributeDataTypes(AttributeDataTypes.Float32)]
InternalADC_Adjust,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
HardwareConfiguration,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BootMode,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CalibrationDaysSince1970_01_01,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Temperature_OffsetC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
OffsetDACA_Midscale,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
OffsetDACB_Midscale,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
OffsetDACC_Midscale,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BIAS_ADC_A,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BIAS_ADC_B,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
BIAS_ADC_C,
};
public enum SystemAttributes_Bridge_SLICE2 : ushort
{
// 84 floats
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_1 = 0,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_2,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_4,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_8,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_10,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_16,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_20,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_32,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_40,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_50,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_64,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_80,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_100,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_128,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_160,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_200,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_256,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_320,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_400,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_640,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_800,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_1280,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_1600,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_2560,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_3200,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_6400,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_12800,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_1,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_2,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_4,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_8,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_10,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_16,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_20,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_32,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_40,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_50,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_64,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_80,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_100,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_128,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_160,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_200,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_256,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_320,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_400,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_640,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_800,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_1280,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_1600,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_2560,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_3200,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_6400,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_12800,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_1,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_2,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_4,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_8,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_10,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_16,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_20,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_32,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_40,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_50,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_64,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_80,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_100,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_128,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_160,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_200,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_256,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_320,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_400,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_640,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_800,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_1280,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_1600,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_2560,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_3200,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_6400,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_12800,
// 21 floats
// 5 excitation adjustment for channel A stored
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationA_2000mV,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationA_5000mV,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationA_10000mV,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationA_AdjustFactor,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationA_AdjustFactor_10V,
// 5 excitation adjustment for channel B stored
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationB_2000mV,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationB_5000mV,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationB_10000mV,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationB_AdjustFactor,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationB_AdjustFactor_10V,
// 5 excitation adjustment for channel C stored
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationC_2000mV,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationC_5000mV,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationC_10000mV, // all values above this line
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationC_AdjustFactor, // are stored as integer.
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationC_AdjustFactor_10V, // 15 used to multiplied with reading
// 6
[AttributeDataTypes(AttributeDataTypes.Float32)]
Temperature_AdjustScaleFactor, // multiplied to get Temp reading.
[AttributeDataTypes(AttributeDataTypes.Float32)]
CoarseShuntDAC_AdjustScaleFactor, // multiplied to get Shunt value.
[AttributeDataTypes(AttributeDataTypes.Float32)]
FineShuntDAC_AdjustScaleFactor, // multiplied to get Fine value.
[AttributeDataTypes(AttributeDataTypes.Float32)]
SupplyMon_AdjustScaleFactor, // multiplied to get Suply monitor.
[AttributeDataTypes(AttributeDataTypes.Float32)]
Plus5VA_AdjustScaleFactor, // multiplied to get 5V input.
[AttributeDataTypes(AttributeDataTypes.Float32)]
InternalADC_AdjustScaleFactor,
//=======================================
// 5 floats
[AttributeDataTypes(AttributeDataTypes.Float32)]
ExcitationFactor_VperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
Plus5VA_ScaleFactor_VperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
Temperature_ScaleFactorCperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
SupplyMon_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
InternalADC_ScaleFactorVperADC,
// 18 ushorts
[AttributeDataTypes(AttributeDataTypes.UInt16)]
OffsetDACA_Midscale,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
OffsetDACB_Midscale,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
OffsetDACC_Midscale,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_A_EXCITATION_2V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_A_IEPE_OffsetDAC_Midscale, // repurposed CHAN_A_EXCITATION_2_5V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
FeatureConfig, // CHAN_A_EXCITATION_3V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_A_EXCITATION_5V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_A_EXCITATION_10V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_B_EXCITATION_2V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_B_IEPE_OffsetDAC_Midscale, // repurposed CHAN_B_EXCITATION_2_5V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Reserved_U16_2, // CHAN_B_EXCITATION_3V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_B_EXCITATION_5V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_B_EXCITATION_10V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_C_EXCITATION_2V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_C_IEPE_OffsetDAC_Midscale, // repurposed CHAN_C_EXCITATION_2_5V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Hardware_Revision, // CHAN_C_EXCITATION_3V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_C_EXCITATION_5V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_C_EXCITATION_10V_DAC,
// 2 ushort type
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Temperature_OffsetC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CalibrationDaysSince1970_01_01,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
HardwareConfiguration, // for NANO bridge, IEPE, PRO bridge/IEPE + configrabilyt.
// IEPE Stuffs those are not in common with bridge
// Gain: No 1st stage IA, so the gain has to be recalibrated.
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_1,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_2,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_10,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_20,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_50,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_100,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_1,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_2,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_10,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_20,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_50,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_100,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_1,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_2,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_10,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_20,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_50,
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_100,
[AttributeDataTypes(AttributeDataTypes.Float32)]
PowerSupply24V_Adjust,
[AttributeDataTypes(AttributeDataTypes.Float32)]
Power24VMon_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedPower24Volts,
[AttributeDataTypes(AttributeDataTypes.Float32)]
RevC_Negative_4point5V_Power_AdjustmentFactor,
[AttributeDataTypes(AttributeDataTypes.Float32)]
RevC_Negative_4point5V_Power_ScaleFactorVperADC,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_1,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_2,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_3, // s/a
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_4
}
public enum SystemAttributes_Bridge_SLICE2_GEN3 : ushort
{
// 84 floats
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_1 = 0, //0
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_2, // 1
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_4, // 2
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_8, // 3
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_16, // 4
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_20, // 5
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_32, // 6
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_40, // 7
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_64, // 8
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_80, // 9
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_160, // 10
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_320, // 11
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_640, // 12
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_800, // 13
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_1600, // 14
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_3200, // 15
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_6400, // 16
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_16000, // 17
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_32000, // 18
[AttributeDataTypes(AttributeDataTypes.Float32)]
GA_64000, // 19
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedA0, // 20
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedA1, // 21
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedA2, // 22
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedA3, // 23
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedA4, // 24
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedA5, // 25
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedA6, // 26
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedA7, // 27
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_1, // 28
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_2, // 29
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_4, // 30
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_8, // 31
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_16, // 32
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_20, // 33
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_32, // 34
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_40, // 35
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_64, // 36
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_80, // 37
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_160, // 38
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_320, // 39
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_640, // 40
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_800, // 41
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_1600, // 42
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_3200, // 43
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_6400, // 44
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_16000, // 45
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_32000, // 46
[AttributeDataTypes(AttributeDataTypes.Float32)]
GB_64000, // 47
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedB0, // 48
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedB1, // 49
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedB2, // 50
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedB3, // 51
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedB4, // 52
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedB5, // 53
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedB6, // 54
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedB7, // 55
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_1, // 56
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_2, // 57
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_4, // 58
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_8, // 59
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_16, // 60
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_20, // 61
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_32, // 62
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_40, // 63
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_64, // 64
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_80, // 65
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_160, // 66
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_320, // 67
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_640, // 68
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_800, // 69
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_1600, // 70
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_3200, // 71
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_6400, // 72
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_16000, // 73
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_32000, // 74
[AttributeDataTypes(AttributeDataTypes.Float32)]
GC_64000, // 75
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedC0, // 76
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedC1, // 77
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedC2, // 78
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedC3, // 79
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedC4, // 80
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedC5, // 81
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedC6, // 82
[AttributeDataTypes(AttributeDataTypes.Float32)]
ReservedC7, // 83
// 21 floats
// 5 excitation adjustment for channel A stored
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationA_2000mV, // 84
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationA_5000mV, // 85
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationA_10000mV, // 86
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationA_AdjustFactor, // 87
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationA_AdjustFactor_10V, // 88
// 5 excitation adjustment for channel B stored
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationB_2000mV, // 89
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationB_5000mV, // 90
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationB_10000mV, // 91
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationB_AdjustFactor, // 92
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationB_AdjustFactor_10V, // 93
// 5 excitation adjustment for channel C stored
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationC_2000mV, // 94
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationC_5000mV, // 95
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationC_10000mV, // 96 all values above this line
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationC_AdjustFactor, // 97 are stored as integer.
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedExcitationC_AdjustFactor_10V, // 98 15 used to multiplied with reading
// 6
[AttributeDataTypes(AttributeDataTypes.Float32)]
Temperature_AdjustScaleFactor, //99 multiplied to get Temp reading.
[AttributeDataTypes(AttributeDataTypes.Float32)]
CoarseShuntDAC_AdjustScaleFactor, // 100 multiplied to get Shunt value.
[AttributeDataTypes(AttributeDataTypes.Float32)]
FineShuntDAC_AdjustScaleFactor, // 101 multiplied to get Fine value.
[AttributeDataTypes(AttributeDataTypes.Float32)]
SupplyMon_AdjustScaleFactor, // 102 multiplied to get Suply monitor.
[AttributeDataTypes(AttributeDataTypes.Float32)]
Plus5VA_AdjustScaleFactor, // 103 multiplied to get 5V input.
[AttributeDataTypes(AttributeDataTypes.Float32)]
InternalADC_AdjustScaleFactor, // 104
//=======================================
// 5 floats
[AttributeDataTypes(AttributeDataTypes.Float32)]
ExcitationFactor_VperADC, // 105
[AttributeDataTypes(AttributeDataTypes.Float32)]
Plus5VA_ScaleFactor_VperADC, // 106
[AttributeDataTypes(AttributeDataTypes.Float32)]
Temperature_ScaleFactorCperADC, // 107
[AttributeDataTypes(AttributeDataTypes.Float32)]
SupplyMon_ScaleFactorVperADC, // 108
[AttributeDataTypes(AttributeDataTypes.Float32)]
InternalADC_ScaleFactorVperADC, // 109
// 18 ushorts
[AttributeDataTypes(AttributeDataTypes.UInt16)]
OffsetDACA_Midscale, // 110
[AttributeDataTypes(AttributeDataTypes.UInt16)]
OffsetDACB_Midscale, // 111
[AttributeDataTypes(AttributeDataTypes.UInt16)]
OffsetDACC_Midscale, // 112
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_A_EXCITATION_2V_DAC, // 113
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_A_IEPE_OffsetDAC_Midscale, // 114 repurposed CHAN_A_EXCITATION_2_5V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
FeatureConfig, // 115 CHAN_A_EXCITATION_3V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_A_EXCITATION_5V_DAC, // 116
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_A_EXCITATION_10V_DAC, // 117
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_B_EXCITATION_2V_DAC, // 118
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_B_IEPE_OffsetDAC_Midscale, // 119 repurposed CHAN_B_EXCITATION_2_5V_DAC,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
Hardware_revF_5, // Reserved_U16_2 120 CHAN_B_EXCITATION_3V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_B_EXCITATION_5V_DAC, // 121
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_B_EXCITATION_10V_DAC, // 122
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_C_EXCITATION_2V_DAC, // 123
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_C_IEPE_OffsetDAC_Midscale, // 124 repurposed CHAN_C_EXCITATION_2_5V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Hardware_Revision, // 125 CHAN_C_EXCITATION_3V_DAC,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_C_EXCITATION_5V_DAC, // 126
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CHAN_C_EXCITATION_10V_DAC, // 127
// 2 ushort type
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Temperature_OffsetC, // 128
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CalibrationDaysSince1970_01_01, // 129
[AttributeDataTypes(AttributeDataTypes.UInt16)]
HardwareConfiguration, // 130 for NANO bridge, IEPE, PRO bridge/IEPE + configrabilyt.
// IEPE Stuffs those are not in common with bridge
// Gain: No 1st stage IA, so the gain has to be recalibrated.
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_1, // 131
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_2, // 132
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_4, // 133
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_8, // 134
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_16, // 135
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_32, // 136
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GA_64, // 137
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_1, // 138
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_2, // 139
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_4, // 140
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_8, // 141
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_16, // 142
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_32, // 143
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GB_64, // 144
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_1, // 145
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_2, // 146
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_4, // 147
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_8, // 148
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_16, // 149
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_32, // 150
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_GC_64, // 151
[AttributeDataTypes(AttributeDataTypes.Float32)]
PowerSupply24V_Adjust, // 152
[AttributeDataTypes(AttributeDataTypes.Float32)]
Power24VMon_ScaleFactorVperADC, // 153
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCalibratedPower24Volts, // 154
[AttributeDataTypes(AttributeDataTypes.Float32)]
RevC_Negative_4point5V_Power_AdjustmentFactor, // 155
[AttributeDataTypes(AttributeDataTypes.Float32)]
RevC_Negative_4point5V_Power_ScaleFactorVperADC, // 156
[AttributeDataTypes(AttributeDataTypes.Float32)]
QuarterBridgeResistance, // 157
[AttributeDataTypes(AttributeDataTypes.Float32)]
IEPE_ExcitationCurrentMilliAmp, // 158 legacy = 1.0 for 2.5mA, New types = IEPE excitation mA.
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_3, //159
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_4 // 160
}
public enum SystemAttributes_Bridge_SLICE_TOM : ushort
{
// 84 floats
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch1_Voltage_Adj = 0, // 0
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch1_Current_Adj, // 1
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch2_Voltage_Adj, // 2
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch2_Current_Adj, // 3
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch3_Voltage_Adj, // 4
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch3_Current_Adj, // 5
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch4_Voltage_Adj, // 6
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch4_Current_Adj, // 7
[AttributeDataTypes(AttributeDataTypes.Float32)]
rsv_no_data_channel, // 8
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch1_Fire_Init_Adj, // 9
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch2_Fire_Init_Adj, // 10
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch3_Fire_Init_Adj, // 11
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch4_Fire_Init_Adj, // 12
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch1_Resistance_Adj, // 13
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch2_Resistance_Adj, // 14
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch3_Resistance_Adj, // 15
[AttributeDataTypes(AttributeDataTypes.Float32)]
Squib_Ch4_Resistance_Adj, // 16
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch1_DACCountPerAmp_Adj, // 17
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch2_DACCountPerAmp_Adj, // 18
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch3_DACCountPerAmp_Adj, // 19
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch4_DACCountPerAmp_Adj, // 20
[AttributeDataTypes(AttributeDataTypes.Float32)]
InputPower_Adj, // 21
[AttributeDataTypes(AttributeDataTypes.Float32)]
V17P_Adj, // 22
[AttributeDataTypes(AttributeDataTypes.Float32)]
V5P_Adj, // 23
[AttributeDataTypes(AttributeDataTypes.Float32)]
V3P3_Adj, // 24
[AttributeDataTypes(AttributeDataTypes.Float32)]
V3P0_Adj, // 25
[AttributeDataTypes(AttributeDataTypes.Float32)]
V2P5_Adj, // 26
[AttributeDataTypes(AttributeDataTypes.Float32)]
V2N_Adj, // 27
[AttributeDataTypes(AttributeDataTypes.Float32)]
V5N_Adj, // 28
[AttributeDataTypes(AttributeDataTypes.Float32)]
Temperature_ScaleFactor_Adj, // 29
[AttributeDataTypes(AttributeDataTypes.Float32)]
InternalADC_ScaleFactor_Adj, // 30
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch1_DAC_CountPerAmp, // 31
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch2_DAC_CountPerAmp, // 32
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch3_DAC_CountPerAmp, // 33
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch4_DAC_CountPerAmp, // 34
[AttributeDataTypes(AttributeDataTypes.Float32)]
InputPwr_Divider_ScaleFactor, // 35
[AttributeDataTypes(AttributeDataTypes.Float32)]
V17P_Divider_ScaleFactor, // 36
[AttributeDataTypes(AttributeDataTypes.Float32)]
V5P_Divider_ScaleFactor, // 37
[AttributeDataTypes(AttributeDataTypes.Float32)]
V3P3_Divider_ScaleFactor, // 38
[AttributeDataTypes(AttributeDataTypes.Float32)]
V3P0_Divider_ScaleFactor, // 39
[AttributeDataTypes(AttributeDataTypes.Float32)]
V2P5_Divider_ScaleFactor, // 40
[AttributeDataTypes(AttributeDataTypes.Float32)]
V2N_Divider_ScaleFactor, // 41
[AttributeDataTypes(AttributeDataTypes.Float32)]
V5N_Divider_ScaleFactor, // 42
[AttributeDataTypes(AttributeDataTypes.Float32)]
Temperature_ScaleFactorCperADC, // 43
[AttributeDataTypes(AttributeDataTypes.Float32)]
InternalADC_ScaleFactorVperADC, // 44
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch1_CD_Delay_usec_Adj, // 45
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch2_CD_Delay_usec_Adj, // 46
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch3_CD_Delay_usec_Adj, // 47
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch4_CD_Delay_usec_Adj, // 48
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch1_CD_Duration_usec_Adj, // 49
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch2_CD_Duration_usec_Adj, // 50
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch3_CD_Duration_usec_Adj, // 51
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch4_CD_Duration_usec_Adj, // 52
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch1_CC_Delay_usec_Adj, // 53
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch2_CC_Delay_usec_Adj, // 54
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch3_CC_Delay_usec_Adj, // 55
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch4_CC_Delay_usec_Adj, // 56
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch1_CC_Dur_usec_Adj, // 57
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch2_CC_Dur_usec_Adj, // 58
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch3_CC_Dur_usec_Adj, // 59
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch4_CC_Dur_usec_Adj, // 60
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch1_CC_Offset_milliAmp, // 61
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch2_CC_Offset_milliAmp, // 62
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch3_CC_Offset_milliAmp, // 63
[AttributeDataTypes(AttributeDataTypes.Float32)]
Ch4_CC_Offset_milliAmp, // 64
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_rsv5, // 65
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_rsv6, // 66
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_rsv7, // 67
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_rsv8, // 68
[AttributeDataTypes(AttributeDataTypes.UInt16)]
TemperatureOffsetC, // 69
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SliceHardwareConfiguration, // 70
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SliceHardwareRevision, // 71
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CalibrationDaysSince_1970_01_01, // 72
[AttributeDataTypes(AttributeDataTypes.UInt16)]
rsv_OFFSET_DAC_1, // 73
[AttributeDataTypes(AttributeDataTypes.UInt16)]
rsv_OFFSET_DAC_2, // 74
[AttributeDataTypes(AttributeDataTypes.UInt16)]
rsv_OFFSET_DAC_3, // 75
[AttributeDataTypes(AttributeDataTypes.UInt16)]
rsv_OFFSET_DAC_4, // 76
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Squib_Ch1_Adj_uAmp, // 77
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Squib_Ch2_Adj_uAmp, // 78
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Squib_Ch3_Adj_uAmp, // 79
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Squib_Ch4_Adj_uAmp, // 80
[AttributeDataTypes(AttributeDataTypes.UInt16)]
u16_rsv1, // 81
[AttributeDataTypes(AttributeDataTypes.UInt16)]
u16_rsv2, // 82
[AttributeDataTypes(AttributeDataTypes.UInt16)]
u16_rsv3, // 83
[AttributeDataTypes(AttributeDataTypes.UInt16)]
u16_rsv4, // 84
[AttributeDataTypes(AttributeDataTypes.UInt16)]
u16_rsv5, // 85
[AttributeDataTypes(AttributeDataTypes.UInt16)]
u16_rsv6, // 86
[AttributeDataTypes(AttributeDataTypes.UInt16)]
u16_rsv7
}
public enum SystemAttributes_BridgeSlice6 : ushort
{
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_1 = 0,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_2 = 1,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_4 = 2,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_8 = 3,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_10 = 4,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_16 = 5,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_20 = 6,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_32 = 7,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_40 = 8,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_64 = 9,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_80 = 10,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_128 = 11,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_160 = 12,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_320 = 13,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_640 = 14,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainA_1280 = 15,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_1 = 16,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_2 = 17,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_4 = 18,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_8 = 19,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_10 = 20,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_16 = 21,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_20 = 22,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_32 = 23,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_40 = 24,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_64 = 25,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_80 = 26,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_128 = 27,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_160 = 28,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_320 = 29,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_640 = 30,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainB_1280 = 31,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_1 = 32,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_2 = 33,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_4 = 34,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_8 = 35,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_10 = 36,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_16 = 37,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_20 = 38,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_32 = 39,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_40 = 40,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_64 = 41,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_80 = 42,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_128 = 43,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_160 = 44,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_320 = 45,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_640 = 46,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainC_1280 = 47,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_1 = 48,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_2 = 49,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_4 = 50,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_8 = 51,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_10 = 52,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_16 = 53,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_20 = 54,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_32 = 55,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_40 = 56,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_64 = 57,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_80 = 58,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_128 = 59,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_160 = 60,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_320 = 61,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_640 = 62,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainD_1280 = 63,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_1 = 64,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_2 = 65,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_4 = 66,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_8 = 67,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_10 = 68,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_16 = 69,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_20 = 70,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_32 = 71,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_40 = 72,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_64 = 73,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_80 = 74,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_128 = 75,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_160 = 76,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_320 = 77,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_640 = 78,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainE_1280 = 79,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_1 = 80,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_2 = 81,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_4 = 82,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_8 = 83,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_10 = 84,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_16 = 85,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_20 = 86,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_32 = 87,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_40 = 88,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_64 = 89,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_80 = 90,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_128 = 91,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_160 = 92,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_320 = 93,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_640 = 94,
[AttributeDataTypes(AttributeDataTypes.Float32)]
GainF_1280 = 95,
[AttributeDataTypes(AttributeDataTypes.Float32)]
CF_ExcitationA_5Volts = 96,
[AttributeDataTypes(AttributeDataTypes.Float32)]
CF_ExcitationB_5Volts = 97,
[AttributeDataTypes(AttributeDataTypes.Float32)]
CF_ExcitationC_5Volts = 98,
[AttributeDataTypes(AttributeDataTypes.Float32)]
CF_ExcitationD_5Volts = 99,
[AttributeDataTypes(AttributeDataTypes.Float32)]
CF_ExcitationE_5Volts = 100,
[AttributeDataTypes(AttributeDataTypes.Float32)]
CF_ExcitationF_5Volts = 101,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCal_ChA_5V = 102,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCal_ChB_5V = 103,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCal_ChC_5V = 104,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCal_ChD_5V = 105,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCal_ChE_5V = 106,
[AttributeDataTypes(AttributeDataTypes.Float32)]
FactoryCal_ChF_5V = 107,
[AttributeDataTypes(AttributeDataTypes.Float32)]
CF_ExternalTempAdjustFactor = 108,
[AttributeDataTypes(AttributeDataTypes.Float32)]
CF_InternalTempAdjustFactor = 109,
[AttributeDataTypes(AttributeDataTypes.Float32)]
CF_InternalADCAdjustFactor = 110,
[AttributeDataTypes(AttributeDataTypes.Float32)]
CF_InputPowerAdjustFactor = 111,
[AttributeDataTypes(AttributeDataTypes.Float32)]
ExternalTempScaleFactorVperADC = 112,
[AttributeDataTypes(AttributeDataTypes.Float32)]
InternalTempScaleFactorVperADC = 113,
[AttributeDataTypes(AttributeDataTypes.Float32)]
InternalADCScaleFactorVperADC = 114,
[AttributeDataTypes(AttributeDataTypes.Float32)]
InputPowerScaleFactorVperADC = 115,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ChA_OffsetDAC_Midscale = 116,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ChB_OffsetDAC_Midscale = 117,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ChC_OffsetDAC_Midscale = 118,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ChD_OffsetDAC_Midscale = 119,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ChE_OffsetDAC_Midscale = 120,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ChF_OffsetDAC_Midscale = 121,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ChABC_HalfBridge_DAC_Midscale = 122,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
ChDEF_HalfBridge_DAC_Midscale = 123,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Temperature_OffsetC = 124,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
HardwareConfiguration = 125,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CalibrationDaysSince1970_01_01 = 126,
[AttributeDataTypes(AttributeDataTypes.Float32)]
temperatureCF = 127,
[AttributeDataTypes(AttributeDataTypes.Float32)]
X_TiltSensor_2g_CF = 128,
[AttributeDataTypes(AttributeDataTypes.Float32)]
Y_TiltSensor_2g_CF = 129,
[AttributeDataTypes(AttributeDataTypes.Float32)]
Z_TiltSensor_2g_CF = 130,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CH_A_ZERO_ADC_COUNT = 131,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CH_B_ZERO_ADC_COUNT = 132,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CH_C_ZERO_ADC_COUNT = 133,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CH_D_ZERO_ADC_COUNT = 134,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CH_E_ZERO_ADC_COUNT = 135,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
CH_F_ZERO_ADC_COUNT = 136,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_18 = 137,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_17 = 138,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_16 = 139,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_15 = 140,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_14 = 141,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_13 = 142,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_12 = 143,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_11 = 144,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_10 = 145,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_9 = 146,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_8 = 147,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_7 = 148,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_6 = 149,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_5 = 150,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_4 = 151,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_3 = 152,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_2 = 153,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UINT16_RSV_1 = 154,
[AttributeDataTypes(AttributeDataTypes.Float32)]
HB_ABC_DAC_MVperADC_CF = 155,
[AttributeDataTypes(AttributeDataTypes.Float32)]
HB_DEF_DAC_MVperADC_CF = 156,
[AttributeDataTypes(AttributeDataTypes.Float32)]
Insert_Resistance_CF = 157,
[AttributeDataTypes(AttributeDataTypes.Float32)]
Hardware_Analog_Type = 158,
[AttributeDataTypes(AttributeDataTypes.Float32)]
Hardware_Analog_Bandwidth = 159,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_1 = 160,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_2 = 161,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_3 = 162,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_4 = 163,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_5 = 164,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_6 = 165,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_7 = 166,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_8 = 167,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_9 = 168,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_10 = 169,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_11 = 170,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_12 = 171,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_13 = 172,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_14 = 173,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_15 = 174,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_16 = 175,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_17 = 176,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_CAL_18 = 177,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_RSV_2 = 178,
[AttributeDataTypes(AttributeDataTypes.Float32)]
TILTSENSOR_RSV_1 = 179,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_30 = 180,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_29 = 181,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_28 = 182,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_27 = 183,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_26 = 184,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_25 = 185,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_24 = 186,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_23 = 187,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_22 = 188,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_21 = 189,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_20 = 190,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_19 = 191,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_18 = 192,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_17 = 193,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_16 = 194,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_15 = 195,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_14 = 196,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_13 = 197,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_12 = 198,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_11 = 199,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_10 = 200,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_09 = 201,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_08 = 202,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_07 = 203,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_06 = 204,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_65 = 205,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_04 = 206,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_03 = 207,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_02 = 208,
[AttributeDataTypes(AttributeDataTypes.Float32)]
f32_reserved_01 = 209
};
public enum SliceUserAttributes : ushort
{
[AttributeDataTypes(AttributeDataTypes.Int32Star)]
DisplayOrder,
[AttributeDataTypes(AttributeDataTypes.Int32)]
DasDisplayOrder,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
ConfigCRC,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EventConfigCRC,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
FirstUseDate,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
NumberTimesWritten,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
NumberTimesCorrected,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
NumberTimesDetected
}
public enum SystemAttributes_BridgeTSRAir : ushort
{
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
KI134_64_X_ID = 0,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
KI134_64_Y_ID = 1,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
KI134_64_Z_ID = 2,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
KI134_32_X_ID = 3,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
KI134_32_Y_ID = 4,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
KI134_32_Z_ID = 5,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
KI134_16_X_ID = 6,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
KI134_16_Y_ID = 7,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
KI134_16_Z_ID = 8,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
KI134_08_X_ID = 9,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
KI134_08_Y_ID = 10,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
KI134_08_Z_ID = 11,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
ADXL400_X_ID = 12,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
ADXL400_Y_ID = 13,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
ADXL400_Z_ID = 14,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
BMI270_2KDPS_X_ID = 15,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
BMI270_2KDPS_Y_ID = 16,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
BMI270_2KDPS_Z_ID = 17,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
BMI270_250DPS_X_ID = 18,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
BMI270_250DPS_Y_ID = 19,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
BMI270_250DPS_Z_ID = 20,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
BMI280_EN_TEMP_ID = 21,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
BMI280_EN_HUM_ID = 22,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
BMI280_EN_PRESS_ID = 23,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
HARDWARE_CONFIG_ID = 24,
[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
CAL_DAY_SINCE_1970_ID = 25,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
DELAY_PARAM_ID_0 = 26,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
DELAY_PARAM_ID_1 = 27,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
DELAY_PARAM_ID_2 = 28,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
DELAY_PARAM_ID_3 = 29,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
DELAY_PARAM_ID_4 = 30,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
DELAY_PARAM_ID_5 = 31,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
DELAY_PARAM_ID_6 = 32,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
DELAY_PARAM_ID_7 = 33,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
DELAY_PARAM_ID_8 = 34,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
DELAY_PARAM_ID_9 = 35,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
DISABLE_STREAMING_FEATURE = 36,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_38 = 37,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_37 = 38,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_36 = 39,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_35 = 40,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_34 = 41,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_33 = 42,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_32 = 43,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_31 = 44,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_30 = 45,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_29 = 46,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_28 = 47,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_27 = 48,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_26 = 49,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_25 = 50,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_24 = 51,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_23 = 52,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_22 = 53,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_21 = 54,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_20 = 55,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_19 = 56,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_18 = 57,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_17 = 58,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_16 = 59,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_15 = 60,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_14 = 61,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_13 = 62,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_12 = 63,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_11 = 64,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_10 = 65,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_09 = 66,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_08 = 67,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_07 = 68,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_06 = 69,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_05 = 70,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_04 = 71,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_03 = 72,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_02 = 73,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_01 = 74,
[AttributeDataTypesAttribute(AttributeDataTypes.Float32)]
F32_RESERVED_00 = 75
};
public enum ArmAndEventAttributes : ushort
{
[AttributeDataTypes(AttributeDataTypes.UInt16)]
Number = 0,
[AttributeDataTypes(AttributeDataTypes.Unicode)]
Name = 1,
[AttributeDataTypes(AttributeDataTypes.Unicode)]
Description = 2,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
SampleRate = 3,
[AttributeDataTypes(AttributeDataTypes.Float32)]
AAFilterFrequency = 4,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
PreTriggerSamplesRequested = 5,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
PostTriggerSamplesRequested = 6,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
ArmMode = 7,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
TriggerSampleNumber = 8,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
StartRecordSampleNumber = 9,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
StartTime = 10,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
SliceCount = 11,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
TotalChannels = 12,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
TotalSamplesRecorded = 13,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
AutoEventRepetitions = 14,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
StoredConfigIndex = 15,
[AttributeDataTypes(AttributeDataTypes.Float64Dict)]
GainAdjustment = 16,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
RealtimeSampleRate = 17,
[AttributeDataTypes(AttributeDataTypes.Float32)]
RealtimeAAFilterFrequencyHz = 18,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
ConfiguredChannels = 19,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
StackChannelRangesMillivolts = 20,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
StackChannelScaleFactorsMillivoltsPerADC = 21,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
StackChannelGainCodes = 22,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
DiagnosticsSampleRateHz = 23,
[AttributeDataTypes(AttributeDataTypes.Float32)]
DiagnosticsAAFilterFrequencyHz = 24,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
DiagnosticsExcitationReading = 25,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
DiagnosticsFactoryExcitation = 26,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
StackChannelMeasuredOffsetMV = 27,
[AttributeDataTypes(AttributeDataTypes.UInt64)]
FaultSampleNumber = 28,
[AttributeDataTypes(AttributeDataTypes.Int16Star)]
StackChannelFinalOffsetCounts = 29,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
StackChannelNoiseStatistic = 30,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
StackChannelOffsetDACSettings = 31,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
StackChannelBridgeCompletionEnable = 32,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EventHasBeenDownloaded = 33,
[AttributeDataTypes(AttributeDataTypes.BoolStar)]
LevelTriggerChannelLessThanEnabled = 34,
[AttributeDataTypes(AttributeDataTypes.BoolStar)]
LevelTriggerChannelGreaterThanEnabled = 35,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
LevelTriggerLessThanLimit = 36,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
LevelTriggerGreaterThanLimit = 37,
[AttributeDataTypes(AttributeDataTypes.Ascii)]
EventGuid = 38,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
StackChannelTargetShuntDeflectionMV = 39,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
StackChannelActualShuntDeflectionMV = 40,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
StackChannelBridgeResistanceOhms = 41,
[AttributeDataTypes(AttributeDataTypes.Int16Star)]
StackChannelMeasuredOffsetADC = 42,
[AttributeDataTypes(AttributeDataTypes.Int32Star)]
LevelTriggerQualificationSamples = 43,
[AttributeDataTypes(AttributeDataTypes.BoolStar)]
LevelTriggerSeen = 44,
[AttributeDataTypes(AttributeDataTypes.Int32Star)]
LevelTriggerT0AdjustmentSamples = 45,
[AttributeDataTypes(AttributeDataTypes.Float32)]
ActualSampleRateHz = 46,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
StackChannelTargetCalSignalMV = 47,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
StackChannelActualCalSignalMV = 48,
[AttributeDataTypes(AttributeDataTypes.BoolStar)]
StackChannelACCouplerEnable = 49,
[AttributeDataTypes(AttributeDataTypes.UInt16)]
FaultFlags = 50,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
DiagnosticPowerReading = 51,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
AutoDiagnosticStabilizationTimeoutMs = 52,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EventStartBlock = 53,
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EventEndBlock = 54,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
StackExcitationLevel = 55,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
StackChannelVInsertActualGain = 56,
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PostEventDiagnosticPowerReading = 57,
[AttributeDataTypes(AttributeDataTypes.Float32)]
PostEventDiagnosticTemperatureReading = 58,
[AttributeDataTypes(AttributeDataTypes.Int16Star)]
PostEventStackChannelOffsetADC = 59,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
StackChannelConfigType = 60,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
StackChannelAutoArmDiagnosticLevel = 61,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
StackChannelReArmDiagnosticLevel = 62,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
StackChannelVInsertExpectedGain = 63,
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
EventTimeStamp = 64,
[AttributeDataTypes(AttributeDataTypes.UInt8)]
EventArmAttempts = 65,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
StackChannelPostDiagnosticLevel = 66, // uint16_t*
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PostEventStackChannelActualCalSignalMV = 67, // float* - VInsert on 2.0
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PostEventStackChannelActualShuntDeflectionsMV = 68, // float*
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PostEventDiagnosticsExcitationReading = 69, // float*
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
PostEventStackChannelNoiseStatistic = 70, // float *
[AttributeDataTypes(AttributeDataTypes.UInt8)]
PostEventDiagnosticDone = 71, // uint8_t
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EventTriggerAfterStartInMs = 72,// uint32_t
[AttributeDataTypes(AttributeDataTypes.UInt32)]
EventTotalDurationInMs = 73, // uint32_t
[AttributeDataTypes(AttributeDataTypes.UInt32)]
SysUpTimeSec = 74, // uint32_t
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
TomRecordingChannelType = 75, // [MAX_CHANNELS]; // => needed for 8 ADC recording channels.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
TomSquibFiredSeen = 76, // [MAX_CHANNELS]; // => needed for 8 ADC recording channels.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
TomSquibFireMode = 77, // [MAX_CHANNELS]; // => needed for 8 ADC recording channels.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
TomSquibOutputCurrentAmps = 78, // [MAX_SQUIB_CHANNELS]; // => 4 squib channels.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
TomSquibOutputDelayMsec = 79, // [MAX_SQUIB_CHANNELS]; // => 4 squib channels.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
TomSquibOutputDurationMsec = 80, // [MAX_SQUIB_CHANNELS]; // => 4 squib channels.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
TomSquibLowResistanceOhmLimit = 81, // [MAX_SQUIB_CHANNELS]; // => 4 squib channel resistance low limits.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
TomSquibHighResistanceOhmLimit = 82, // [MAX_SQUIB_CHANNELS]; // => 4 squib channel resistance high limits.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
TomSquibMeasuredResistance = 83, // [MAX_SQUIB_CHANNELS]; // => 4 squib channel actual measured resistances.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
TomDigitalFiredSeen = 84, // [MAX_DIGITAL_CHANNELS]; // => 8 digital output types.
[AttributeDataTypes(AttributeDataTypes.UInt8Star)]
TomDigitalOutputType = 85, // [MAX_DIGITAL_CHANNELS]; // => 8 digital output types.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
TomDigitalOutputDelayMsec = 86, // [MAX_DIGITAL_CHANNELS]; // => 8 digital output delay in msec 0-102,400.0msec
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
TomDigitalOutputDurationMsec = 87, // [MAX_DIGITAL_CHANNELS]; // => 8 digital output duration in msec 0-1024.0msec
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
TomSquibCCOutputDAC = 88, //[MAX_SQUIB_CHANNELS]; // => 4 squib channels.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
SubSampleRate = 89, // default to 10 = take 1 every 10 real samples.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
ADCStartTimeStampSecNanoSec = 90, // only for slice6. [0] = sec. [1] = nsec
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
TriggerTimeStampSecNanoSec = 91, // only for slice6. [0] = sec. [1] = nsec
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
PtpEventTimeStampSecNanoSec = 92, // only for slice6. [0] = sec. [1] = nsec
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PtpSyncLockedTimeSec = 93, // only for slice6. [0] = sec
[AttributeDataTypes(AttributeDataTypes.UInt32)]
PtpOutOfSyncTimeSec = 94, // only for slice6. [0] = sec
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
InSliceTiltSensorRanges = 95, // slice6 only. Set range 2/4/8/16g range
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
InSliceTiltSensorScaleFactorGPerADC = 96, // slice6 only. Sensitivites for ADC with correction applied.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
partialPageSaveEnabledmSec = 97, // not slice6. Set threshold in msec/virtualpage to force FPGA saving partial flash page.
[AttributeDataTypes(AttributeDataTypes.UInt64)]
ramModePreTriggerSampleCount = 98, // RamPartialPageSampleCount keeps track of sample count pretrigger in slice6 RAM Mode.
[AttributeDataTypes(AttributeDataTypes.Int16Star)]
tiltSensorPreEventADC = 99, // slice6 only. int16_t* software store pre-event value here. Zeroed when software calls prepareForDiagnostic.
[AttributeDataTypes(AttributeDataTypes.Int16Star)]
tiltSensorPostEventADC = 100, // slice6 only. Zeroed when software calls prepareForDiagnostic.
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
preEventTempHumidity1234 = 101, // [MAX_DIGITAL_CHANNELS]; // => 8 digital output duration in msec 0-1024.0msec
[AttributeDataTypes(AttributeDataTypes.Float32Star)]
postEventTempHumidity1234 = 102, // [MAX_DIGITAL_CHANNELS]; // => 8 digital output duration in msec 0-1024.0msec
[AttributeDataTypes(AttributeDataTypes.UInt32)]
ptpOutOfSyncCounter = 103, // Counter to keep track of PTP sync status
[AttributeDataTypes(AttributeDataTypes.UInt32)]
adcClkOutOfSyncCounter = 104, // Counter to keep track of ADC Clk output by switch
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
TimeStampStreamPktByteMsecStat = 105, // for S6A
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UartEventDataIsRecorded = 106, // u16 1 = UART data recorded. 0 = no UART data recorded.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
UartEventDownloaded = 107, // u16 Downloaded flag. Set after download. Default = clear.
//[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
//UartEventStartBlock = 108, // U16 Start NAND block (internally used by firmware)
//[AttributeDataTypesAttribute(AttributeDataTypes.UInt16)]
//UartEventEndBlock = 109, // U16 End NAND Block (internally used by firmware)
[AttributeDataTypes(AttributeDataTypes.UInt64)]
UartEventTotalByteCount = 110, // U64 total bytecount for UART recording.
[AttributeDataTypes(AttributeDataTypes.UInt64)]
UartEventTriggerByteCount = 111, // U64 bytecount at trigger time.
[AttributeDataTypes(AttributeDataTypes.UInt64)]
UartFaultByteCount = 112, // first data received timestamp
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
UartDataStartTimeStart = 113, // last data received timestamp
[AttributeDataTypes(AttributeDataTypes.UInt32)]
UartRecordedBaudrateBps = 114, // U32 ReadOnly baudrate in bps when uart was recorded
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
StackActualSampleRateHz = 115, // Sample rates for all embedded modules
[AttributeDataTypes(AttributeDataTypes.UInt16)]
EthEventDownloaded = 116, // u16 Downloaded flag. Set after download. Default = clear.
[AttributeDataTypes(AttributeDataTypes.UInt16)]
EthEventStartBlock = 117, // U16 Start NAND block
[AttributeDataTypes(AttributeDataTypes.UInt16)]
EthEventEndBlock = 118, // U16 End NAND Block
[AttributeDataTypes(AttributeDataTypes.UInt64)]
EthEventTotalByteCount = 119, // U64 total bytecount for ethernet recording.
[AttributeDataTypes(AttributeDataTypes.UInt64)]
EthEventTriggerByteCount = 120, // U64 bytecount at trigger time.
[AttributeDataTypes(AttributeDataTypes.UInt64)]
EthFaultByteCount = 121, // U64 fault bytecount
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
EthDataStartTimeStamp = 122, // U32* Ethernet data stop/end timestamp
[AttributeDataTypes(AttributeDataTypes.BoolStar)]
StackChannelBridgeACCouplerEnable = 123, // adding support for Bridge without breaking backward compatibility.
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
ActivityThresholdInmGInactivityTimeoutInSec = 124,
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
ScheduleUnixTimeIntervalInSec = 125,
[AttributeDataTypes(AttributeDataTypes.UInt16Star)]
InternalSensorConfig = 126, //Internal Sensor Config for ODR and BW.
[AttributeDataTypes(AttributeDataTypes.UInt32Star)]
ExtFaultFlags = 127, // Ext Fault
};
[AttributeUsage(AttributeTargets.Field)]
public class AttributeDataTypesAttribute : Attribute
{
public byte Value { get; }
public AttributeDataTypes EnumValue { get; }
public AttributeDataTypesAttribute(AttributeDataTypes value)
{
Value = (byte)value;
EnumValue = value;
}
}
public class SystemAttributesAttributeEnumCoder :
AttributeCoder<SystemAttributes, AttributeDataTypesAttribute, AttributeDataTypes>
{
public SystemAttributesAttributeEnumCoder() :
base(delegate (AttributeDataTypesAttribute attribute) { return attribute.EnumValue; }, null)
{
}
}
public class SystemAttributesSLICE2AttributeEnumCoder :
AttributeCoder<SystemAttributesSLICE2, AttributeDataTypesAttribute, AttributeDataTypes>
{
public SystemAttributesSLICE2AttributeEnumCoder() :
base(delegate (AttributeDataTypesAttribute attribute) { return attribute.EnumValue; }, null)
{
}
}
public class SystemAttributesSLICE6AttributeEnumCoder :
AttributeCoder<SystemAttributesSLICE6, AttributeDataTypesAttribute, AttributeDataTypes>
{
public SystemAttributesSLICE6AttributeEnumCoder() :
base(delegate (AttributeDataTypesAttribute attribute) { return attribute.EnumValue; }, null)
{
}
}
public class SystemAttributesSLICE6AIRAttributeEnumCoder :
AttributeCoder<SystemAttributesSLICE6AIR, AttributeDataTypesAttribute, AttributeDataTypes>
{
public SystemAttributesSLICE6AIRAttributeEnumCoder() :
base(delegate (AttributeDataTypesAttribute attribute) { return attribute.EnumValue; }, null)
{
}
}
public class SystemAttributesSLICE6DBAttributeEnumCoder :
AttributeCoder<SystemAttributesSLICE6DB, AttributeDataTypesAttribute, AttributeDataTypes>
{
public SystemAttributesSLICE6DBAttributeEnumCoder() :
base(delegate (AttributeDataTypesAttribute attribute) { return attribute.EnumValue; }, null)
{
}
}
public class SystemAttributesSLICEPRODBBAttributeEnumCoder :
AttributeCoder<SystemAttributesSLICEPRODB, AttributeDataTypesAttribute, AttributeDataTypes>
{
public SystemAttributesSLICEPRODBBAttributeEnumCoder() :
base(delegate (AttributeDataTypesAttribute attribute) { return attribute.EnumValue; }, null)
{
}
}
public class SystemAttributesBridgeSLICE2AttributeEnumCoder :
AttributeCoder<SystemAttributes_Bridge_SLICE2, AttributeDataTypesAttribute, AttributeDataTypes>
{
public SystemAttributesBridgeSLICE2AttributeEnumCoder() :
base(delegate (AttributeDataTypesAttribute attribute) { return attribute.EnumValue; }, null)
{
}
}
public class SystemAttributesBridgeSLICE2TOMAttributeEnumCoder :
AttributeCoder<SystemAttributes_Bridge_SLICE_TOM, AttributeDataTypesAttribute, AttributeDataTypes>
{
public SystemAttributesBridgeSLICE2TOMAttributeEnumCoder() :
base(delegate (AttributeDataTypesAttribute attribute) { return attribute.EnumValue; }, null)
{
}
}
public class SystemAttributesBridgeAttributeEnumCoder :
AttributeCoder<SystemAttributes_Bridge, AttributeDataTypesAttribute, AttributeDataTypes>
{
public SystemAttributesBridgeAttributeEnumCoder() :
base(delegate (AttributeDataTypesAttribute attribute) { return attribute.EnumValue; }, null)
{
}
}
public class SystemAttributesBridgeSlice6AttributeEnumCoder :
AttributeCoder<SystemAttributes_BridgeSlice6, AttributeDataTypesAttribute, AttributeDataTypes>
{
public SystemAttributesBridgeSlice6AttributeEnumCoder() :
base(delegate (AttributeDataTypesAttribute attribute) { return attribute.EnumValue; }, null)
{
}
}
public class SystemAttributesIEPEAttributeEnumCoder :
AttributeCoder<SystemAttributes_IEPE, AttributeDataTypesAttribute, AttributeDataTypes>
{
public SystemAttributesIEPEAttributeEnumCoder() :
base(delegate (AttributeDataTypesAttribute attribute) { return attribute.EnumValue; }, null)
{
}
}
public class ArmAndEventAttributesAttributeEnumCoder
: AttributeCoder<ArmAndEventAttributes, AttributeDataTypesAttribute, AttributeDataTypes>
{
public ArmAndEventAttributesAttributeEnumCoder() :
base(delegate (AttributeDataTypesAttribute attribute) { return attribute.EnumValue; }, null)
{
}
}
public class SystemAttributesAttributeDataTypesAttributeCoder
: AttributeCoder<SystemAttributes, AttributeDataTypesAttribute, byte>
{
/// <summary>
/// Initializes an <see cref="ArityAttributeCoder"/> object.
/// </summary>
public SystemAttributesAttributeDataTypesAttributeCoder()
: base(delegate (AttributeDataTypesAttribute attribute) { return attribute.Value; }, null)
{
}
}
public class ArmAndEventAttributesAttributeDataTypesAttributeCoder
: AttributeCoder<ArmAndEventAttributes, AttributeDataTypesAttribute, byte>
{
/// <summary>
/// Initializes an <see cref="ArityAttributeCoder"/> object.
/// </summary>
public ArmAndEventAttributesAttributeDataTypesAttributeCoder()
: base(delegate (AttributeDataTypesAttribute attribute) { return attribute.Value; }, null)
{
}
}
public static AttributeDataTypes GetAttributeDataTypesEnum(SystemAttributes target)
{
try
{
return new SystemAttributesAttributeEnumCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get system attribute data type from enum", ex);
}
}
public static AttributeDataTypes GetAttributeDataTypesEnum(SystemAttributesSLICE2 target)
{
try
{
return new SystemAttributesSLICE2AttributeEnumCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get system attribute data type from enum", ex);
}
}
public static AttributeDataTypes GetAttributeDataTypesEnum(SystemAttributesSLICE6 target)
{
try
{
return new SystemAttributesSLICE6AttributeEnumCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get SLICE6 system attribute data type from enum", ex);
}
}
public static AttributeDataTypes GetAttributeDataTypesEnum(SystemAttributesSLICE6AIR target)
{
try
{
return new SystemAttributesSLICE6AIRAttributeEnumCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get SLICE6AIR system attribute data type from enum", ex);
}
}
public static AttributeDataTypes GetAttributeDataTypesEnum(SystemAttributesSLICEPRODB target)
{
try
{
return new SystemAttributesSLICEPRODBBAttributeEnumCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get SLICE6DB system attribute data type from enum", ex);
}
}
public static AttributeDataTypes GetAttributeDataTypesEnum(SystemAttributesSLICE6DB target)
{
try
{
return new SystemAttributesSLICE6DBAttributeEnumCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get SLICE6DB system attribute data type from enum", ex);
}
}
public static AttributeDataTypes GetAttributeDataTypesEnum(SystemAttributes_Bridge target)
{
try
{
return new SystemAttributesBridgeAttributeEnumCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get system attribute (bridge) data type from enum", ex);
}
}
public static AttributeDataTypes GetAttributeDataTypesEnum(SystemAttributes_BridgeSlice6 target)
{
try
{
return new SystemAttributesBridgeSlice6AttributeEnumCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get system attribute (bridge) data type from enum", ex);
}
}
public static AttributeDataTypes GetAttributeDataTypesEnum(SystemAttributes_Bridge_SLICE2 target)
{
try
{
return new SystemAttributesBridgeSLICE2AttributeEnumCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get system attribute (bridge) data type from enum", ex);
}
}
public static AttributeDataTypes GetAttributeDataTypesEnum(SystemAttributes_Bridge_SLICE_TOM target)
{
try
{
return new SystemAttributesBridgeSLICE2TOMAttributeEnumCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get system attribute (TOM) data type from enum", ex);
}
}
public static AttributeDataTypes GetAttributeDataTypesEnum(SystemAttributes_IEPE target)
{
try
{
return new SystemAttributesIEPEAttributeEnumCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get system attribute (iepe) data type from enum", ex);
}
}
public static AttributeDataTypes GetAttributeDataTypesEnum(ArmAndEventAttributes target)
{
try
{
return new ArmAndEventAttributesAttributeEnumCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get arm and event attribute data type from enum", ex);
}
}
public static byte GetAttributeDataTypesByteFromEnum(SystemAttributes target)
{
try
{
return new SystemAttributesAttributeDataTypesAttributeCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get system attribute data type from enum", ex);
}
}
public static byte GetAttributeDataTypesByteFromEnum(ArmAndEventAttributes target)
{
try
{
return new ArmAndEventAttributesAttributeDataTypesAttributeCoder().DecodeAttributeValue(target);
}
catch (Exception ex)
{
throw new Exception("encountered problem attempting to get arm and event attribute data type from enum", ex);
}
}
}
public abstract class AttributeCommands<T> : CommandBase where T : struct, IConvertible
{
protected enum Commands
{
// All done
Reserved = 0x00,
QueryArmAttribute = 0x01,
SetArmAttribute = 0x02,
QueryArmAttributeKeys = 0x03,
QueryUserAttribute = 0x04,
SetUserAttribute = 0x05,
QueryUserAttributeKeys = 0x06,
QuerySystemAttribute = 0x07,
SetSystemAttribute = 0x08,
QuerySystemAttributeKeys = 0x09,
QueryEventAttribute = 0x0A,
SetEventAttribute = 0x0B,
QueryEventAttributeKeys = 0x0C,
SetArmAttributesToDefaults = 0x0D,
SetUserAttributesToDefaults = 0x0E,
SetSystemAttributesToDefaults = 0x0F
}
protected abstract Commands _Command { get; }
// All attribute query and set commands use these variables, either as input or
// as output parameters
protected T _key;
protected byte _datatype = 0;
protected byte _overwrite = 1;
protected byte[] _data = null;
protected AttributeCommands(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
command.Type = CommandPacket.CommandType.Attribute;
command.SetCommand((byte)_Command, _Command.ToString());
}
protected AttributeCommands(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
command.Type = CommandPacket.CommandType.Attribute;
command.SetCommand((byte)_Command, _Command.ToString());
}
public override string ToString()
{
return ((Commands)command.GetCommand()).ToString();
}
/// <summary>
/// Converts the passed-in object to a byte[] converted from the data type specified by
/// _datatype.
/// </summary>
/// <returns>A byte[] representation of the passed-in object.</returns>
protected byte[] AttributeObjectToByteArray(object value)
{
byte[] rv = null;
if (null == value)
{
return null;
}
switch ((AttributeTypes.AttributeDataTypes)_datatype)
{
case AttributeTypes.AttributeDataTypes.UInt8:
rv = ByteConvertor.ToByteArray((byte)value);
break;
case AttributeTypes.AttributeDataTypes.UInt8Star:
rv = (byte[])value;
break;
case AttributeTypes.AttributeDataTypes.Int8:
rv = ByteConvertor.ToByteArray((byte)value);
break;
case AttributeTypes.AttributeDataTypes.UInt16:
rv = ByteConvertor.ToByteArray((ushort)value);
break;
case AttributeTypes.AttributeDataTypes.UInt16Star:
var uint16star = value as ushort[];
rv = new byte[uint16star.Length * 2];
for (int idx = 0; idx < uint16star.Length; idx++)
{
Array.Copy(ByteConvertor.ToByteArray(uint16star[idx]), 0, rv, idx * 2, 2);
}
break;
case AttributeTypes.AttributeDataTypes.Int16:
rv = ByteConvertor.ToByteArray((short)value);
break;
case AttributeTypes.AttributeDataTypes.Int16Star:
var int16star = value as short[];
rv = new byte[int16star.Length * 2];
for (int idx = 0; idx < int16star.Length; idx++)
{
Array.Copy(ByteConvertor.ToByteArray(int16star[idx]), 0, rv, idx * 2, 2);
}
break;
case AttributeTypes.AttributeDataTypes.UInt32:
rv = ByteConvertor.ToByteArray((uint)value);
break;
case AttributeTypes.AttributeDataTypes.UInt32Star:
var uint32star = value as uint[];
rv = new byte[uint32star.Length * 4];
for (int idx = 0; idx < uint32star.Length; idx++)
{
Array.Copy(ByteConvertor.ToByteArray(uint32star[idx]), 0, rv, idx * 4, 4);
}
break;
case AttributeTypes.AttributeDataTypes.Int32:
rv = ByteConvertor.ToByteArray((int)value);
break;
case AttributeTypes.AttributeDataTypes.Int32Star:
var int32star = value as int[];
rv = new byte[int32star.Length * 4];
for (int idx = 0; idx < int32star.Length; idx++)
{
Array.Copy(ByteConvertor.ToByteArray(int32star[idx]), 0, rv, idx * 4, 4);
}
break;
case AttributeTypes.AttributeDataTypes.UInt64:
rv = ByteConvertor.ToByteArray((ulong)value);
break;
case AttributeTypes.AttributeDataTypes.UInt64Star:
var uint64star = value as ulong[];
rv = new byte[uint64star.Length * 8];
for (int idx = 0; idx < uint64star.Length; idx++)
{
Array.Copy(ByteConvertor.ToByteArray(uint64star[idx]), 0, rv, idx * 8, 8);
}
break;
case AttributeTypes.AttributeDataTypes.Int64:
rv = ByteConvertor.ToByteArray((long)value);
break;
case AttributeTypes.AttributeDataTypes.Int64Star:
var int64star = value as long[];
rv = new byte[int64star.Length * 8];
for (int idx = 0; idx < int64star.Length; idx++)
{
Array.Copy(ByteConvertor.ToByteArray(int64star[idx]), 0, rv, idx * 8, 8);
}
break;
case AttributeTypes.AttributeDataTypes.Float32:
rv = ByteConvertor.ToByteArray((float)value);
break;
case AttributeTypes.AttributeDataTypes.Float32Star:
var float32star = value as float[];
rv = new byte[float32star.Length * 4];
for (int idx = 0; idx < float32star.Length; idx++)
{
Array.Copy(ByteConvertor.ToByteArray(float32star[idx]), 0, rv, idx * 4, 4);
}
break;
case AttributeTypes.AttributeDataTypes.Float64:
rv = ByteConvertor.ToByteArray((double)value);
break;
case AttributeTypes.AttributeDataTypes.Float64Star:
var float64star = value as double[];
rv = new byte[float64star.Length * 8];
for (int idx = 0; idx < float64star.Length; idx++)
{
Array.Copy(ByteConvertor.ToByteArray(float64star[idx]), 0, rv, idx * 8, 8);
}
break;
case AttributeTypes.AttributeDataTypes.Ascii:
rv = Encoding.UTF8.GetBytes(value as string);
break;
case AttributeTypes.AttributeDataTypes.Unicode:
rv = value as byte[];
break;
case AttributeTypes.AttributeDataTypes.Bool:
var boolValue = (byte)((bool)value ? 1 : 0);
rv = ByteConvertor.ToByteArray(boolValue);
break;
case AttributeTypes.AttributeDataTypes.BoolStar:
var boolstarValue = (bool[])value;
rv = new byte[boolstarValue.Length];
for (int idx = 0; idx < boolstarValue.Length; idx++)
{
rv[idx] = (byte)(boolstarValue[idx] ? 1 : 0);
}
break;
default:
rv = Encoding.UTF8.GetBytes(value as string);
break;
}
return rv;
}
/// <summary>
/// Converts the byte[] _data into an object cast from the data type specified by
/// _datatype.
/// </summary>
/// <returns>A specific datatype cast to an object.</returns>
protected object ByteArrayToAttributeObject()
{
object rv;
if ((null == _data) || (0 == _data.Length))
{
return null;
}
switch ((AttributeTypes.AttributeDataTypes)_datatype)
{
case AttributeTypes.AttributeDataTypes.UInt8:
rv = _data[0];
break;
case AttributeTypes.AttributeDataTypes.UInt8Star:
rv = _data;
break;
case AttributeTypes.AttributeDataTypes.Int8:
rv = _data[0];
break;
case AttributeTypes.AttributeDataTypes.UInt16:
ushort result_u16;
ByteConvertor.Convert(_data, 0, out result_u16);
rv = result_u16;
break;
case AttributeTypes.AttributeDataTypes.UInt16Star:
if (_data == null || _data.Length == 0)
return null;
if (_data.Length % 2 != 0)
{
throw new Exception(string.Format("AttributeCommands.ByteArrayToAttributeObject: _data.Length({0}) % 2 != 0", _data.Length));
}
var numUInt16 = _data.Length / 2;
var result_ui16star = new ushort[numUInt16];
for (int idx = 0; idx < numUInt16; idx++)
{
ByteConvertor.Convert(_data, idx * 2, out result_ui16star[idx]);
}
rv = result_ui16star;
break;
case AttributeTypes.AttributeDataTypes.Int16:
short result_i16;
ByteConvertor.Convert(_data, 0, out result_i16);
rv = result_i16;
break;
case AttributeTypes.AttributeDataTypes.Int16Star:
if (_data == null || _data.Length == 0)
return null;
if (_data.Length % 2 != 0)
{
throw new Exception(string.Format("AttributeCommands.ByteArrayToAttributeObject: _data.Length({0}) % 2 != 0", _data.Length));
}
var numInt16 = _data.Length / 2;
var result_i16star = new short[numInt16];
for (int idx = 0; idx < numInt16; idx++)
{
ByteConvertor.Convert(_data, idx * 2, out result_i16star[idx]);
}
rv = result_i16star;
break;
case AttributeTypes.AttributeDataTypes.UInt32:
uint result_u32;
ByteConvertor.Convert(_data, 0, out result_u32);
rv = result_u32;
break;
case AttributeTypes.AttributeDataTypes.UInt32Star:
if (_data == null || _data.Length == 0)
return null;
if (_data.Length % 4 != 0)
{
throw new Exception(string.Format("AttributeCommands.ByteArrayToAttributeObject: _data.Length({0}) % 4 != 0", _data.Length));
}
var numUInt32 = _data.Length / 4;
var result_ui32star = new uint[numUInt32];
for (int idx = 0; idx < numUInt32; idx++)
{
ByteConvertor.Convert(_data, idx * 4, out result_ui32star[idx]);
}
rv = result_ui32star;
break;
case AttributeTypes.AttributeDataTypes.Int32:
int result_i32;
ByteConvertor.Convert(_data, 0, out result_i32);
rv = result_i32;
break;
case AttributeTypes.AttributeDataTypes.Int32Star:
if (_data == null || _data.Length == 0)
return null;
if (_data.Length % 4 != 0)
{
throw new Exception(string.Format("AttributeCommands.ByteArrayToAttributeObject: _data.Length({0}) % 4 != 0", _data.Length));
}
var numInt32 = _data.Length / 4;
var result_i32star = new int[numInt32];
for (int idx = 0; idx < numInt32; idx++)
{
ByteConvertor.Convert(_data, idx * 4, out result_i32star[idx]);
}
rv = result_i32star;
break;
case AttributeTypes.AttributeDataTypes.UInt64:
ulong result_u64;
ByteConvertor.Convert(_data, 0, out result_u64);
rv = result_u64;
break;
case AttributeTypes.AttributeDataTypes.UInt64Star:
if (_data == null || _data.Length == 0)
return null;
if (_data.Length % 8 != 0)
{
throw new Exception(string.Format("AttributeCommands.ByteArrayToAttributeObject: _data.Length({0}) % 8 != 0", _data.Length));
}
var numUInt64 = _data.Length / 8;
var result_ui64star = new ulong[numUInt64];
for (int idx = 0; idx < numUInt64; idx++)
{
ByteConvertor.Convert(_data, idx * 8, out result_ui64star[idx]);
}
rv = result_ui64star;
break;
case AttributeTypes.AttributeDataTypes.Int64:
long result_i64;
ByteConvertor.Convert(_data, 0, out result_i64);
rv = result_i64;
break;
case AttributeTypes.AttributeDataTypes.Int64Star:
if (_data == null || _data.Length == 0)
return null;
if (_data.Length % 8 != 0)
{
throw new Exception(string.Format("AttributeCommands.ByteArrayToAttributeObject: _data.Length({0}) % 8 != 0", _data.Length));
}
var numInt64 = _data.Length / 8;
var result_i64star = new long[numInt64];
for (int idx = 0; idx < numInt64; idx++)
{
ByteConvertor.Convert(_data, idx * 8, out result_i64star[idx]);
}
rv = result_i64star;
break;
case AttributeTypes.AttributeDataTypes.Float32:
float result_f32;
ByteConvertor.Convert(_data, 0, out result_f32);
rv = result_f32;
break;
case AttributeTypes.AttributeDataTypes.Float32Star:
if (_data == null || _data.Length == 0)
return null;
if (_data.Length % 4 != 0)
{
throw new Exception(string.Format("AttributeCommands.ByteArrayToAttributeObject: _data.Length({0}) % 4 != 0", _data.Length));
}
var numFloats = _data.Length / 4;
var result_f32star = new float[numFloats];
for (int idx = 0; idx < numFloats; idx++)
{
ByteConvertor.Convert(_data, idx * 4, out result_f32star[idx]);
}
rv = result_f32star;
break;
case AttributeTypes.AttributeDataTypes.Float64:
double result_f64;
ByteConvertor.Convert(_data, 0, out result_f64);
rv = result_f64;
break;
case AttributeTypes.AttributeDataTypes.Float64Star:
if (_data == null || _data.Length == 0)
return null;
if (_data.Length % 8 != 0)
{
throw new Exception(string.Format("AttributeCommands.ByteArrayToAttributeObject: _data.Length({0}) % 8 != 0", _data.Length));
}
var numDoubles = _data.Length / 8;
var result_f64star = new double[numDoubles];
for (int idx = 0; idx < numDoubles; idx++)
{
ByteConvertor.Convert(_data, idx * 8, out result_f64star[idx]);
}
rv = result_f64star;
break;
case AttributeTypes.AttributeDataTypes.Ascii:
if (_data.Length == 1 && _data[0] == 0)
rv = string.Empty;
else if (_data.Length == 0)
rv = string.Empty;
else
rv = Encoding.UTF8.GetString(_data, 0, _data[_data.Length - 1] == 0 ? _data.Length - 1 : _data.Length);
break;
case AttributeTypes.AttributeDataTypes.Unicode:
if (_data.Length == 1 && _data[0] == 0)
{
rv = new byte[0];
}
else if (_data.Length == 0)
{
rv = new byte[0];
}
else
{
rv = _data;
}
break;
case AttributeTypes.AttributeDataTypes.Bool:
if (_data == null || _data.Length == 0)
{
throw new Exception("AttributeCommands.ByteArrayToAttributeObject.Bool: _data is null or empty");
}
rv = _data[0] != 0;
break;
case AttributeTypes.AttributeDataTypes.BoolStar:
if (_data == null || _data.Length == 0)
{
throw new Exception("AttributeCommands.ByteArrayToAttributeObject.BoolStar: _data is null or empty");
}
var numBools = _data.Length;
var bools = new bool[numBools];
for (int idx = 0; idx < numBools; idx++)
{
bools[idx] = _data[idx] != 0;
}
rv = bools;
break;
default:
rv = _data;
break;
}
return rv;
}
}
/// <summary>
/// All query-style attribute commands should inheirit from this class.
/// </summary>
/// <typeparam name="T">
/// The type of the attribute store's keys. For example, the Arm attribute store stores
/// ArmAndEventAttributes whereas the User attribute store stores ushorts.
/// </typeparam>
public abstract class QueryAttribute<T> : AttributeCommands<T> where T : struct, IConvertible
{
protected virtual int KeyPosition => 0;
protected virtual int DatatypePosition => 2;
protected virtual int DataPosition => 3;
protected QueryAttribute(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
command.Parameter = new byte[DatatypePosition];
}
protected QueryAttribute(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
command.Parameter = new byte[DatatypePosition];
}
public T Key
{
get => _key;
set
{
_key = value;
command.SetParameter(KeyPosition, _key.ToUInt16(null));
}
}
public ushort AttributeValueLength => _data == null ? (ushort)0 : (ushort)_data.Length;
public AttributeTypes.AttributeDataTypes DataType => (AttributeTypes.AttributeDataTypes)_datatype;
public object Value => ByteArrayToAttributeObject();
protected override CommandReceiveAction WholePackage()
{
if (response.Status == DFConstantsAndEnums.CommandStatus.StatusNoError)
{
response.GetParameter(KeyPosition, out ushort tmpkey);
if (_key is AttributeTypes.ArmAndEventAttributes)
{
_key = (T)(object)(AttributeTypes.ArmAndEventAttributes)tmpkey;
}
else if (_key is AttributeTypes.SystemAttributes)
{
_key = (T)(object)(AttributeTypes.SystemAttributes)tmpkey;
}
else
{
_key = (T)(object)tmpkey;
}
//_key = (T)tmpkey;
response.GetParameter(DatatypePosition, out _datatype);
_data = new byte[response.Parameter.Length - DataPosition];
Buffer.BlockCopy(response.Parameter, DataPosition, _data, 0, _data.Length);
}
return CommandReceiveAction.StopReceiving;
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines.Add(new List<string>() { $"Key: {Key.ToString()}" });
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines.Add(new List<string>());
int index = lines.Count - 1;
lines[index].Add($"Key: {Key}");
lines[index].Add($"DataType: {DataType}");
lines[index].Add($"Length: {AttributeValueLength}");
// if we have byte array, attempt to translate to UTF8, but if it fails for whatever
// reason, fall back on our old method of outputting (still log it so we know to correct it)
if (DataType == AttributeTypes.AttributeDataTypes.UInt8Star && null != Value && Value is byte[] bytes)
{
try
{
lines[index].Add($"Value: {Encoding.UTF8.GetString(bytes)}");
}
catch (Exception ex)
{
APILogger.Log(ex);
lines[index].Add($"Value: {(Value == null ? "[null]" : Value.ToString())}");
}
}
else
{
lines[index].Add($"Value: {(Value == null ? "[null]" : Value.ToString())}");
}
}
}
public abstract class SetAttribute<T> : AttributeCommands<T> where T : struct, IConvertible
{
virtual protected int KeyPosition => 0;
virtual protected int DatatypePosition => 2;
virtual protected int OverwritePosition => 3;
virtual protected int DataPosition => 4;
protected SetAttribute(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
command.Parameter = new byte[DataPosition];
DataType = 0;
Overwrite = true;
}
protected SetAttribute(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
command.Parameter = new byte[DataPosition];
DataType = 0;
Overwrite = true;
}
public void SetValue(T key, object value, AttributeTypes.AttributeDataTypes datatype, bool overwrite)
{
Overwrite = overwrite;
Key = key;
DataType = datatype;
Value = value;
}
public void SetValue(T key, char[] value, AttributeTypes.AttributeDataTypes datatype, bool overwrite)
{
Overwrite = overwrite;
Key = key;
DataType = AttributeTypes.AttributeDataTypes.Ascii;
Value = Encoding.ASCII.GetBytes(value);
}
protected object StringToAttributeObject(string s)
{
object rv;
switch ((AttributeTypes.AttributeDataTypes)_datatype)
{
case AttributeTypes.AttributeDataTypes.Ascii:
rv = s;
break;
case AttributeTypes.AttributeDataTypes.Float32:
rv = float.Parse(s);
break;
case AttributeTypes.AttributeDataTypes.Float64:
rv = double.Parse(s);
break;
case AttributeTypes.AttributeDataTypes.UInt64:
rv = ulong.Parse(s);
break;
case AttributeTypes.AttributeDataTypes.Int64:
rv = long.Parse(s);
break;
case AttributeTypes.AttributeDataTypes.UInt32:
rv = uint.Parse(s);
break;
case AttributeTypes.AttributeDataTypes.Int32:
rv = int.Parse(s);
break;
case AttributeTypes.AttributeDataTypes.Int16:
rv = short.Parse(s);
break;
case AttributeTypes.AttributeDataTypes.UInt16:
rv = ushort.Parse(s);
break;
case AttributeTypes.AttributeDataTypes.UInt8:
rv = byte.Parse(s);
break;
case AttributeTypes.AttributeDataTypes.Int8:
rv = sbyte.Parse(s);
break;
default:
rv = null;
break;
}
return rv;
}
public void SetValue(T key, string value, bool overwrite)
{
// Note: order is important here in that DataType must be set prior to setting Value
Overwrite = overwrite;
Key = key;
DataType = GetDataTypeFromKey(Key);
SetValue(key, StringToAttributeObject(value), overwrite);
}
public void SetValue(T key, object value, bool overwrite)
{
// Note: order is important here in that DataType must be set prior to setting Value
Overwrite = overwrite;
Key = key;
DataType = GetDataTypeFromKey(Key);
try
{
Value = value;
}
catch (Exception ex)
{
throw new ApplicationException($"Could not set value to {value} with data type {DataType}", ex);
}
}
public void SetValue(T key, char[] value, bool overwrite)
{
// Note: order is important here in that DataType must be set prior to setting Value
Overwrite = overwrite;
Key = key;
DataType = AttributeTypes.AttributeDataTypes.Ascii;
try
{
Value = new string(value);
}
catch (Exception ex)
{
throw new ApplicationException($"Could not set value to {value} with data type {DataType}", ex);
}
}
private const int SLICE1_FILESTORE_START = 3000;
public AttributeTypes.AttributeDataTypes GetDataTypeFromKey(T key)
{
switch (key)
{
case AttributeTypes.ArmAndEventAttributes _:
{
var doThis = true;
try
{
//this is some chris code, something to do about not wanting to see xml
//i'm just making it so it throws less exceptions and preserves his existing behavior
if (int.TryParse(key.ToString(), out int i))
{
if (i >= SLICE1_FILESTORE_START)
{
DataType = AttributeTypes.AttributeDataTypes.Unicode;
doThis = false;
}
}
}
catch { }
if (doThis)
{
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.ArmAndEventAttributes)(object)key);
}
}
break;
case AttributeTypes.SystemAttributes _:
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.SystemAttributes)(object)key);
break;
case AttributeTypes.SystemAttributesSLICE2 _:
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.SystemAttributesSLICE2)(object)key);
break;
case AttributeTypes.SystemAttributesSLICE6 _:
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.SystemAttributesSLICE6)(object)key);
break;
case AttributeTypes.SystemAttributesSLICE6AIR _:
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.SystemAttributesSLICE6AIR)(object)key);
break;
case AttributeTypes.SystemAttributesSLICEPRODB _:
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.SystemAttributesSLICEPRODB)(object)key);
break;
case AttributeTypes.SystemAttributesSLICE6DB _:
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.SystemAttributesSLICE6DB)(object)key);
break;
case AttributeTypes.SystemAttributes_Bridge_SLICE2 _:
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.SystemAttributes_Bridge_SLICE2)(object)key);
break;
case AttributeTypes.SystemAttributes_Bridge _:
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.SystemAttributes_Bridge)(object)key);
break;
case AttributeTypes.SystemAttributes_BridgeSlice6 _:
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.SystemAttributes_BridgeSlice6)(object)key);
break;
case AttributeTypes.SystemAttributes_Bridge_SLICE2_GEN3 _:
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.SystemAttributes_Bridge_SLICE2)(object)key);
break;
case AttributeTypes.SystemAttributes_IEPE _:
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.SystemAttributes_IEPE)(object)key);
break;
case AttributeTypes.SystemAttributes_Bridge_SLICE_TOM _:
DataType = AttributeTypes.GetAttributeDataTypesEnum((AttributeTypes.SystemAttributes_Bridge_SLICE_TOM)(object)key);
break;
default:
DataType = 0;
break;
}
return DataType;
}
public void SetValue_Test(T key, AttributeTypes.AttributeDataTypes t, object value, bool overwrite)
{
Overwrite = overwrite;
Key = key;
DataType = t;
Value = value;
}
protected T Key
{
get => _key;
set
{
_key = value;
command.SetParameter(KeyPosition, _key.ToUInt16(null));
}
}
public ushort AttributeValueLength => _data == null ? (ushort)0 : (ushort)_data.Length;
protected AttributeTypes.AttributeDataTypes DataType
{
get => (AttributeTypes.AttributeDataTypes)_datatype;
set
{
_datatype = (byte)value;
command.SetParameter(DatatypePosition, _datatype);
}
}
protected bool Overwrite
{
get => _overwrite == 0 ? false : true;
set
{
_overwrite = (byte)(value ? 1 : 0);
command.SetParameter(OverwritePosition, _overwrite);
}
}
protected object Value
{
get => ByteArrayToAttributeObject();
set
{
byte[] newParam = null;
if (null == value)
{
_data = null;
newParam = new byte[DataPosition];
Buffer.BlockCopy(command.Parameter, 0, newParam, 0, DataPosition);
command.Parameter = newParam;
DataType = AttributeTypes.AttributeDataTypes.Blob;
return;
}
_data = AttributeObjectToByteArray(value);
newParam = new byte[DataPosition + _data.Length];
Buffer.BlockCopy(command.Parameter, 0, newParam, 0, DataPosition);
command.Parameter = newParam;
Buffer.BlockCopy(_data, 0, command.Parameter, DataPosition, _data.Length);
}
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines.Add(new List<string>(4));
int index = lines.Count - 1;
lines[index].Add(string.Format("Key: {0}", Key));
lines[index].Add(string.Format("DataType: {0}", DataType));
lines[index].Add(string.Format("Length: {0}", AttributeValueLength));
lines[index].Add(string.Format("Overwrite: {0}", Overwrite));
}
}
public abstract class QueryAttributeKeys : AttributeCommands<ushort>
{
// The bit field indicating the presence or absense of each attribute
private byte[] _toc = null;
// The cached copy of Keys, constructed from _toc
private List<ushort> _keys = null;
public List<ushort> Keys
{
get
{
if (null != _toc && null == _keys)
{
_keys = new List<ushort>();
ushort key = 0;
for (int i = 0; i < _toc.Length; i++)
{
for (int bit = 0; bit < 8; bit++, key++)
{
if (0 != (_toc[i] & (1 << bit)))
{
_keys.Add(key);
}
}
}
}
return _keys;
}
}
protected QueryAttributeKeys(Common.Interface.DASFactory.ICommunication sock) :
base(sock)
{
}
protected QueryAttributeKeys(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
protected override CommandReceiveAction WholePackage()
{
if (response.Status == DFConstantsAndEnums.CommandStatus.StatusNoError)
{
_toc = new byte[response.Parameter.Length];
Buffer.BlockCopy(response.Parameter, 0, _toc, 0, _toc.Length);
}
return CommandReceiveAction.StopReceiving;
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines.Add(new List<string>()
{
string.Format("Keys.Count: {0}", Keys.Count)
});
}
}
public class QueryArmAttribute : QueryAttribute<AttributeTypes.ArmAndEventAttributes>
{
protected override Commands _Command => Commands.QueryArmAttribute;
public QueryArmAttribute(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QueryArmAttribute(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
try
{
base.ResponseToString(ref lines);
string ValueStr = "";
if (Value != null)
{
if (DataType == AttributeTypes.AttributeDataTypes.Unicode)
{
ValueStr = Encoding.UTF8.GetString(Value as byte[]);
}
else
{
ValueStr = ArrayToString.ArrayObjectToString(Value);
}
}
lines[lines.Count - 1].Add(string.Format("Value(UTF&Array): {0}", ValueStr));
}
catch (Exception ex)
{
lines.Add(new List<string>() { $"XXXXX ERROR XXXXX QueryArmAttribute exception: {ex.Message}" });
}
}
}
public class SetStackChannelTypeConfiguration : SetArmAttribute
{
public enum ChannelTypes
{
FORCE_BRIDGE = 1,
FORCE_IEPE = 2,
FORCE_BRIDGE_LOW = 3,
FORCE_IEPE_LOW = 4,
AUTO_DETECT = 255
}
public SetStackChannelTypeConfiguration(Common.Interface.DASFactory.ICommunication sock) : base(sock)
{
MinimumProtocolVersion = sock.GetMinProto(DFConstantsAndEnums.ProtocolLimitedCommands.StackChannelTypeConfiguration);
}
public SetStackChannelTypeConfiguration(Common.Interface.DASFactory.ICommunication sock, int timeout) : base(sock, timeout)
{
MinimumProtocolVersion = sock.GetMinProto(DFConstantsAndEnums.ProtocolLimitedCommands.StackChannelTypeConfiguration);
}
public void SetValue(ChannelTypes[] channelTypes)
{
var byteData = new List<byte>();
foreach (ChannelTypes type in channelTypes)
{
byteData.Add(Convert.ToByte((int)type));
}
SetValue(AttributeTypes.ArmAndEventAttributes.StackChannelConfigType, byteData.ToArray(), true);
SyncExecute();
}
}
/// <summary>
/// this class is for setting the real time sample rate
/// protocol 3 and below have a minimum sample rate of 2000, so
/// we automatically set it at that as it is the best we can do
/// </summary>
public class SetRealtimeSampleRate : SetArmAttribute
{
private const uint SAMPLE_RATE_V3 = 2000;
public SetRealtimeSampleRate(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{ }
public SetRealtimeSampleRate(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{ }
/// <summary>
/// set the sample rate (Hz, # of samples per second)
/// for real time
/// </summary>
/// <param name="realtimeSampleRate"></param>
public void SetValue(uint realtimeSampleRate)
{
uint rateToSet = realtimeSampleRate;
if (!recorder.IsCommandSupported(DFConstantsAndEnums.ProtocolLimitedCommands.SetRealtimeSampleRate))
{
rateToSet = SAMPLE_RATE_V3;
}
SetValue(AttributeTypes.ArmAndEventAttributes.RealtimeSampleRate, rateToSet, true);
}
}
public class SetArmAttribute : SetAttribute<AttributeTypes.ArmAndEventAttributes>
{
protected override Commands _Command => Commands.SetArmAttribute;
public SetArmAttribute(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetArmAttribute(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
try
{
base.CommandToString(ref lines);
string ValueStr = "[null]";
if (Value != null)
{
if (DataType == AttributeTypes.AttributeDataTypes.Unicode)
{
ValueStr = Encoding.UTF8.GetString(Value as byte[]);
}
else
{
ValueStr = ArrayToString.ArrayObjectToString(Value);
}
}
lines[lines.Count - 1].Add(string.Format("Value: {0}", ValueStr));
}
catch (Exception ex)
{
lines.Add(new List<string>() { $"XXXXXX ERROR XXXXXX SetArmAttribute exception: {ex.Message}" });
}
}
}
public class QueryArmAttributeKeys : QueryAttributeKeys
{
protected override Commands _Command => Commands.QueryArmAttributeKeys;
public QueryArmAttributeKeys(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QueryArmAttributeKeys(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
var NamedKeys = new List<AttributeTypes.ArmAndEventAttributes>();
if (null != Keys)
{
foreach (ushort key in Keys) NamedKeys.Add((AttributeTypes.ArmAndEventAttributes)key);
}
lines.Add(new List<string>()
{
string.Format("Keys: {0}", null == Keys ? "[null]" : ArrayToString.ArrayObjectToString (NamedKeys))
});
}
}
public class QueryUserAttribute : QueryAttribute<AttributeTypes.SliceUserAttributes>
{
protected override Commands _Command => Commands.QueryUserAttribute;
public QueryUserAttribute(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QueryUserAttribute(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetUserAttribute : SetAttribute<AttributeTypes.SliceUserAttributes>
{
protected override Commands _Command => Commands.SetUserAttribute;
public SetUserAttribute(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetUserAttribute(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QueryUserAttributeKeys : QueryAttributeKeys
{
protected override Commands _Command => Commands.QueryUserAttributeKeys;
public QueryUserAttributeKeys(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QueryUserAttributeKeys(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines.Add(new List<string>()
{
$"Keys: {ArrayToString.ArrayObjectToString(Keys)}"
});
}
}
public class QuerySystemAttributeSLICE6DB : QueryAttribute<AttributeTypes.SystemAttributesSLICE6DB>
{
protected override Commands _Command => Commands.QuerySystemAttribute;
public QuerySystemAttributeSLICE6DB(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttributeSLICE6DB(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QuerySystemAttributeSLICEPRODB : QueryAttribute<AttributeTypes.SystemAttributesSLICEPRODB>
{
protected override Commands _Command => Commands.QuerySystemAttribute;
public QuerySystemAttributeSLICEPRODB(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttributeSLICEPRODB(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QuerySystemAttributeSLICE6AIR : QueryAttribute<AttributeTypes.SystemAttributesSLICE6AIR>
{
protected override Commands _Command => Commands.QuerySystemAttribute;
public QuerySystemAttributeSLICE6AIR(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttributeSLICE6AIR(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QuerySystemAttributeSLICE6 : QueryAttribute<AttributeTypes.SystemAttributesSLICE6>
{
protected override Commands _Command => Commands.QuerySystemAttribute;
public QuerySystemAttributeSLICE6(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttributeSLICE6(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QuerySystemAttributeSLICE2 : QueryAttribute<AttributeTypes.SystemAttributesSLICE2>
{
protected override Commands _Command => Commands.QuerySystemAttribute;
public QuerySystemAttributeSLICE2(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttributeSLICE2(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QuerySystemAttribute : QueryAttribute<AttributeTypes.SystemAttributes>
{
protected override Commands _Command => Commands.QuerySystemAttribute;
public QuerySystemAttribute(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttribute(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add(string.Format("Value(Array): {0}",
(null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value)));
}
}
/// <summary>
/// queries the hardware configuration
/// SLICE6Air supports eipe and bridge
/// </summary>
public class QueryHardwareConfigurationSLICE6 : QuerySystemAttribute_BridgeSlice6
{
public QueryHardwareConfigurationSLICE6(Common.Interface.DASFactory.ICommunication sock, int moduleIndex)
: base(sock)
{
Key = AttributeTypes.SystemAttributes_BridgeSlice6.HardwareConfiguration;
DeviceID = Convert.ToByte(moduleIndex);
}
public enum Types { IEPE, Bridge, IEPE_Configurable, Bridge_Configurable, Bridge_Configurable_Low, IEPE_Configurable_Low };
public Types HardwareType
{
get
{
SyncExecute();
var s = Convert.ToInt16(Value);
switch (s)
{
case 129: return Types.Bridge_Configurable;
case 131: return Types.Bridge_Configurable_Low;
case 130: return Types.IEPE_Configurable;
case 132: return Types.IEPE_Configurable_Low;
case 1: return Types.IEPE;
case 0: return Types.Bridge;
}
return Types.Bridge;
}
}
}
public class QueryHardwareConfiguration : QuerySystemAttribute_Slice2Bridge
{
public QueryHardwareConfiguration(Common.Interface.DASFactory.ICommunication sock, int moduleIndex)
: base(sock)
{
Key = AttributeTypes.SystemAttributes_Bridge_SLICE2.HardwareConfiguration;
DeviceID = Convert.ToByte(moduleIndex);
}
public enum Types { IEPE, Bridge, IEPE_Configurable, Bridge_Configurable, Bridge_Configurable_Low, IEPE_Configurable_Low };
public Types HardwareType
{
get
{
SyncExecute();
var s = Convert.ToInt16(Value);
switch (s)
{
case 129: return Types.Bridge_Configurable;
case 131: return Types.Bridge_Configurable_Low;
case 130: return Types.IEPE_Configurable;
case 132: return Types.IEPE_Configurable_Low;
case 1: return Types.IEPE;
case 0: return Types.Bridge;
}
return Types.Bridge;
}
}
}
public class QuerySystemAttribute_Slice2Bridge : QueryAttribute<AttributeTypes.SystemAttributes_Bridge_SLICE2>
{
protected override Commands _Command => Commands.QuerySystemAttribute;
public QuerySystemAttribute_Slice2Bridge(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttribute_Slice2Bridge(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QuerySystemAttribute_Slice2Bridge_GEN3 : QueryAttribute<AttributeTypes.SystemAttributes_Bridge_SLICE2_GEN3>
{
protected override Commands _Command => Commands.QuerySystemAttribute;
public QuerySystemAttribute_Slice2Bridge_GEN3(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttribute_Slice2Bridge_GEN3(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QuerySystemAttribute_Slice_TOM : QueryAttribute<AttributeTypes.SystemAttributes_Bridge_SLICE_TOM>
{
protected override Commands _Command => Commands.QuerySystemAttribute;
public QuerySystemAttribute_Slice_TOM(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttribute_Slice_TOM(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QuerySystemAttribute_BridgeTSRAir : QueryAttribute<AttributeTypes.SystemAttributes_BridgeTSRAir>
{
protected override AttributeCommands<AttributeTypes.SystemAttributes_BridgeTSRAir>.Commands _Command
{
get { return Commands.QuerySystemAttribute; }
}
public QuerySystemAttribute_BridgeTSRAir(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttribute_BridgeTSRAir(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QuerySystemAttribute_BridgeSlice6 : QueryAttribute<AttributeTypes.SystemAttributes_BridgeSlice6>
{
protected override Commands _Command => Commands.QuerySystemAttribute;
public QuerySystemAttribute_BridgeSlice6(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttribute_BridgeSlice6(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QuerySystemAttribute_BridgeSlice6Air : QueryAttribute<AttributeTypes.SystemAttributes_BridgeSlice6Air>
{
protected override AttributeCommands<AttributeTypes.SystemAttributes_BridgeSlice6Air>.Commands _Command
{
get { return Commands.QuerySystemAttribute; }
}
public QuerySystemAttribute_BridgeSlice6Air(ICommunication sock)
: base(sock)
{
}
public QuerySystemAttribute_BridgeSlice6Air(ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add(string.Format("Value(Array): {0}",
(null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value)));
}
}
public class QuerySystemAttribute_BridgeSlice6ABR : QueryAttribute<AttributeTypes.SystemAttributes_BridgeSlice6ABR>
{
protected override AttributeCommands<AttributeTypes.SystemAttributes_BridgeSlice6ABR>.Commands _Command
{
get { return Commands.QuerySystemAttribute; }
}
public QuerySystemAttribute_BridgeSlice6ABR(ICommunication sock)
: base(sock)
{
}
public QuerySystemAttribute_BridgeSlice6ABR(ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add(string.Format("Value(Array): {0}",
(null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value)));
}
}
public class QuerySystemAttribute_Bridge : QueryAttribute<AttributeTypes.SystemAttributes_Bridge>
{
protected override Commands _Command => Commands.QuerySystemAttribute;
public QuerySystemAttribute_Bridge(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttribute_Bridge(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QuerySystemAttribute_IEPE : QueryAttribute<AttributeTypes.SystemAttributes_IEPE>
{
protected override Commands _Command => Commands.QuerySystemAttribute;
public QuerySystemAttribute_IEPE(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttribute_IEPE(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
lines[lines.Count - 1].Add($"Value(Array): {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttribute : SetAttribute<AttributeTypes.SystemAttributes>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttribute(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttribute(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttributeSLICE2 : SetAttribute<AttributeTypes.SystemAttributesSLICE2>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttributeSLICE2(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttributeSLICE2(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttributeSLICE6DB : SetAttribute<AttributeTypes.SystemAttributesSLICE6DB>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttributeSLICE6DB(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttributeSLICE6DB(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttributeSLICEPRODB : SetAttribute<AttributeTypes.SystemAttributesSLICEPRODB>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttributeSLICEPRODB(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttributeSLICEPRODB(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttribute_BridgeSlice6Air : SetAttribute<AttributeTypes.SystemAttributes_BridgeSlice6Air>
{
protected override AttributeCommands<AttributeTypes.SystemAttributes_BridgeSlice6Air>.Commands _Command
{
get { return Commands.SetSystemAttribute; }
}
public SetSystemAttribute_BridgeSlice6Air(ICommunication sock)
: base(sock)
{
}
public SetSystemAttribute_BridgeSlice6Air(ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add(string.Format("Value: {0}",
(null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value)));
}
}
public class SetSystemAttributeSLICE6AIR : SetAttribute<AttributeTypes.SystemAttributesSLICE6AIR>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttributeSLICE6AIR(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttributeSLICE6AIR(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttributeSLICE6 : SetAttribute<AttributeTypes.SystemAttributesSLICE6>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttributeSLICE6(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttributeSLICE6(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttribute_Slice2Bridge : SetAttribute<AttributeTypes.SystemAttributes_Bridge_SLICE2>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttribute_Slice2Bridge(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttribute_Slice2Bridge(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttribute_Slice2Bridge_GEN3 : SetAttribute<AttributeTypes.SystemAttributes_Bridge_SLICE2_GEN3>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttribute_Slice2Bridge_GEN3(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttribute_Slice2Bridge_GEN3(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttribute_Bridge : SetAttribute<AttributeTypes.SystemAttributes_Bridge>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttribute_Bridge(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttribute_Bridge(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttribute_BridgeSlice6 : SetAttribute<AttributeTypes.SystemAttributes_BridgeSlice6>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttribute_BridgeSlice6(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttribute_BridgeSlice6(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttribute_BridgeSlice6ABR : SetAttribute<AttributeTypes.SystemAttributes_BridgeSlice6ABR>
{
protected override Commands _Command
{
get { return Commands.SetSystemAttribute; }
}
public SetSystemAttribute_BridgeSlice6ABR(ICommunication sock)
: base(sock)
{
}
public SetSystemAttribute_BridgeSlice6ABR(ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add(string.Format("Value: {0}",
(null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value)));
}
}
public class SetSystemAttribute_BridgeTSRAir : SetAttribute<AttributeTypes.SystemAttributes_BridgeTSRAir>
{
protected override Commands _Command
{
get { return Commands.SetSystemAttribute; }
}
public SetSystemAttribute_BridgeTSRAir(ICommunication sock)
: base(sock)
{
}
public SetSystemAttribute_BridgeTSRAir(ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add(string.Format("Value: {0}",
(null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value)));
}
}
public class SetSystemAttribute_Bridge_SLICE2 : SetAttribute<AttributeTypes.SystemAttributes_Bridge_SLICE2>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttribute_Bridge_SLICE2(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttribute_Bridge_SLICE2(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttributes_Bridge_SLICE_TOM : SetAttribute<AttributeTypes.SystemAttributes_Bridge_SLICE_TOM>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttributes_Bridge_SLICE_TOM(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttributes_Bridge_SLICE_TOM(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class SetSystemAttribute_IEPE : SetAttribute<AttributeTypes.SystemAttributes_IEPE>
{
protected override Commands _Command => Commands.SetSystemAttribute;
public SetSystemAttribute_IEPE(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttribute_IEPE(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines[lines.Count - 1].Add($"Value: {((null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))}");
}
}
public class QuerySystemAttributeKeys : QueryAttributeKeys
{
protected override Commands _Command => Commands.QuerySystemAttributeKeys;
public QuerySystemAttributeKeys(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttributeKeys(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
var NamedKeys = new List<AttributeTypes.SystemAttributes>();
foreach (ushort key in Keys) { NamedKeys.Add((AttributeTypes.SystemAttributes)key); }
lines.Add(new List<string>()
{
$"Keys: {ArrayToString.ArrayObjectToString(NamedKeys)}"
});
}
}
public class QuerySystemAttributeKeys_SLICE2 : QueryAttributeKeys
{
protected override Commands _Command => Commands.QuerySystemAttributeKeys;
public QuerySystemAttributeKeys_SLICE2(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttributeKeys_SLICE2(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
var NamedKeys = new List<AttributeTypes.SystemAttributesSLICE2>();
foreach (ushort key in Keys) { NamedKeys.Add((AttributeTypes.SystemAttributesSLICE2)key); }
lines.Add(new List<string>()
{
$"Keys: {ArrayToString.ArrayObjectToString(NamedKeys)}"
});
}
}
public class QuerySystemAttributeKeys_SLICE6 : QueryAttributeKeys
{
protected override Commands _Command
{
get { return Commands.QuerySystemAttributeKeys; }
}
public QuerySystemAttributeKeys_SLICE6(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QuerySystemAttributeKeys_SLICE6(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
var NamedKeys = new List<AttributeTypes.SystemAttributesSLICE6>();
foreach (ushort key in Keys) { NamedKeys.Add((AttributeTypes.SystemAttributesSLICE6)key); }
lines.Add(new List<string>()
{
string.Format("Keys: {0}", ArrayToString.ArrayObjectToString(NamedKeys))
});
}
}
public class QueryEventAttribute : QueryAttribute<AttributeTypes.ArmAndEventAttributes>
{
protected override Commands _Command => Commands.QueryEventAttribute;
private ushort _eventnumber = 0;
int EventNumberPosition => 0;
override protected int KeyPosition => 2;
override protected int DatatypePosition => 4;
override protected int DataPosition => 5;
public ushort EventNumber
{
get => _eventnumber;
set
{
_eventnumber = value;
command.SetParameter(EventNumberPosition, _eventnumber);
}
}
public QueryEventAttribute(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public QueryEventAttribute(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
protected override CommandReceiveAction WholePackage()
{
if (response.Status == DFConstantsAndEnums.CommandStatus.StatusNoError)
{
response.GetParameter(EventNumberPosition, out _eventnumber);
response.GetParameter(KeyPosition, out ushort tmpkey);
_key = (AttributeTypes.ArmAndEventAttributes)tmpkey;
response.GetParameter(DatatypePosition, out _datatype);
_data = new byte[response.Parameter.Length - DataPosition];
Buffer.BlockCopy(response.Parameter, DataPosition, _data, 0, _data.Length);
}
return CommandReceiveAction.StopReceiving;
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines.Add(new List<string>() { $"Event: {EventNumber}" });
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
string ValueAsString;
if (null == Value)
{
ValueAsString = "null";
}
else if (AttributeTypes.AttributeDataTypes.Unicode == DataType)
{
ValueAsString = Encoding.UTF8.GetString(Value as byte[]);
}
else
{
ValueAsString = ArrayToString.ArrayObjectToString(Value);
}
lines[lines.Count - 1].Add($"Value(UTF&Array): {ValueAsString}");
}
}
public class SetEventAttribute : SetAttribute<AttributeTypes.ArmAndEventAttributes>
{
protected override Commands _Command => Commands.SetEventAttribute;
private ushort _eventnumber = 0;
int EventNumberPosition => 0;
protected override int KeyPosition => 2;
protected override int DatatypePosition => 4;
protected override int OverwritePosition => 5;
protected override int DataPosition => 6;
public ushort EventNumber
{
get => _eventnumber;
set
{
_eventnumber = value;
command.SetParameter(EventNumberPosition, _eventnumber);
}
}
public SetEventAttribute(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
EventNumber = 0;
}
public SetEventAttribute(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
EventNumber = 0;
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines.Add(new List<string>(){string.Format("Event number: {0}, Key: {1}, DataType: {2}, Length: {3}, Value: {4}",
EventNumber, Key, DataType, AttributeValueLength, (null == Value) ? "[null]" : ArrayToString.ArrayObjectToString(Value))});
}
}
public class QueryEventAttributeKeys : QueryAttributeKeys
{
protected override Commands _Command => Commands.QueryEventAttributeKeys;
private ushort _eventnumber = 0;
private int EventNumberPosition => 0;
public ushort EventNumber
{
get => _eventnumber;
set
{
_eventnumber = value;
command.SetParameter(EventNumberPosition, _eventnumber);
}
}
public QueryEventAttributeKeys(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
command.Parameter = new byte[2];
EventNumber = 0;
}
public QueryEventAttributeKeys(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
command.Parameter = new byte[2];
EventNumber = 0;
}
public override void CommandToString(ref List<List<string>> lines)
{
base.CommandToString(ref lines);
lines.Add(new List<string>() { $"Event number: {EventNumber}" });
}
public override void ResponseToString(ref List<List<string>> lines)
{
base.ResponseToString(ref lines);
var NamedKeys = new List<AttributeTypes.ArmAndEventAttributes>();
foreach (ushort key in Keys) { NamedKeys.Add((AttributeTypes.ArmAndEventAttributes)key); }
lines.Add(new List<string>()
{
$"Keys: {ArrayToString.ArrayObjectToString(NamedKeys)}"
});
}
}
public class SetArmAttributesToDefaults : AttributeCommands<int>
{
protected override Commands _Command => Commands.SetArmAttributesToDefaults;
public SetArmAttributesToDefaults(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetArmAttributesToDefaults(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
}
public class SetUserAttributesToDefaults : AttributeCommands<int>
{
protected override Commands _Command => Commands.SetUserAttributesToDefaults;
public SetUserAttributesToDefaults(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetUserAttributesToDefaults(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
}
public class SetSystemAttributesToDefaults : AttributeCommands<int>
{
protected override Commands _Command => Commands.SetSystemAttributesToDefaults;
public SetSystemAttributesToDefaults(Common.Interface.DASFactory.ICommunication sock)
: base(sock)
{
}
public SetSystemAttributesToDefaults(Common.Interface.DASFactory.ICommunication sock, int TimeoutMillisec)
: base(sock, TimeoutMillisec)
{
}
}
}