Ejemplo n.º 1
0
 public override Task <ResponseGetI2C> GetI2C(RequestGetI2C request, ServerCallContext context)
 {
     try
     {
         var b = common.I2CController.Read(
             request.BusId, request.DevAddress, request.RegisterAddress, request.ReadLength);
         return(Task.FromResult(new ResponseGetI2C()
         {
             Query = request,
             Response = Google.Protobuf.ByteString.CopyFrom(b)
         }));
     }
     catch (Exception e)
     {
         return(Task.FromException <ResponseGetI2C>(e));
     }
 }
Ejemplo n.º 2
0
        private void btnReadI2C_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (int.TryParse(txtBusId.Text, out _) &&
                    int.TryParse(txtDevAddr.Text, out _) &&
                    int.TryParse(txtRegAddr.Text, out _) &&
                    int.TryParse(txtReadLength.Text, out _))
                {
                    var m = new RequestGetI2C()
                    {
                        BusId           = int.Parse(txtBusId.Text),
                        DevAddress      = int.Parse(txtDevAddr.Text),
                        RegisterAddress = int.Parse(txtRegAddr.Text),
                        ReadLength      = int.Parse(txtReadLength.Text)
                    };

                    new System.Threading.Thread(() =>
                    {
                        try
                        {
                            var rsp = client.GetI2C(m, deadline: DateTime.UtcNow.AddMilliseconds(5000));

                            Console.WriteLine("Read I2C: " + ByteArrayToString(rsp.Response.ToByteArray()));
                            this.lblI2C.Dispatcher.Invoke((Action)(() =>
                            {
                                this.lblI2C.Text = ByteArrayToString(rsp.Response.ToByteArray());
                            }));
                        }
                        catch (Exception err) { Console.WriteLine(err); }
                    }).Start();
                }
                else
                {
                    MessageBox.Show("Input Error", $"Check inputs", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            catch (Exception err) { MessageBox.Show("Input Error", $"{err.Message}", MessageBoxButton.OK, MessageBoxImage.Error); }
        }