/// <summary> /// /// </summary> /// <param name="metadataFromDevice"></param> /// <param name="runtimeDevice"></param> /// <param name="rawBytes"></param> public void ApplyReceivedBytesToDevice(MetadataFromDevice metadataFromDevice, IRuntimeDevice runtimeDevice, byte[] rawBytes) { try { metadataFromDevice.RawBytesToDeviceStateParser.ParseRawBytesToDeviceState(rawBytes, runtimeDevice); } catch (Exception e) { } }
private async Task <bool> LoadDataFromDevice(MetadataFromDevice metadataFromDevice, IRuntimeDevice runtimeDevice) { if (IsDisposed) { return(false); } byte[] res = await runtimeDevice.TcpDeviceConnection.GetDataByAddressAsync(metadataFromDevice.MetadataForTag.StartAddress, metadataFromDevice.MetadataForTag.NumberOfPoints, metadataFromDevice.Tag); if (res == null) { return(false); } runtimeDevice.DeviceDataCache.SaveBytesByMetadata(metadataFromDevice.MetadataForTag, res); _rawBytesToDeviceStateParserService?.ApplyReceivedBytesToDevice(metadataFromDevice, runtimeDevice, res); return(true); }