package se.nicklasgavelin.sphero.command;
public class SaveTemporaryMacroCommand extends CommandMessage
{
public static final byte MacroFlagNone = 0;
public static final byte MacroFlagMotorControl = 1;
public static final byte MacroFlagExclusiveDrive = 2;
public static final byte MacroFlagUseVersion3 = 4;
public static final byte MacroFlagInhibitIfConnected = 8;
public static final byte MacroFlagEndMarker = 16;
public static final byte MacroFlagStealth = 32;
public static final byte MacroFlagUnkillable = 64;
public static final byte MacroFlagExtendedFlags = -128;
private byte flags;
private byte[] macroData;
public SaveTemporaryMacroCommand( int flags, byte[] macro )
{
this( (byte) flags, macro );
}
public SaveTemporaryMacroCommand( byte flags, byte[] macro )
{
super( COMMAND_MESSAGE_TYPE.MACRO );
this.macroData = macro;
this.flags = flags;
}
@Override
protected byte[] getPacketData()
{
byte[] data = new byte[ this.macroData.length + 2 ];
data[0] = -1;
data[1] = this.flags;
for( int i = 0; i < this.macroData.length; i++ )
data[( i + 2 )] = this.macroData[i];
return data;
}
}