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");
}
}
}