package ch.epfl.data.squall.components.signal_components;
public class SignalUtilities {
public static int DISTRIBUTION_SIGNAL=0;
public static int HARMONIZER_SIGNAL=1;
public static byte[] createSignal(int signalNum, byte[] payload){
byte[] signal= toBytes(signalNum);
byte[] newArray = new byte[signal.length + payload.length];
System.arraycopy(signal, 0, newArray, 0, signal.length);
System.arraycopy(payload, 0, newArray, 4, payload.length);
return newArray;
}
public static int byteArrayToInt(byte[] b) {
int value = 0;
for (int i = 0; i < 4; i++) {
int shift = (4 - 1 - i) * 8;
value += (b[i] & 0x000000FF) << shift;
}
return value;
}
public static byte[] toBytes(int i) {
byte[] result = new byte[4];
result[0] = (byte) (i >> 24);
result[1] = (byte) (i >> 16);
result[2] = (byte) (i >> 8);
result[3] = (byte) (i /* >> 0 */);
return result;
}
}