/// <summary> /// Parses a mesage sent by the Receiver. For example, a detection or status message. Enqueues the decoded message. /// </summary> /// <param name="unparsedMessage">The unparsed message event generated by the Receiver class.</param> public void Decode(ReceiverSlice.RealTimeEvents.UnparsedMessage unparsedMessage) { Dictionary<String, String> payload = new Dictionary<String, String>(); string message = unparsedMessage["unparsedmessage"]; dynamic config = unparsedMessage["configuration"]; string messageType = getMessageType(message, config); if (messageType == "unknown") return; Match matches; foreach(string word in config.decoder.sentences[messageType].word_order) { String wordRegex = ((String)config.decoder.words[word]); matches = Regex.Match(message, wordRegex); if (matches.Success) payload.Add(word, matches.Groups[1].ToString()); else payload.Add(word, "NULL"); } dispatcher.enqueueEvent(new RealTimeEvents.Decoded(payload, unparsedMessage, message, messageType)); }
public RunStateChangedReceiver(ReceiverSlice.RunState r, Receiver receiver, string portName, string serialNumber, string model, FridayThe13th.JsonObject config) : base("Receiver " + serialNumber + "on " + portName + " changed to run state " + r, receiver, portName, serialNumber, model, config) { this["runstate"] = r; }
private void changeRunMode(ReceiverSlice.RunState r) { if (((ReceiverSlice.Receiver)this.receiversListBox.SelectedItem) != null) { ((ReceiverSlice.Receiver)this.receiversListBox.SelectedItem).changeRunMode(r); } }
private void onChangeRunModeRadioButtons(ReceiverSlice.Receiver r, ReceiverSlice.RunState newRunState) { if (receiversListBox.SelectedItem != null && (receiversListBox.Items.IndexOf(r) == this.receiversListBox.SelectedIndex)) { this.radioRun.IsChecked = false; this.radioPause.IsChecked = false; this.radioStop.IsChecked = false; switch (newRunState) { case ReceiverSlice.RunState.RUN: radioRun.IsChecked = true; break; case ReceiverSlice.RunState.PAUSE: radioPause.IsChecked = true; break; case ReceiverSlice.RunState.STORE: radioStop.IsChecked = true; break; } } }
private void onChangeRunModeListBox(ReceiverSlice.Receiver r, ReceiverSlice.RunState newRunState) { if((receiversListBox.Items.IndexOf(r) == this.receiversListBox.SelectedIndex)) { ListBoxItem lbi = this.receiversListBox.ItemContainerGenerator.ContainerFromItem(r) as ListBoxItem; switch(newRunState) { case ReceiverSlice.RunState.RUN: lbi.Background = Brushes.AliceBlue; this.tbRunState.Text = "Run"; break; case ReceiverSlice.RunState.PAUSE: lbi.Background = Brushes.PapayaWhip; this.tbRunState.Text = "Pause"; break; case ReceiverSlice.RunState.STORE: lbi.Background = Brushes.Pink; this.tbRunState.Text = "Stop"; break; } } }