/// <summary> /// Coroutine which let the Wiimote vibrate for the given time in milliseconds. /// </summary> /// <param name="timeInMilliSeconds">Float</param> /// <returns>IEnumerator</returns> private IEnumerator VibrateWiimoteCoroutine(float timeInMilliSeconds) { wiimote.RumbleOn = true; wiimote.SendStatusInfoRequest(); yield return(new WaitForSeconds(timeInMilliSeconds / 1000.0f)); wiimote.RumbleOn = false; wiimote.SendStatusInfoRequest(); }
void OnGUI() { if (wiimote == null) { return; } if (!setupCompleted) { if (wiimote.Button.b && wiimote.Button.a) { //RUMBLE wiimote.RumbleOn = true; wiimote.SendStatusInfoRequest(); wiimote.RumbleOn = false; initIsPressed = true; } else { if (initIsPressed) { setupCompleted = true; initIsPressed = false; } } } }
void Update() { if (_wiimote == null) { return; } _wiimote.SendDataReportMode(InputDataType.REPORT_BUTTONS_ACCEL); _wiimote.SendStatusInfoRequest(); while (_wiimote.ReadWiimoteData() > 0) { ; //read all data to get up to date values; } CalibratedAccel = new ReadOnlyCollection <float>(_wiimote.Accel.GetCalibratedAccelData()); //LogDebugHelper.printVectors(new Vector3(CalibratedAccel[0], CalibratedAccel[1], CalibratedAccel[2]), "Accelerometer"); }
public void UpdateBatteryStatus() { wiimote.SendStatusInfoRequest(); Debug.Log("Battery : " + (wiimote.Status.battery_level / 2.56) + "%"); if (wiimote.Status.battery_low) { wiimote.SendPlayerLED(true, true, true, true); } }
public void findWiimote() { WiimoteManager.FindWiimotes(); // Poll native bluetooth drivers to find Wiimotes foreach (Wiimote remote in WiimoteManager.Wiimotes) { // Do stuff. //Console.WriteLine("Gefunden"); //LEDs markieren, dass WiiRemote verbunden ist wiiRemote = remote; //remote.RumbleOn = true; wiiRemote.SendStatusInfoRequest(); wiiRemote.SendPlayerLED(true, false, false, false); //Thread.Sleep(1000); //remote.RumbleOn = false; wiiRemote.SendStatusInfoRequest(); wiiRemote.SendDataReportMode(InputDataType.REPORT_BUTTONS_ACCEL); count++; } if (count != 0) { /*if (GameObject.Find("CalibMenu").gameObject.activeSelf) * { * setFindWiimoteText(); * //Debug.Log("START ---------- Wiimote gefunden"); * //Debug.Log("Wiimote Daten: " + wiiRemote.Accel.GetCalibratedAccelData().ToString()); * }*/ } /*return true; * } * else * { * return false; * }*/ }
void OnGUI() { GUI.Box(new Rect(0, 0, 320, Screen.height), ""); GUILayout.BeginVertical(GUILayout.Width(300)); GUILayout.Label("Wiimote Found: " + WiimoteManager.HasWiimote()); if (GUILayout.Button("Find Wiimote")) { WiimoteManager.FindWiimotes(); } if (GUILayout.Button("Cleanup")) { WiimoteManager.Cleanup(wiimote); wiimote = null; } if (wiimote == null) { return; } GUILayout.Label("Extension: " + wiimote.current_ext.ToString()); GUILayout.Label("LED Test:"); GUILayout.BeginHorizontal(); for (int x = 0; x < 4; x++) { if (GUILayout.Button("" + x, GUILayout.Width(300 / 4))) { wiimote.SendPlayerLED(x == 0, x == 1, x == 2, x == 3); } } GUILayout.EndHorizontal(); GUILayout.Label("Set Report:"); GUILayout.BeginHorizontal(); if (GUILayout.Button("But/Acc", GUILayout.Width(300 / 4))) { wiimote.SendDataReportMode(InputDataType.REPORT_BUTTONS_ACCEL); } if (GUILayout.Button("But/Ext8", GUILayout.Width(300 / 4))) { wiimote.SendDataReportMode(InputDataType.REPORT_BUTTONS_EXT8); } if (GUILayout.Button("B/A/Ext16", GUILayout.Width(300 / 4))) { wiimote.SendDataReportMode(InputDataType.REPORT_BUTTONS_ACCEL_EXT16); } if (GUILayout.Button("Ext21", GUILayout.Width(300 / 4))) { wiimote.SendDataReportMode(InputDataType.REPORT_EXT21); } GUILayout.EndHorizontal(); if (GUILayout.Button("Request Status Report")) { wiimote.SendStatusInfoRequest(); } GUILayout.Label("IR Setup Sequence:"); GUILayout.BeginHorizontal(); if (GUILayout.Button("Basic", GUILayout.Width(100))) { wiimote.SetupIRCamera(IRDataType.BASIC); } if (GUILayout.Button("Extended", GUILayout.Width(100))) { wiimote.SetupIRCamera(IRDataType.EXTENDED); } if (GUILayout.Button("Full", GUILayout.Width(100))) { wiimote.SetupIRCamera(IRDataType.FULL); } GUILayout.EndHorizontal(); GUILayout.Label("WMP Attached: " + wiimote.wmp_attached); if (GUILayout.Button("Request Identify WMP")) { wiimote.RequestIdentifyWiiMotionPlus(); } if ((wiimote.wmp_attached || wiimote.Type == WiimoteType.PROCONTROLLER) && GUILayout.Button("Activate WMP")) { wiimote.ActivateWiiMotionPlus(); } if ((wiimote.current_ext == ExtensionController.MOTIONPLUS || wiimote.current_ext == ExtensionController.MOTIONPLUS_CLASSIC || wiimote.current_ext == ExtensionController.MOTIONPLUS_NUNCHUCK) && GUILayout.Button("Deactivate WMP")) { wiimote.DeactivateWiiMotionPlus(); } GUILayout.Label("Calibrate Accelerometer"); GUILayout.BeginHorizontal(); for (int x = 0; x < 3; x++) { AccelCalibrationStep step = (AccelCalibrationStep)x; if (GUILayout.Button(step.ToString(), GUILayout.Width(100))) { wiimote.Accel.CalibrateAccel(step); } } GUILayout.EndHorizontal(); if (GUILayout.Button("Print Calibration Data")) { StringBuilder str = new StringBuilder(); for (int x = 0; x < 3; x++) { for (int y = 0; y < 3; y++) { str.Append(wiimote.Accel.accel_calib[y, x]).Append(" "); } str.Append("\n"); } Debug.Log(str.ToString()); } if (wiimote != null && wiimote.current_ext != ExtensionController.NONE) { scrollPosition = GUILayout.BeginScrollView(scrollPosition); GUIStyle bold = new GUIStyle(GUI.skin.button); bold.fontStyle = FontStyle.Bold; if (wiimote.current_ext == ExtensionController.NUNCHUCK) { GUILayout.Label("Nunchuck:", bold); NunchuckData data = wiimote.Nunchuck; GUILayout.Label("Stick: " + data.stick[0] + ", " + data.stick[1]); GUILayout.Label("C: " + data.c); GUILayout.Label("Z: " + data.z); } else if (wiimote.current_ext == ExtensionController.CLASSIC) { GUILayout.Label("Classic Controller:", bold); ClassicControllerData data = wiimote.ClassicController; GUILayout.Label("Stick Left: " + data.lstick[0] + ", " + data.lstick[1]); GUILayout.Label("Stick Right: " + data.rstick[0] + ", " + data.rstick[1]); GUILayout.Label("Trigger Left: " + data.ltrigger_range); GUILayout.Label("Trigger Right: " + data.rtrigger_range); GUILayout.Label("Trigger Left Button: " + data.ltrigger_switch); GUILayout.Label("Trigger Right Button: " + data.rtrigger_switch); GUILayout.Label("A: " + data.a); GUILayout.Label("B: " + data.b); GUILayout.Label("X: " + data.x); GUILayout.Label("Y: " + data.y); GUILayout.Label("Plus: " + data.plus); GUILayout.Label("Minus: " + data.minus); GUILayout.Label("Home: " + data.home); GUILayout.Label("ZL: " + data.zl); GUILayout.Label("ZR: " + data.zr); GUILayout.Label("D-Up: " + data.dpad_up); GUILayout.Label("D-Down: " + data.dpad_down); GUILayout.Label("D-Left: " + data.dpad_left); GUILayout.Label("D-Right: " + data.dpad_right); } else if (wiimote.current_ext == ExtensionController.MOTIONPLUS) { GUILayout.Label("Wii Motion Plus:", bold); MotionPlusData data = wiimote.MotionPlus; GUILayout.Label("Pitch Speed: " + data.PitchSpeed); GUILayout.Label("Yaw Speed: " + data.YawSpeed); GUILayout.Label("Roll Speed: " + data.RollSpeed); GUILayout.Label("Pitch Slow: " + data.PitchSlow); GUILayout.Label("Yaw Slow: " + data.YawSlow); GUILayout.Label("Roll Slow: " + data.RollSlow); Vector3 offset = new Vector3(-data.PitchSpeed, data.YawSpeed, data.RollSpeed); /*if (data.PitchSpeed != 0) * { * //Debug.Log("Updating CSV"); * //Update_csv(offset); * } */ if (GUILayout.Button("Zero Out WMP")) { data.SetZeroValues(); model.rot.rotation = Quaternion.FromToRotation(model.rot.rotation * GetAccelVector(), Vector3.up) * model.rot.rotation; model.rot.rotation = Quaternion.FromToRotation(model.rot.forward, Vector3.forward) * model.rot.rotation; } if (GUILayout.Button("Reset Offset")) { wmpOffset = Vector3.zero; } GUILayout.Label("Offset: " + wmpOffset.ToString()); } else if (wiimote.current_ext == ExtensionController.WIIU_PRO) { GUILayout.Label("Wii U Pro Controller:", bold); WiiUProData data = wiimote.WiiUPro; GUILayout.Label("Stick Left: " + data.lstick[0] + ", " + data.lstick[1]); GUILayout.Label("Stick Right: " + data.rstick[0] + ", " + data.rstick[1]); GUILayout.Label("A: " + data.a); GUILayout.Label("B: " + data.b); GUILayout.Label("X: " + data.x); GUILayout.Label("Y: " + data.y); GUILayout.Label("D-Up: " + data.dpad_up); GUILayout.Label("D-Down: " + data.dpad_down); GUILayout.Label("D-Left: " + data.dpad_left); GUILayout.Label("D-Right: " + data.dpad_right); GUILayout.Label("Plus: " + data.plus); GUILayout.Label("Minus: " + data.minus); GUILayout.Label("Home: " + data.home); GUILayout.Label("L: " + data.l); GUILayout.Label("R: " + data.r); GUILayout.Label("ZL: " + data.zl); GUILayout.Label("ZR: " + data.zr); } /*else if (wiimote.current_ext == ExtensionController.GUITAR) { * GUILayout.Label ("Guitar", bold); * GuitarData data = wiimote.Guitar; * float[] stick = data.GetStick01 (); * GUILayout.Label ("Stick: " + stick [0] + ", " + stick [1]); * GUILayout.Label ("Slider: " + (data.has_slider ? Convert.ToString (data.GetSlider01 ()) : "unsupported")); * GUILayout.Label ("Green: " + data.green); * GUILayout.Label ("Red: " + data.red); * GUILayout.Label ("Yellow: " + data.yellow); * GUILayout.Label ("Blue: " + data.blue); * GUILayout.Label ("Orange: " + data.orange); * GUILayout.Label ("Strum Up: " + data.strum_up); * GUILayout.Label ("Strum Down: " + data.strum_down); * GUILayout.Label ("Minus: " + data.minus); * GUILayout.Label ("Plus: " + data.plus); * GUILayout.Label ("Whammy: " + data.GetWhammy01()); * } */ GUILayout.EndScrollView(); } else { scrollPosition = Vector2.zero; } GUILayout.EndVertical(); }
//============================================================================= // 関数名: void OnGUI() // 引数 : なし // 戻り値: なし // 説明 : DebugGUI //============================================================================= void OnGUI() { // 枠 GUI.Box(new Rect(0, 0, 0, Screen.height), ""); GUILayout.BeginVertical(GUILayout.Width(300)); GUILayout.Label("WiimoteFound:" + WiimoteManager.HasWiimote()); // 接続ボタン if (GUILayout.Button("Find Wiimote")) { WiimoteManager.FindWiimotes(); //wm = InitMotionPlus(WiimoteManager.Wiimotes[0]); wm = InitWiimote(WiimoteManager.Wiimotes[0]); } // 切断ボタン if (GUILayout.Button("Cleanup")) { Debug.Log("Wiiリモコンの接続を解除しました"); WiimoteManager.Cleanup(wm); wm = null; } // 接続されていなかったらこれ以降を表示しない if (wm == null) { return; } // 外部コントローラー確認 GUILayout.Label("Extension: " + wm.current_ext.ToString() + wm.Type); // LEDチェック GUILayout.BeginHorizontal(); for (int i = 0; i < 4; i++) { if (GUILayout.Button("" + i, GUILayout.Width(300 / 4))) { wm.SendPlayerLED(i == 0, i == 1, i == 2, i == 3); } } if (GUILayout.Button("LED Reset", GUILayout.Width(300 / 4))) { wm.SendPlayerLED(false, false, false, false); } GUILayout.EndHorizontal(); // 振動 GUILayout.Label("振動"); if (GUILayout.Button("ON")) { wm.RumbleOn = true; wm.SendStatusInfoRequest(); } if (GUILayout.Button("OFF")) { wm.RumbleOn = false; wm.SendStatusInfoRequest(); } // 加速度 GUILayout.BeginHorizontal(); if (GUILayout.Button("But/Acc", GUILayout.Width(300 / 4))) { wm.SendDataReportMode(InputDataType.REPORT_BUTTONS); } if (GUILayout.Button("But/Ext8", GUILayout.Width(300 / 4))) { wm.SendDataReportMode(InputDataType.REPORT_BUTTONS_EXT8); } if (GUILayout.Button("B/A/Ext16", GUILayout.Width(300 / 4))) { wm.SendDataReportMode(InputDataType.REPORT_BUTTONS_ACCEL_EXT16); } if (GUILayout.Button("Ext21", GUILayout.Width(300 / 4))) { wm.SendDataReportMode(InputDataType.REPORT_EXT21); } GUILayout.EndHorizontal(); // モーションプラス設定 GUILayout.Label("WMP Attached: " + wm.wmp_attached); if (GUILayout.Button("Request Identify WMP")) { wm.RequestIdentifyWiiMotionPlus(); } if ((wm.wmp_attached || wm.Type == WiimoteType.PROCONTROLLER) && GUILayout.Button("Activate WMP")) { wm.ActivateWiiMotionPlus(); } if ((wm.current_ext == ExtensionController.MOTIONPLUS || wm.current_ext == ExtensionController.MOTIONPLUS_CLASSIC || wm.current_ext == ExtensionController.MOTIONPLUS_NUNCHUCK) && GUILayout.Button("Deactivate WMP")) { wm.DeactivateWiiMotionPlus(); } GUILayout.Label("Calibrate Accelerometer"); GUILayout.BeginHorizontal(); for (int x = 0; x < 3; x++) { AccelCalibrationStep step = (AccelCalibrationStep)x; if (GUILayout.Button(step.ToString(), GUILayout.Width(100))) { wm.Accel.CalibrateAccel(step); } } GUILayout.EndHorizontal(); }
void OnGUI() { GUI.Box(new Rect(0, 0, 320, Screen.height), ""); GUILayout.BeginVertical(GUILayout.Width(300)); GUILayout.Label("Wiimote Found: " + WiimoteManager.HasWiimote()); if (GUILayout.Button("Find Wiimote")) { WiimoteManager.FindWiimotes(); } if (GUILayout.Button("Cleanup")) { WiimoteManager.Cleanup(wiimote); wiimote = null; } if (wiimote == null) { return; } GUILayout.Label("Extension: " + wiimote.current_ext.ToString()); GUILayout.Label("LED Test:"); GUILayout.BeginHorizontal(); for (int x = 0; x < 4; x++) { if (GUILayout.Button("" + x, GUILayout.Width(300 / 4))) { wiimote.SendPlayerLED(x == 0, x == 1, x == 2, x == 3); } } GUILayout.EndHorizontal(); GUILayout.Label("Set Report:"); GUILayout.BeginHorizontal(); if (GUILayout.Button("But/Acc", GUILayout.Width(300 / 4))) { wiimote.SendDataReportMode(InputDataType.REPORT_BUTTONS_ACCEL); } if (GUILayout.Button("But/Ext8", GUILayout.Width(300 / 4))) { wiimote.SendDataReportMode(InputDataType.REPORT_BUTTONS_EXT8); } if (GUILayout.Button("B/A/Ext16", GUILayout.Width(300 / 4))) { wiimote.SendDataReportMode(InputDataType.REPORT_BUTTONS_ACCEL_EXT16); } if (GUILayout.Button("Ext21", GUILayout.Width(300 / 4))) { wiimote.SendDataReportMode(InputDataType.REPORT_EXT21); } GUILayout.EndHorizontal(); if (GUILayout.Button("Request Status Report")) { wiimote.SendStatusInfoRequest(); } GUILayout.Label("IR Setup Sequence:"); GUILayout.BeginHorizontal(); if (GUILayout.Button("Basic", GUILayout.Width(100))) { wiimote.SetupIRCamera(IRDataType.BASIC); } if (GUILayout.Button("Extended", GUILayout.Width(100))) { wiimote.SetupIRCamera(IRDataType.EXTENDED); } if (GUILayout.Button("Full", GUILayout.Width(100))) { wiimote.SetupIRCamera(IRDataType.FULL); } GUILayout.EndHorizontal(); GUILayout.Label("WMP Attached: " + wiimote.wmp_attached); if (GUILayout.Button("Request Identify WMP")) { wiimote.RequestIdentifyWiiMotionPlus(); } if ((wiimote.wmp_attached || wiimote.Type == WiimoteType.PROCONTROLLER) && GUILayout.Button("Activate WMP")) { wiimote.ActivateWiiMotionPlus(); } if ((wiimote.current_ext == ExtensionController.MOTIONPLUS || wiimote.current_ext == ExtensionController.MOTIONPLUS_CLASSIC || wiimote.current_ext == ExtensionController.MOTIONPLUS_NUNCHUCK) && GUILayout.Button("Deactivate WMP")) { wiimote.DeactivateWiiMotionPlus(); } GUILayout.Label("Calibrate Accelerometer"); GUILayout.BeginHorizontal(); for (int x = 0; x < 3; x++) { AccelCalibrationStep step = (AccelCalibrationStep)x; if (GUILayout.Button(step.ToString(), GUILayout.Width(100))) { wiimote.Accel.CalibrateAccel(step); } } GUILayout.EndHorizontal(); if (GUILayout.Button("Print Calibration Data")) { StringBuilder str = new StringBuilder(); for (int x = 0; x < 3; x++) { for (int y = 0; y < 3; y++) { str.Append(wiimote.Accel.accel_calib[y, x]).Append(" "); } str.Append("\n"); } Debug.Log(str.ToString()); } if (wiimote != null && wiimote.current_ext != ExtensionController.NONE) { scrollPosition = GUILayout.BeginScrollView(scrollPosition); GUIStyle bold = new GUIStyle(GUI.skin.button); bold.fontStyle = FontStyle.Bold; if (wiimote.current_ext == ExtensionController.NUNCHUCK) { GUILayout.Label("Nunchuck:", bold); NunchuckData data = wiimote.Nunchuck; GUILayout.Label("Stick: " + data.stick[0] + ", " + data.stick[1]); GUILayout.Label("C: " + data.c); GUILayout.Label("Z: " + data.z); } else if (wiimote.current_ext == ExtensionController.MOTIONPLUS) { GUILayout.Label("Wii Motion Plus:", bold); //MotionPlusData data = wiimote.MotionPlus; dataMP = wiimote.MotionPlus; GUILayout.Label("Pitch Speed: " + dataMP.PitchSpeed); GUILayout.Label("Yaw Speed: " + dataMP.YawSpeed); GUILayout.Label("Roll Speed: " + dataMP.RollSpeed); GUILayout.Label("Pitch Slow: " + dataMP.PitchSlow); GUILayout.Label("Yaw Slow: " + dataMP.YawSlow); GUILayout.Label("Roll Slow: " + dataMP.RollSlow); /* * if (GUILayout.Button("Zero Out WMP")) * //if (IsStarted == false) * { * dataMP.SetZeroValues(); * model.rot.rotation = Quaternion.FromToRotation(model.rot.rotation*GetAccelVector(), Vector3.up) * model.rot.rotation; * model.rot.rotation = Quaternion.FromToRotation(model.rot.forward, Vector3.forward) * model.rot.rotation; * Flashlight.rot.rotation = Quaternion.FromToRotation(Flashlight.rot.rotation*GetAccelVector(), Vector3.up) * Flashlight.rot.rotation; * Flashlight.rot.rotation = Quaternion.FromToRotation(Flashlight.rot.forward, Vector3.forward) * Flashlight.rot.rotation; * IsStarted = true; * } */ if (GUILayout.Button("Reset Offset")) { wmpOffset = Vector3.zero; } GUILayout.Label("Offset: " + wmpOffset.ToString()); } GUILayout.EndScrollView(); } else { scrollPosition = Vector2.zero; } GUILayout.EndVertical(); }