package com.roboclub.robobuggy.ui; import com.roboclub.robobuggy.messages.ImuMeasurement; import com.roboclub.robobuggy.ros.Message; import com.roboclub.robobuggy.ros.NodeChannel; /** * Imu panel - shows values from the IMU */ public class ImuPanel extends RobobuggyGUIContainer { /** * makes a new imupanel */ public ImuPanel() { this.addComponent(new RoboBuggyGraph("Yaw", NodeChannel.IMU.getMsgPath(), new RoboBuggyGraph.GetGraphValues() { @Override public double getY(Message m) { ImuMeasurement imuM = (ImuMeasurement) m; return imuM.getYaw(); } @Override public double getX(Message m) { ImuMeasurement imuM = (ImuMeasurement) m; return imuM.getTimestamp().getTime(); } }), 0.0, 0.0, .5, .5); this.addComponent(new RoboBuggyGraph("Pitch", NodeChannel.IMU.getMsgPath(), new RoboBuggyGraph.GetGraphValues() { @Override public double getY(Message m) { ImuMeasurement imuM = (ImuMeasurement) m; return imuM.getPitch(); } @Override public double getX(Message m) { ImuMeasurement imuM = (ImuMeasurement) m; return imuM.getTimestamp().getTime(); } }), 0.5, 0.0, .5, .5); this.addComponent(new RoboBuggyGraph("Roll", NodeChannel.IMU.getMsgPath(), new RoboBuggyGraph.GetGraphValues() { @Override public double getY(Message m) { ImuMeasurement imuM = (ImuMeasurement) m; return imuM.getRoll(); } @Override public double getX(Message m) { ImuMeasurement imuM = (ImuMeasurement) m; return imuM.getTimestamp().getTime(); } }), 0.0, 0.5, .5, .5); } }