package art.servers.etdserver.protocols.diamond;
|
|
import java.text.DecimalFormat;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
|
|
public class Diamond_ProtocolConstructor
|
{
|
public static byte[] ACK()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
writer.write(0x06);
|
return(writer.createMessage());
|
}
|
|
public static byte[] NACK()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
writer.write(0x15);
|
return(writer.createMessage());
|
}
|
|
public static byte[] XMODEMEND()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
writer.write(0x03);
|
return(writer.createMessage());
|
}
|
|
public static byte[] RESETCOMMS()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
writer.write(0x01);
|
return(writer.createMessage());
|
}
|
|
public static byte[] CR()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
writer.write(0x0D);
|
return(writer.createMessage());
|
}
|
|
public static byte[] connectCounter()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write(0x05); // Ctrl+E
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] disconnectCounter()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write(0x03); // Ctrl+C
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] sendPasswordCounter(String password)
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('P');
|
for (int i=0; i<password.length(); i++)
|
writer.write(password.charAt(i));
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] startMonitorTrafficData()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('M');
|
writer.write('0');
|
writer.write('1');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] sendDatetimeCounter()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('S');
|
writer.write('F');
|
writer.write('3');
|
|
java.util.Date date = new java.util.Date();
|
|
int anyo = (date.getYear()+1900) - 2000;
|
int mes = date.getMonth()+1;
|
int dia = date.getDate();
|
int hora = date.getHours();
|
int min = date.getMinutes();
|
int seg = date.getSeconds();
|
int mseg = 0;
|
int diaSemana = date.getDay();
|
|
writer.writeString(String.format("%02X", hora));
|
writer.writeString(String.format("%02X", min));
|
writer.writeString(String.format("%02X", seg));
|
writer.writeString(String.format("%02X", mseg));
|
writer.writeString(String.format("%02X", mes));
|
writer.writeString(String.format("%02X", dia));
|
writer.writeString(String.format("%02X", anyo));
|
writer.writeString(String.format("%02X", diaSemana));
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] getSystemStatusCounter()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('I');
|
writer.write('F');
|
writer.write('F');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] getAxleBinTable()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('T');
|
writer.write('0');
|
writer.write('1');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] getSpeedBinTable()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('T');
|
writer.write('0');
|
writer.write('2');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] getLengthBinTable()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('T');
|
writer.write('0');
|
writer.write('3');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] getGapBinTable()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('T');
|
writer.write('0');
|
writer.write('4');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] getHeadwayBinTable()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('T');
|
writer.write('0');
|
writer.write('5');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] getFilesDirectory()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('F');
|
writer.write('0');
|
writer.write('0');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] startCollecting()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('C');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.write('0');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] stopCollecting()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('C');
|
writer.write('S');
|
writer.write('T');
|
writer.write('O');
|
writer.write('P');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] retrieveFileData(int number)
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('R');
|
writer.writeString(String.format("%02X", number));
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] retrieveFileOpenData()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('R');
|
writer.write('F');
|
writer.write('C');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] retrieveFileOpenData1K()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('H');
|
writer.write('F');
|
writer.write('C');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] retrieveFileData1K(int number)
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('H');
|
writer.writeString(String.format("%02X", number));
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] deleteAllFiles()
|
{
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
writer.write('D');
|
writer.write('0');
|
writer.write('0');
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
public static byte[] deleteFilesDate()
|
{
|
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd");
|
long timestamp = System.currentTimeMillis() - 10L*24L*60L*60000L;
|
|
Diamond_ProtocolWriter writer = new Diamond_ProtocolWriter();
|
|
String sdate = sdf.format(new Date(timestamp));
|
|
writer.write('D');
|
writer.write(sdate.charAt(0));
|
writer.write(sdate.charAt(1));
|
writer.write(sdate.charAt(2));
|
writer.write(sdate.charAt(3));
|
writer.write(sdate.charAt(4));
|
writer.writeCR();
|
|
return(writer.createMessage());
|
}
|
|
}
|