本文整理汇总了Java中com.thalmic.myo.Myo类的典型用法代码示例。如果您正苦于以下问题:Java Myo类的具体用法?Java Myo怎么用?Java Myo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Myo类属于com.thalmic.myo包,在下文中一共展示了Myo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onDemoPressed
import com.thalmic.myo.Myo; //导入依赖的package包/类
public void onDemoPressed(View v)
{
final Hub hub = Hub.getInstance();
Thread t1 = new Thread(new Runnable() {
public void run() {
if(hub.getConnectedDevices().isEmpty())
{
Log.e("Logue_SSJ", "device not found");
}
else
{
com.thalmic.myo.Myo myo = hub.getConnectedDevices().get(0);
startVibrate(myo, hub);
}
}
});
t1.start();
}
示例2: onOrientationData
import com.thalmic.myo.Myo; //导入依赖的package包/类
@Override
public void onOrientationData(Myo myo, long l, Quaternion quaternion)
{
orientationW = quaternion.w();
orientationX = quaternion.x();
orientationY = quaternion.y();
orientationZ = quaternion.z();
float roll = (float) Math.atan2(2.0 * (quaternion.w() * quaternion.x() + quaternion.y() * quaternion.z()), 1.0 - 2.0 * (quaternion.x() * quaternion.x() + quaternion.y() * quaternion.y()));
float pitch = (float) Math.asin(Math.max(-1.0, Math.min(1.0, 2.0 * (quaternion.w() * quaternion.y() - quaternion.z() * quaternion.x()))));
float yaw = (float) Math.atan2(2.0 * (quaternion.w() * quaternion.z() + quaternion.x() * quaternion.y()), 1.0 - 2.0 * (quaternion.y() * quaternion.y() + quaternion.z() * quaternion.z()));
// Convert the floating point angles in radians to a scale from 0 to 18.
rollW = (int) ((roll + (float) Math.PI) / (Math.PI * 2.0) * 18);
pitchW = (int) ((pitch + (float) Math.PI / 2.0) / Math.PI * 18);
yawW = (int) ((yaw + (float) Math.PI) / (Math.PI * 2.0) * 18);
}
示例3: onOrientationData
import com.thalmic.myo.Myo; //导入依赖的package包/类
@Override
public void onOrientationData(Myo myo, long timestamp, Quaternion rotation) {
// Calculate Euler angles (roll, pitch, and yaw) from the quaternion.
double roll = Math.toDegrees(Quaternion.roll(rotation));
double pitch = Math.toDegrees(Quaternion.pitch(rotation));
double yaw = Math.toDegrees(Quaternion.yaw(rotation));
// Adjust roll and pitch for the orientation of the Myo on the arm.
if (myo.getXDirection() == XDirection.TOWARD_ELBOW) {
roll *= -1;
pitch *= -1;
}
MyoOrientationDataFrame frame = new MyoOrientationDataFrame(MyoSensor.this, timestamp, roll, pitch, yaw);
sendNewData(frame);
}
示例4: main
import com.thalmic.myo.Myo; //导入依赖的package包/类
public static void main(String[] args) {
try {
Hub hub = new Hub("com.example.emg-data-sample");
System.out.println("Attempting to find a Myo...");
Myo myo = hub.waitForMyo(10000);
if (myo == null) {
throw new RuntimeException("Unable to find a Myo!");
}
System.out.println("Connected to a Myo armband!");
myo.setStreamEmg(StreamEmgType.STREAM_EMG_ENABLED);
DeviceListener dataCollector = new EmgDataCollector();
hub.addListener(dataCollector);
while (true) {
hub.run(1000 / 20);
System.out.println(dataCollector);
}
} catch (Exception e) {
System.err.println("Error: ");
e.printStackTrace();
System.exit(1);
}
}
示例5: main
import com.thalmic.myo.Myo; //导入依赖的package包/类
public static void main(String[] args) {
try {
Hub hub = new Hub("com.example.hello-myo");
System.out.println("Attempting to find a Myo...");
Myo myo = hub.waitForMyo(10000);
if (myo == null) {
throw new RuntimeException("Unable to find a Myo!");
}
System.out.println("Connected to a Myo armband!");
DeviceListener dataCollector = new DataCollector();
hub.addListener(dataCollector);
while (true) {
hub.run(1000 / 20);
System.out.print(dataCollector);
}
} catch (Exception e) {
System.err.println("Error: ");
e.printStackTrace();
System.exit(1);
}
}
示例6: processData
import com.thalmic.myo.Myo; //导入依赖的package包/类
@Override
public void processData(Myo myo, long timestamp, Vector3 vector, DataType type) {
super.processData(myo, timestamp, vector, type);
if(type.equals(DataType.GYROSCOPE)) {
if (timestamp - formTimeDiff > TIME_DIFF) {
//Log.i("BicepCurl", "Gyro x: "+vector.x());
//Log.i("BicepCurl", "Gyro y: "+vector.y());
//Log.i("BicepCurl","Gyro z: "+vector.z());
if(started) {
if (vector.x() > formThreshold) {
myo.vibrate(VibrationType.SHORT);
formTimeDiff = timestamp;
form = false;
}
}
}
}
}
示例7: onOrientationData
import com.thalmic.myo.Myo; //导入依赖的package包/类
@Override
public void onOrientationData(Myo myo, long timestamp, Quaternion rotation) {
Quaternion normalized = rotation.normalized();
double roll = Math.atan2(2.0f * (normalized.getW() * normalized.getX() + normalized.getY() * normalized.getZ()),
1.0f - 2.0f * (normalized.getX() * normalized.getX() + normalized.getY() * normalized.getY()));
double pitch = Math.asin(2.0f * (normalized.getW() * normalized.getY() - normalized.getZ() * normalized.getX()));
double yaw = Math.atan2(2.0f * (normalized.getW() * normalized.getZ() + normalized.getX() * normalized.getY()),
1.0f - 2.0f * (normalized.getY() * normalized.getY() + normalized.getZ() * normalized.getZ()));
rollW = Math.round((roll + Math.PI) / (Math.PI * 2.0) * scale);
pitchW = Math.round((pitch + Math.PI / 2.0) / Math.PI * scale);
yawW = Math.round((yaw + Math.PI) / (Math.PI * 2.0) * scale);
delta = (myodata.roll - rollW != 0) || (myodata.pitch - pitchW != 0) || (myodata.yaw - yawW != 0);
if (delta) {
myodata.roll = rollW;
myodata.pitch = pitchW;
myodata.yaw = yawW;
myodata.timestamp = timestamp;
invoke("publishMyoData", myodata);
}
}
示例8: onDisconnect
import com.thalmic.myo.Myo; //导入依赖的package包/类
@Override
public void onDisconnect(Myo myo, long l)
{
Log.i("Disconnected from Myo");
reset();
}
示例9: onAccelerometerData
import com.thalmic.myo.Myo; //导入依赖的package包/类
@Override
public void onAccelerometerData(Myo myo, long l, Vector3 vector3)
{
accelerationX = (float) vector3.x();
accelerationY = (float) vector3.y();
accelerationZ = (float) vector3.z();
}
示例10: vibrate
import com.thalmic.myo.Myo; //导入依赖的package包/类
public void vibrate(Myo myo,
int duration1, byte strength1,
int duration2, byte strength2,
int duration3, byte strength3,
int duration4, byte strength4,
int duration5, byte strength5,
int duration6, byte strength6) {
byte[] vibrate2Command = createForVibrate2(duration1, strength1, duration2, strength2, duration3, strength3, duration4, strength4, duration5, strength5, duration6, strength6);
this.writeControlCommand(myo.getMacAddress(), vibrate2Command);
}
示例11: testChannels
import com.thalmic.myo.Myo; //导入依赖的package包/类
@Test
public void testChannels() throws Exception
{
//setup
Pipeline frame = Pipeline.getInstance();
frame.options.bufferSize.set(10.0f);
//sensor
hcm.ssj.myo.Myo sensor = new hcm.ssj.myo.Myo();
frame.addConsumer(new Logger(), frame.addSensor(sensor, new AccelerationChannel()), 1, 0);
frame.addConsumer(new Logger(), frame.addSensor(sensor, new DynAccelerationChannel()), 1, 0);
frame.addConsumer(new Logger(), frame.addSensor(sensor, new EMGChannel()), 1, 0);
//start framework
frame.start();
//run test
long end = System.currentTimeMillis() + TestHelper.DUR_TEST_NORMAL;
try
{
while (System.currentTimeMillis() < end)
{
Thread.sleep(1);
}
}
catch (Exception e)
{
e.printStackTrace();
}
frame.stop();
frame.clear();
}
示例12: onConnect
import com.thalmic.myo.Myo; //导入依赖的package包/类
@Override
public void onConnect(Myo myo, long timestamp) {
// Set the text color of the text view to cyan when a Myo connects.
//mTextView.setTextColor(Color.CYAN);
MyoSensor.this.mDeviceAddress = myo.getMacAddress();
sendNotification("Connected to " + myo.getMacAddress());
sendConnected();
}
示例13: onDisconnect
import com.thalmic.myo.Myo; //导入依赖的package包/类
@Override
public void onDisconnect(Myo myo, long timestamp) {
// Set the text color of the text view to red when a Myo disconnects.
//mTextView.setTextColor(Color.RED);
MyoSensor.this.mDeviceAddress = null;
sendNotification("Disconnected from " + myo.getMacAddress());
// TODO: Check that!
// we unregistered the listener in MyoSensor.disconnect(),
// so we should only receive a callback if there was any failure, not
// if the user terminated the connection
sendConnectionLost();
}
示例14: onOrientationData
import com.thalmic.myo.Myo; //导入依赖的package包/类
@Override
public void onOrientationData(Myo myo, long timestamp, Quaternion rotation) {
Quaternion normalized = rotation.normalized();
double roll = Math.atan2(2.0f * (normalized.getW() * normalized.getX() + normalized.getY() * normalized.getZ()),
1.0f - 2.0f * (normalized.getX() * normalized.getX() + normalized.getY() * normalized.getY()));
double pitch = Math.asin(2.0f * (normalized.getW() * normalized.getY() - normalized.getZ() * normalized.getX()));
double yaw = Math.atan2(2.0f * (normalized.getW() * normalized.getZ() + normalized.getX() * normalized.getY()),
1.0f - 2.0f * (normalized.getY() * normalized.getY() + normalized.getZ() * normalized.getZ()));
rollW = ((roll + Math.PI) / (Math.PI * 2.0) * SCALE);
pitchW = ((pitch + Math.PI / 2.0) / Math.PI * SCALE);
yawW = ((yaw + Math.PI) / (Math.PI * 2.0) * SCALE);
}
示例15: onPose
import com.thalmic.myo.Myo; //导入依赖的package包/类
@Override
public void onPose(Myo myo, long timestamp, Pose pose) {
currentPose = pose;
if (currentPose.getType() == PoseType.FIST) {
myo.vibrate(VibrationType.VIBRATION_MEDIUM);
}
invoke("publishPose", pose);
}