public RUSEMCModuleDevice(WordSerializator serializator) : base(serializator) { _serial = 100; _status16 = 0; _calibrationFile = deserialize(Properties.Resources.V01_RUS40_Cal, FileType.CALIBRATION); _factorySettingsFile = deserialize(Properties.Resources.V01_RUS40_FSet, FileType.FACTORY_SETTINGS); _dataPacketFormatFile = generateDataPacketFormatFile(); byte[] generateDataPacketFormatFile() { var body = new Enumerable <byte>() { "EMC_Mdl_0101DDMMYYF_".GetASCIIBytes(), serializator.Serialize(_serial), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Reserved }; var i = new SmartInt().Add(1); addEntity("STAT", i, i.Add(2).DValue, 0); addEntity("STAT", i, i.Add(2).DValue, 0); addEntity("TST1", i, i.Add(2).DValue, 0); addEntity("TST2", i, i.Add(2).DValue, 0); return(body.ToArray()); void addEntity(string mnemonicName, int position, int length, byte numOfBits) { body.Add(mnemonicName.GetASCIIBytes()); body.Add(_serializator.Serialize((ushort)position)); body.Add((byte)length); body.Add(numOfBits); } } }
public InclinometrVirtualDevice(WordSerializator serializator) : base(serializator) { _serial = 999; _calibrationFile = deserialize(Properties.Resources.V01_RUS03_Cal, FileType.CALIBRATION); _factorySettingsFile = deserialize(Properties.Resources.V01_RUS03_FSet, FileType.FACTORY_SETTINGS); _dataPacketFormatFile = generateDataPacketFormatFile(); _flashDataPacketFormatFile = _dataPacketFormatFile; _temperatureCalibrationFile = deserialize(Properties.Resources.V01_RUS03_TCal, FileType.TEMPERATURE_CALIBRATION); byte[] generateDataPacketFormatFile() { var body = new Enumerable <byte>() { "INCL____0101DDMMYYF_".GetASCIIBytes(), serializator.Serialize(_serial), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Reserve }; var i = new SmartInt().Add(1); addEntity("STAT", (ushort)i, (byte)i.Add(2).DValue, 0, false); addEntity("INC_", (ushort)i, (byte)i.Add(2).DValue, 0, false); addEntity("AZI_", (ushort)i, (byte)i.Add(2).DValue, 0, false); addEntity("GTF_", (ushort)i, (byte)i.Add(2).DValue, 0, false); addEntity("XGpr", (ushort)i, (byte)i.Add(2).DValue, 0, false); addEntity("YGpr", (ushort)i, (byte)i.Add(2).DValue, 0, false); addEntity("ZGpr", (ushort)i, (byte)i.Add(2).DValue, 0, false); addEntity("XMpr", (ushort)i, (byte)i.Add(2).DValue, 0, false); addEntity("YMpr", (ushort)i, (byte)i.Add(2).DValue, 0, false); addEntity("ZMpr", (ushort)i, (byte)i.Add(2).DValue, 0, false); addEntity("TGad", (ushort)i, (byte)i.Add(2).DValue, 0, true); addEntity("TMad", (ushort)i, (byte)i.Add(2).DValue, 0, true); return(body.ToArray()); void addEntity(string mnemonicName, ushort position, byte length, byte numOfBits, bool isSigned) { body.Add(mnemonicName.GetASCIIBytes()); body.Add(_serializator.Serialize(position)); body.Add(length); body.Add((isSigned ? (1 << 7) : 0).ToByte().BitOR(numOfBits)); } } }
public RUSTechnologicalModuleDevice(WordSerializator serializator) : base(serializator) { _serial = 100; _status32 = Global.Random.NextUInt(); _calibrationFile = deserialize(Properties.Resources.V01_RUS24_Cal, FileType.CALIBRATION); _factorySettingsFile = deserialize(Properties.Resources.V01_RUS24_FSet, FileType.FACTORY_SETTINGS); _dataPacketFormatFile = generateDataPacketFormatFile(); _flashDataPacketFormatFile = generateDataPacketFormatFile(); _temperatureCalibrationFile = deserialize(Properties.Resources.V01_RUS24_TCal, FileType.TEMPERATURE_CALIBRATION); _workModeFile = deserialize(Properties.Resources.V01_RUS24_WMode, FileType.WORK_MODE); byte[] generateDataPacketFormatFile() { var body = new Enumerable <byte>() { "TEXMODUL0101DDMMYYF_".GetASCIIBytes(), serializator.Serialize(_serial), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Reserved }; var i = new SmartInt().Add(1); addEntity("STAT", i, i.Add(2).DValue, 0); addEntity("STAT", i, i.Add(2).DValue, 0); addEntity("TST1", i, i.Add(2).DValue, 0); addEntity("TST2", i, i.Add(2).DValue, 0); return(body.ToArray()); void addEntity(string mnemonicName, int position, int length, byte numOfBits) { body.Add(mnemonicName.GetASCIIBytes()); body.Add(_serializator.Serialize((ushort)position)); body.Add((byte)length); body.Add(numOfBits); } } }
public VirtualRUSModuleBase(WordSerializator serializator) : base(serializator) { }
protected VirtualRUSDeviceBase(WordSerializator serializator) { _serializator = serializator ?? throw new ArgumentNullException(nameof(serializator)); }