save version 0.1. Last version working on wiiuse 0.9 API.

git-svn-id: http://wiiusej.googlecode.com/svn/trunk@45 ae48ae66-6a45-0410-b38e-211266189506
This commit is contained in:
guilhem.duche
2008-02-12 15:38:41 +00:00
parent 14c061c91c
commit 993feebde6

View File

@@ -0,0 +1,388 @@
package tests;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import wiiusej.Point2DInteger;
import wiiusej.WiiMoteEvent;
import wiiusej.WiiUseApiListener;
import wiiusej.WiiUseApiManager;
import wiiusej.Wiimote;
import wiiusej.WiimoteListener;
/**
* This class used to test this API.
*
* @author gduche
*
*/
public class Tests implements WiimoteListener {
Robot robot;
private static int DISPLAY_EACH_VALUE = 1;
private static int DUMP = 2;
private static int MOVE_MOUSE = 3;
private static int ORIENT_THRESH_CONT = 4;
private static int TEST_LEDS = 5;
private Wiimote wiimote;
int dump = DISPLAY_EACH_VALUE;
public Tests(Wiimote wim) {
wiimote = wim;
wiimote.addWiiMoteEventListeners(this);
try {
robot = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
}
@Override
public void wiimoteEvent(WiiMoteEvent e) {
if (dump == DISPLAY_EACH_VALUE) {
if (e.isConnected()) {
// System.out.println("*********** WIIMOTE ID : "+
// e.getWiimoteId() + " **************");
/* button ONE */
if (e.isButtonOneJustPressed()) {
System.out.println("button one pressed");
}
if (e.isButtonOneHeld()) {
System.out.println("button one held");
}
if (e.isButtonOneJustReleased()) {
System.out.println("button one released");
}
/* button TWO */
if (e.isButtonTwoJustPressed()) {
System.out.println("button two pressed");
}
if (e.isButtonTwoHeld()) {
System.out.println("button two held");
}
if (e.isButtonTwoJustReleased()) {
System.out.println("button two released");
}
/* button A */
if (e.isButtonAJustPressed()) {
System.out.println("button A pressed");
}
if (e.isButtonAHeld()) {
System.out.println("button A held");
}
if (e.isButtonAJustReleased()) {
System.out.println("button A released");
}
/* button B */
if (e.isButtonBJustPressed()) {
System.out.println("button B pressed");
}
if (e.isButtonBHeld()) {
System.out.println("button B held");
}
if (e.isButtonBJustReleased()) {
System.out.println("button B released");
}
/* button LEFT */
if (e.isButtonLeftJustPressed()) {
System.out.println("button Left pressed");
}
if (e.isButtonLeftHeld()) {
System.out.println("button Left held");
}
if (e.isButtonLeftJustReleased()) {
System.out.println("button Left released");
}
/* button RIGHT */
if (e.isButtonRightJustPressed()) {
System.out.println("button Right pressed");
}
if (e.isButtonRightHeld()) {
System.out.println("button Right held");
}
if (e.isButtonRightJustReleased()) {
System.out.println("button Right released");
}
/* button UP */
if (e.isButtonUpJustPressed()) {
System.out.println("button UP pressed");
}
if (e.isButtonUpHeld()) {
System.out.println("button UP held");
}
if (e.isButtonUpJustReleased()) {
System.out.println("button UP released");
}
/* button DOWN */
if (e.isButtonDownJustPressed()) {
System.out.println("button DOWN pressed");
}
if (e.isButtonDownHeld()) {
System.out.println("button DOWN held");
}
if (e.isButtonDownJustReleased()) {
System.out.println("button DOWN released");
}
/* button MINUS */
if (e.isButtonMinusJustPressed()) {
System.out.println("button MINUS pressed");
}
if (e.isButtonMinusHeld()) {
System.out.println("button MINUS held");
}
if (e.isButtonMinusJustReleased()) {
System.out.println("button MINUS released");
}
/* button PLUS */
if (e.isButtonPlusJustPressed()) {
System.out.println("button PLUS pressed");
}
if (e.isButtonPlusHeld()) {
System.out.println("button PLUS held");
}
if (e.isButtonPlusJustReleased()) {
System.out.println("button PLUS released");
}
/* button HOME */
if (e.isButtonHomeJustPressed()) {
System.out.println("button HOME pressed");
}
if (e.isButtonHomeHeld()) {
System.out.println("button HOME held");
}
if (e.isButtonHomeJustReleased()) {
System.out.println("button HOME released");
}
/* get status */
if (e.isButtonMinusJustPressed() && e.isButtonPlusJustPressed()) {
wiimote.getStatus();
}
/* Activate rumble */
if (e.isButtonOneJustPressed()) {
System.out.println("Rumble Activated");
wiimote.activateRumble();
}
if (e.isButtonTwoJustPressed()) {
System.out.println("Rumble Deactivated");
wiimote.deactivateRumble();
}
/* Activate IR Tracking */
if (e.isButtonAJustPressed()) {
System.out.println("IR Activated");
wiimote.activateIRTRacking();
}
if (e.isButtonBJustPressed()) {
System.out.println("IR Deactivated");
wiimote.deactivateIRTRacking();
}
/* Activate Motion sensing */
if (e.isButtonPlusJustPressed()) {
System.out.println("Motion sensing Activated");
wiimote.activateMotionSensing();
}
if (e.isButtonMinusJustPressed()) {
System.out.println("Motion sensing Deactivated");
wiimote.deactivateMotionSensing();
}
/* display status */
if (e.getBatteryLevel() != -1) {
System.out
.println("battery level : " + e.getBatteryLevel());
System.out.println("= --- Leds : " + e.getLeds() + "\n");
System.out.println("= --- Rumble : " + e.isRumbleActive()
+ "\n");
System.out.println("= --- Continous : "
+ e.isContinuousActive() + "\n");
System.out.println("= --- Smoothing : "
+ e.isSmoothingActive() + "\n");
System.out.println("= --- Speaker : "
+ e.isSpeakerEnabled() + "\n");
System.out.println("= --- Attachment : "
+ e.isThereAttachment() + "\n");
}
/* display ir points */
if (e.isIrActive()) {
Point2DInteger[] list = e.getIRPoints();
for (int i = 0; i < list.length; i++) {
if (list[i] != null)
System.out.print("Point :(" + list[i].getX() + ","
+ list[i].getY() + ") ");
}
System.out.println("");
}
/* display motion sensing */
if (e.isMotionSensingActive()) {
System.out.println("Motion Sensing :" + e.getOrientation()
+ " , " + e.getGforce());
}
/* leave test */
if (e.isButtonHomeJustPressed()) {
System.out.println("LEAVING TEST");
wiimote.disconnect();
}
} else {
System.out.println(" WIIMOTE ID : " + e.getWiimoteId()
+ " DISCONNECTED !!!!!");
wiimote.disconnect();
}
} else if (dump == DUMP) {
System.out.println(e);
/* Activate all */
if (e.isButtonAJustPressed()) {
System.out.println("IR Activated");
wiimote.activateIRTRacking();
wiimote.activateMotionSensing();
wiimote.activateRumble();
}
if (e.isButtonBJustPressed()) {
System.out.println("IR Deactivated");
wiimote.deactivateIRTRacking();
wiimote.deactivateMotionSensing();
wiimote.deactivateRumble();
}
/* leave test */
if (e.isButtonHomeJustPressed()) {
System.out.println("LEAVING TEST");
wiimote.disconnect();
}
} else if (dump == MOVE_MOUSE) {
/* Activate IR Tracking */
if (e.isButtonOneJustPressed()) {
System.out.println("IR Activated");
wiimote.activateIRTRacking();
}
if (e.isButtonTwoJustPressed()) {
System.out.println("IR Deactivated");
wiimote.deactivateIRTRacking();
}
/* button A */
if (e.isButtonAJustPressed()) {
robot.mousePress(InputEvent.BUTTON1_MASK);
}
if (e.isButtonAJustReleased()) {
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}
/* button B */
if (e.isButtonBJustPressed()) {
robot.mousePress(InputEvent.BUTTON2_MASK);
}
if (e.isButtonBJustReleased()) {
robot.mouseRelease(InputEvent.BUTTON2_MASK);
}
Point2DInteger[] list = e.getIRPoints();
if (e.isIrActive() && list[0] != null) {
int x1 = (int) list[0].getX();
int y1 = (int) list[0].getY();
int mousex = (int) Math.round(((double) x1 / 1024.0) * 1280.0);
int mousey = (int) Math.round(((double) y1 / 768.0) * 1024.0);
robot.mouseMove(mousex, mousey);
}
/* leave test */
if (e.isButtonHomeJustPressed()) {
System.out.println("LEAVING TEST");
wiimote.disconnect();
}
} else if (dump == ORIENT_THRESH_CONT) {
wiimote.activateMotionSensing();
if (e.isButtonOneJustPressed()) {
System.out.println("Continous activated");
wiimote.activateContinuous();
}
if (e.isButtonTwoJustPressed()) {
System.out.println("Continous deactivated");
wiimote.deactivateContinuous();
}
if (e.isButtonAJustPressed()) {
System.out.println("Smoothing activated");
wiimote.activateSmoothing();
}
if (e.isButtonBJustPressed()) {
System.out.println("Smoothing deactivated");
wiimote.deactivateSmoothing();
}
if (e.isButtonPlusJustPressed()) {
System.out.println("Threshold orientation 10 degrees");
wiimote.setOrientationThreshold(10);
}
if (e.isButtonMinusJustPressed()) {
System.out.println("Threshold orientation 0.5 degrees");
wiimote.setOrientationThreshold((float) 0.5);
}
System.out.println(e);
/* leave test */
if (e.isButtonHomeJustPressed()) {
System.out.println("LEAVING TEST");
wiimote.disconnect();
}
} else if (dump == TEST_LEDS) {
wiimote.activateMotionSensing();
if (e.isButtonUpJustPressed()) {
wiimote.setLeds(true, false, false, false);
}
if (e.isButtonDownJustPressed()) {
wiimote.setLeds(false, true, false, false);
}
if (e.isButtonLeftJustPressed()) {
wiimote.setLeds(false, false, true, false);
}
if (e.isButtonRightJustPressed()) {
wiimote.setLeds(false, false, false, true);
}
/* leave test */
if (e.isButtonHomeJustPressed()) {
System.out.println("LEAVING TEST");
wiimote.disconnect();
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
Wiimote[] wiimotes = WiiUseApiManager.getWiimotes();
if (wiimotes.length>0){
System.out.println(wiimotes[0]);
Tests tests = new Tests(wiimotes[0]);
}else{
System.out.println("No wiimotes found !!!");
}
// java.util.Timer timer = new java.util.Timer();
// timer.scheduleAtFixedRate(new LedsTask(), 0, 100);
}
}