package at.tugraz.ist.droned.dcf.command; import at.tugraz.ist.droned.dcf.command.Command; public class MoveCommand extends Command { public MoveCommand() { name = "move"; setRepetitionType(Command.REPETITION_UNLIMITED); unique = true; setAxisMove(0,0,0,0); } public MoveCommand(float roll, float pitch, float altitude, float yaw) { name = "move"; setRepetitionType(Command.REPETITION_UNLIMITED); unique = true; setAxisMove(roll, pitch, altitude, yaw); } public void setAxisMove(float roll, float pitch, float altitude, float yaw) { int move = 0; if((roll >= -1) && (roll <= 1) && (pitch >= -1) && (pitch <= 1) && (altitude >= -1) && (altitude <= 1) && (yaw >= -1) && (yaw <= 1)) { if (roll == 0 && pitch == 0 && altitude == 0 && yaw == 0) { move = 0; } else { move = 1; } drone_command = "AT*PCMD=#SEQ#," + (move ) + "," + Float.floatToIntBits(roll) + "," + Float.floatToIntBits(pitch) + "," + Float.floatToIntBits(altitude) + "," + Float.floatToIntBits(yaw); } else { //Log.e(DroneConsts.DroneLogTag, "ThreadCmd -> setAxisMove() got parameters out of bounds"); } } }