void _notify_Sample(object sender, SampleEventArgs e) { if (SampleReceived != null) { SampleReceived.Invoke(this, e); } }
public void Stop() { _timerToken?.Stop(); _timerToken = null; SamplesGenerated = 0; SampleReceived?.Invoke(this, null); }
private void ProcessSampleResponse(string xml) { if (!string.IsNullOrEmpty(xml)) { // Process MTConnectStreams Document var doc = MTConnectStreams.Document.Create(xml); if (doc != null) { int itemCount = -1; if (doc.DeviceStreams.Count > 0) { List <MTConnectStreams.DeviceStream> deviceStreams = null; if (!string.IsNullOrEmpty(DeviceName)) { var deviceStream = doc.DeviceStreams.Find(o => o.Name == DeviceName); if (deviceStream != null) { deviceStreams = new List <MTConnectStreams.DeviceStream>(); deviceStreams.Add(deviceStream); } } else { deviceStreams = doc.DeviceStreams; } //var deviceStream = doc.DeviceStreams.Find(o => o.Name == DeviceName); if (deviceStreams != null && deviceStreams.Count > 0) { foreach (var deviceStream in doc.DeviceStreams) { if (deviceStream != null && deviceStream.DataItems != null) { CheckAssetChanged(deviceStream.DataItems); // Get number of DataItems returned by Sample itemCount = deviceStream.DataItems.Count; SampleRange.From += itemCount; SampleRange.To = doc.Header.NextSequence; SampleReceived?.Invoke(doc); } } } } } else { // Process MTConnectError Document (if MTConnectDevices fails) var errorDoc = MTConnectError.Document.Create(xml); if (errorDoc != null) { Error?.Invoke(errorDoc); } } } }
private void ControllerOnSampleReceived(object sender, SourcedSampleReceivedEventArgs e) { if (e.Address.Equals(GetAddressInternal())) { SampleReceived?.Invoke(this, new SampleReceivedEventArgs(e.DigitalChannels, e.DigitalSampleState, e.AnalogChannels, e.AnalogSamples)); } }
private void Do() { var sample = _sampleGenerator.GenerateSample(_previousSamples); SamplesGenerated++; _previousSamples.Add(sample); SampleReceived?.Invoke(this, sample); _outputter.WriteSample(_destination, sample); }
private void OnFrameReceived(object sender, FrameReceivedEventArgs e) { FrameContent content = e.FrameContent; if (content is ModemStatusFrame) { var modemStatusFrame = content as ModemStatusFrame; _modemResetTaskCompletionSource?.SetResult(modemStatusFrame.ModemStatus); } else if (content is CommandResponseFrameContent) { var commandResponse = content as CommandResponseFrameContent; byte frameId = commandResponse.FrameId; TaskCompletionSource <CommandResponseFrameContent> taskCompletionSource; if (ExecuteTaskCompletionSources.TryRemove(frameId, out taskCompletionSource)) { taskCompletionSource.SetResult(commandResponse); } else { Action <CommandResponseFrameContent> callback; if (ExecuteCallbacks.TryGetValue(frameId, out callback)) { callback(commandResponse); } } } else if (content is IRxIndicatorDataFrame) { var dataFrame = content as IRxIndicatorDataFrame; NodeAddress address = dataFrame.GetAddress(); _receivedDataSource.Push(new SourcedData(address, dataFrame.Data)); DataReceived?.Invoke(this, new SourcedDataReceivedEventArgs(address, dataFrame.Data)); } else if (content is IRxIndicatorSampleFrame) { var sampleFrame = content as IRxIndicatorSampleFrame; NodeAddress address = sampleFrame.GetAddress(); Sample sample = sampleFrame.GetSample(); _sampleSource.Push(new SourcedSample(address, sample)); SampleReceived?.Invoke(this, new SourcedSampleReceivedEventArgs(address, sample.DigitalSampleState, sample.AnalogSamples)); } }
private void ProcessSampleResponse(string xml) { if (!string.IsNullOrEmpty(xml) && !stop.WaitOne(0, true)) { // Process MTConnectStreams Document var doc = MTConnectStreams.Document.Create(xml); if (doc != null) { int itemCount = -1; if (doc.DeviceStreams.Count > 0) { MTConnectStreams.DeviceStream deviceStream = null; // Get the DeviceStream for the DeviceName or default to the first if (!string.IsNullOrEmpty(DeviceName)) { deviceStream = doc.DeviceStreams.Find(o => o.Name == DeviceName); } else { deviceStream = doc.DeviceStreams[0]; } if (deviceStream != null & deviceStream.DataItems != null) { CheckAssetChanged(deviceStream.DataItems); // Get number of DataItems returned by Sample itemCount = deviceStream.DataItems.Count; SampleRange.From += itemCount; SampleRange.To = doc.Header.NextSequence; SampleReceived?.Invoke(doc); } } } else { // Process MTConnectError Document (if MTConnectDevices fails) var errorDoc = MTConnectError.Document.Create(xml); if (errorDoc != null) { Error?.Invoke(errorDoc); } } } }
private void Stream_GroupReceived(string json) { var obj = Json.Convert.FromJson <Data.ReturnedSample>(json); if (obj != null) { var sample = new Data.Sample(); sample.AgentInstanceId = obj.AgentInstanceId; sample.CDATA = obj.CDATA; sample.Condition = obj.Condition; sample.DeviceId = obj.DeviceId; sample.Id = obj.Id; sample.Sequence = obj.Sequence; sample.Timestamp = obj.Timestamp; SampleReceived?.Invoke(sample); } }
protected void OnSampleReceived() { SampleReceived?.Invoke(this, EventArgs.Empty); }
private void OnFrameReceived(object sender, FrameReceivedEventArgs e) { var content = e.FrameContent; if (content is ModemStatusFrame) { var modemStatusFrame = content as ModemStatusFrame; _modemResetTaskCompletionSource?.SetResult(modemStatusFrame.ModemStatus); } else if (content is CommandResponseFrameContent) { var commandResponse = content as CommandResponseFrameContent; var frameId = commandResponse.FrameId; TaskCompletionSource <CommandResponseFrameContent> taskCompletionSource; if (ExecuteTaskCompletionSources.TryRemove(frameId, out taskCompletionSource)) { taskCompletionSource.SetResult(commandResponse); } else { Action <CommandResponseFrameContent> callback; if (ExecuteCallbacks.TryGetValue(frameId, out callback)) { callback(commandResponse); } } } else if (content is IRxIndicatorDataFrame) { var dataFrame = content as IRxIndicatorDataFrame; var address = dataFrame.GetAddress(); _receivedDataSource.Push(new SourcedData(address, dataFrame.Data)); DataReceived?.Invoke(this, new SourcedDataReceivedEventArgs(address, dataFrame.Data)); } else if (content is IRxIndicatorSampleFrame) { var sampleFrame = content as IRxIndicatorSampleFrame; var address = sampleFrame.GetAddress(); var sample = sampleFrame.GetSample(); _sampleSource.Push(new SourcedSample(address, sample)); SampleReceived?.Invoke(this, new SourcedSampleReceivedEventArgs(address, sample.DigitalChannels, sample.DigitalSampleState, sample.AnalogChannels, sample.AnalogSamples)); } else if (content is SensorReadIndicatorFrame) { var sensorFrame = content as SensorReadIndicatorFrame; var sensorSample = new SensorSample(sensorFrame.OneWireSensor, sensorFrame.SensorValueA, sensorFrame.SensorValueB, sensorFrame.SensorValueC, sensorFrame.SensorValueD, sensorFrame.TemperatureCelsius); var address = sensorFrame.GetAddress(); SensorSampleReceived?.Invoke(this, new SourcedSensorSampleReceivedEventArgs(address, sensorSample.OneWireSensor, sensorSample.SensorValueA, sensorSample.SensorValueB, sensorSample.SensorValueC, sensorSample.SensorValueD, sensorSample.TemperatureCelsius)); } else if (content is RxSmsFrame) { var smsFrame = content as RxSmsFrame; SmsReceived?.Invoke(this, new SmsReceivedEventArgs(smsFrame.PhoneNumber, smsFrame.Message)); } else if (content is RxIPv4Frame) { var ipv4Frame = content as RxIPv4Frame; var address = new IPAddress(ipv4Frame.SourceAddress); InternetDataReceived?.Invoke(this, new InternetDataReceivedEventArgs(address, ipv4Frame.DestinationPort, ipv4Frame.SourcePort, ipv4Frame.Protocol, ipv4Frame.Data)); } }