Beispiel #1
0
            //Handle event from UI thread
            public void OnBluetoothMessageSended(object source, BluetoothEventArgs e)
            {
                switch (e.What)
                {
                case OpenGloveAppPage.INITIALIZE_MOTORS:
                {
                    Debug.WriteLine($"INITIALIZE_MOTORS: Initializing motors (thread: {this.Id})");
                    string message = mMessageGenerator.InitializeMotor(((List <int>)e.Pins).GetRange(0, 2).ToArray());
                    this.Write(message);
                    break;
                }

                case OpenGloveAppPage.ACTIVATE_MOTORS:
                {
                    Debug.WriteLine($"ACTIVATE_MOTORS: Activating motors (thread: {this.Id})");
                    Debug.WriteLine($"ValuesON: {((List<string>)e.ValuesON).Count}");
                    Debug.WriteLine($"ValuesON.range(0,2): { ((List<string>)e.ValuesON).GetRange(0, 2).ToArray() }");
                    Debug.WriteLine($"Pins.range(0,2).Count: { ((List<int>)e.Pins).GetRange(0, 2).Count }");
                    string message = mMessageGenerator.ActivateMotor(((List <int>)e.Pins).GetRange(0, 2).ToArray(), ((List <string>)e.ValuesON).GetRange(0, 2).ToArray());
                    this.Write(message);
                    break;
                }

                case OpenGloveAppPage.DISABLE_MOTORS:
                {
                    Debug.WriteLine($"DISABLE_MOTORS: Disable motors (thread: {this.Id})");
                    string message = mMessageGenerator.ActivateMotor(((List <int>)e.Pins).GetRange(0, 2).ToArray(), ((List <string>)e.ValuesOFF).GetRange(0, 2).ToArray());
                    this.Write(message);
                    break;
                }

                case OpenGloveAppPage.FLEXOR_READ:
                {
                    //Debug.WriteLine($"FLEXOR_READ: FOR READ PINS (thread: {this.Id})");
                    //mFlexorPins = e.FlexorPins as List<int>;
                    break;
                }

                case OpenGloveAppPage.FLEXOR_EVALUATION:
                {
                    mEvaluation = OpenGloveAppPage.FLEXOR_EVALUATION;
                    break;
                }

                case OpenGloveAppPage.MOTOR_EVALUATION:
                {
                    mEvaluation = OpenGloveAppPage.MOTOR_EVALUATION;
                    break;
                }

                default:
                {
                    break;
                }
                }
            }
 //Subcriber method
 public void OnBluetoothMessage(object source, BluetoothEventArgs e)
 {
     // Handler for message from bluetooth ConnectedThread
     Device.BeginInvokeOnMainThread(() =>
     {
         if (e.Message != null)
         {
             double value = double.Parse(e.Message);
             progressBar_flexor_value.Progress = (value / 300);
             label_flexor_value.Text           = e.Message;
         }
     });
 }
Beispiel #3
0
 private void Message_Recieved(object sender, BluetoothEventArgs e)
 {
     LastMessageType = e.mess;
 }