//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; } }); }
private void Message_Recieved(object sender, BluetoothEventArgs e) { LastMessageType = e.mess; }