Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class RS232 : MonoBehaviour {
- private const int HEADER_LENGTH = 7;
- private const byte header = 0xA6;
- private byte[] BuildPacket (int monitorID, params byte[] data) {
- byte[] packet = new byte[HEADER_LENGTH + data.Length + 1];
- packet[0] = header; // header
- packet[1] = (byte)monitorID; // monitor ID
- packet[2] = 0; // category (fixed)
- packet[3] = 0; // code0 (fixed)
- packet[4] = 0; // code1
- packet[5] = (byte) (data.Length + 3); // length
- packet[6] = 1; // data control (fixed)
- // data
- for (int i = 0; i < data.Length; i++) {
- packet[HEADER_LENGTH + i] = data[i];
- }
- // checksum
- byte checkSum = 0;
- for (int i = 0; i < packet.Length - 1; i++) {
- checkSum ^= packet[i];
- }
- packet[packet.Length - 1] = checkSum;
- return packet;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement