Esempio n. 1
0
 /// <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);
        }
Esempio n. 3
0
 /// <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);
        }
Esempio n. 5
0
 private void outputDataHandler(object sender, BinaryMsgMinData data)
 {
     this.ucDashboard.Update(data);
 }