public static int encodeIntegrationControlCmd(byte[] buffer, IntegrationControl u) { // Header buffer[0] = PACKET_START_CHAR; buffer[1] = (byte)BINARY_PACKET_INDICATOR_CHAR; buffer[2] = INTEGRATION_CONTROL_CMD_MESSAGE_LENGTH - 2; buffer[3] = MSGID_INTEGRATION_CONTROL_CMD; // Data buffer[INTEGRATION_CONTROL_CMD_ACTION_INDEX] = u.action; encodeBinaryUint32(u.parameter, buffer, INTEGRATION_CONTROL_CMD_PARAMETER_INDEX); // Footer encodeTermination(buffer, INTEGRATION_CONTROL_CMD_MESSAGE_LENGTH, INTEGRATION_CONTROL_CMD_MESSAGE_LENGTH - 4); return(INTEGRATION_CONTROL_CMD_MESSAGE_LENGTH); }
public static int decodeIntegrationControlResponse(byte[] buffer, int offset, int length, IntegrationControl u) { if (length < INTEGRATION_CONTROL_RESP_MESSAGE_LENGTH) return 0; if ((buffer[0] == PACKET_START_CHAR) && (buffer[1] == BINARY_PACKET_INDICATOR_CHAR) && (buffer[2] == INTEGRATION_CONTROL_RESP_MESSAGE_LENGTH - 2) && (buffer[3] == MSGID_INTEGRATION_CONTROL_RESP)) { if (!verifyChecksum(buffer, offset, INTEGRATION_CONTROL_RESP_MESSAGE_CHECKSUM_INDEX)) return 0; // Data u.action = buffer[INTEGRATION_CONTROL_RESP_ACTION_INDEX]; u.parameter = decodeBinaryUint32(buffer, INTEGRATION_CONTROL_RESP_PARAMETER_INDEX); return INTEGRATION_CONTROL_RESP_MESSAGE_LENGTH; } return 0; }
public static int encodeIntegrationControlCmd(byte[] buffer, IntegrationControl u) { // Header buffer[0] = PACKET_START_CHAR; buffer[1] = (byte)BINARY_PACKET_INDICATOR_CHAR; buffer[2] = INTEGRATION_CONTROL_CMD_MESSAGE_LENGTH - 2; buffer[3] = MSGID_INTEGRATION_CONTROL_CMD; // Data buffer[INTEGRATION_CONTROL_CMD_ACTION_INDEX] = u.action; encodeBinaryUint32(u.parameter, buffer, INTEGRATION_CONTROL_CMD_PARAMETER_INDEX); // Footer encodeTermination(buffer, INTEGRATION_CONTROL_CMD_MESSAGE_LENGTH, INTEGRATION_CONTROL_CMD_MESSAGE_LENGTH - 4); return INTEGRATION_CONTROL_CMD_MESSAGE_LENGTH; }
public static int decodeIntegrationControlResponse(byte[] buffer, int offset, int length, IntegrationControl u) { if (length < INTEGRATION_CONTROL_RESP_MESSAGE_LENGTH) { return(0); } if ((buffer[0] == PACKET_START_CHAR) && (buffer[1] == BINARY_PACKET_INDICATOR_CHAR) && (buffer[2] == INTEGRATION_CONTROL_RESP_MESSAGE_LENGTH - 2) && (buffer[3] == MSGID_INTEGRATION_CONTROL_RESP)) { if (!verifyChecksum(buffer, offset, INTEGRATION_CONTROL_RESP_MESSAGE_CHECKSUM_INDEX)) { return(0); } // Data u.action = buffer[INTEGRATION_CONTROL_RESP_ACTION_INDEX]; u.parameter = decodeBinaryUint32(buffer, INTEGRATION_CONTROL_RESP_PARAMETER_INDEX); return(INTEGRATION_CONTROL_RESP_MESSAGE_LENGTH); } return(0); }