package com.roboclub.robobuggy.nodes.sensors;
import com.roboclub.robobuggy.serial.RBSerialMessage;
/**
* Class used to represent RBSM brake messages
*/
public class RBSMBrakeMessage {
private static final byte HEADER = RBSerialMessage.getHeaderByte("RBSM_MID_MEGA_AUTON_BRAKE_COMMAND");
private static final byte FOOTER = RBSerialMessage.getHeaderByte("FOOTER");
private boolean brakesEngaged;
/**
* Create a new {@link RBSMBrakeMessage} object to send to the Arduino
*
* @param brakesEngaged desired brake state
*/
public RBSMBrakeMessage(boolean brakesEngaged) {
this.brakesEngaged = brakesEngaged;
}
/**
* Returns a byte array of the {@link RBSMBrakeMessage} to send to the Arduino
*
* @return a byte array of the {@link RBSMBrakeMessage} to send to the Arduino
*/
public byte[] getMessageBytes() {
byte[] bytes = new byte[6];
bytes[0] = HEADER;
bytes[1] = (byte) 0x00;
bytes[2] = (byte) 0x00;
bytes[3] = (byte) 0x00;
if (brakesEngaged)
bytes[4] = (byte) 0x01;
else
bytes[4] = (byte) 0x00;
bytes[5] = FOOTER;
return bytes;
}
}