/// <summary>Display data if for this object</summary> /// <param name="data">The minimal data id and value as double</param> /// <returns></returns> public bool Process(BinaryMsgMinData data) { if (this.IsMine(data.MsgId)) { this.DispatchDisplay(data.MsgValue); return(true); } return(false); }
private void RaiseOuput_Bluetooth(BinaryMsgMinData data) { ErrReport report; WrapErr.ToErrReport(out report, 9999, "Failure on RaiseMsg", () => { this.OutputData_BT?.Invoke(this, data); }); this.RaiseIfException(report); }
/// <summary>Update appropriate control with data from comm</summary> /// <param name="data">The update data</param> public void Update(BinaryMsgMinData data) { this.Dispatcher.Invoke(() => { try { foreach (var output in this.outputs) { if (output.Process(data)) { break; } } // TODO - add error processing if not found } catch (Exception ex) { this.log.Exception(9999, "ConnectionAttemptResult", "", ex); } }); }
private void ParseBinaryMsgData(byte[] data, ConnectionType connectType) { ErrReport report; WrapErr.ToErrReport(out report, 9999, "Failure parse binary msg packet", () => { // Comm Binary stack just sends back packet with start and end delimiters. Validate here BinaryMsgMinData minData = null; if (data.IsValidMsg()) { switch (data.GetDataType()) { case BinaryMsgDataType.typeBool: minData = data.ToBoolMsg().ToMinimumData(); break; case BinaryMsgDataType.typeInt8: minData = data.ToInt8Msg().ToMinimumData(); break; case BinaryMsgDataType.typeInt16: minData = data.ToInt16Msg().ToMinimumData(); break; case BinaryMsgDataType.typeInt32: minData = data.ToInt32Msg().ToMinimumData(); break; case BinaryMsgDataType.typeUInt8: minData = data.ToUInt8Msg().ToMinimumData(); break; case BinaryMsgDataType.typeUInt16: minData = data.ToUInt16Msg().ToMinimumData(); break; case BinaryMsgDataType.typeUInt32: minData = data.ToUInt32Msg().ToMinimumData(); break; case BinaryMsgDataType.typeFloat32: minData = data.ToFloat32Msg().ToMinimumData(); break; case BinaryMsgDataType.tyepUndefined: case BinaryMsgDataType.typeInvalid: // Already checked with IsValidMsg break; } if (minData != null) { switch (connectType) { case ConnectionType.BluetoothClassic: this.RaiseOuput_Bluetooth(minData); break; default: // TODO - error break; } } else { // TODO Error } } else { // TODO Raise error } }); this.RaiseIfException(report); }
private void outputDataHandler(object sender, BinaryMsgMinData data) { this.ucDashboard.Update(data); }