/* Tuning Variable Retrieval Response */ public static int decodeTuningVarGetResponse(byte[] buffer, int offset, int length, TuningVar r) { if (length < FUSION_TUNING_CMD_MESSAGE_LENGTH) { return(0); } if ((buffer[0] == PACKET_START_CHAR) && (buffer[1] == BINARY_PACKET_INDICATOR_CHAR) && (buffer[2] == FUSION_TUNING_CMD_MESSAGE_LENGTH - 2) && (buffer[3] == MSGID_FUSION_TUNING_CMD)) { if (!verifyChecksum(buffer, offset, FUSION_TUNING_CMD_MESSAGE_CHECKSUM_INDEX)) { return(0); } // Data r.action = buffer[FUSION_TUNING_DATA_ACTION_VALUE_INDEX]; r.var_id = buffer[FUSION_TUNING_CMD_VAR_ID_VALUE_INDEX]; r.value = decodeProtocol1616Float(buffer, FUSION_TUNING_CMD_VAR_VALUE_INDEX); return(FUSION_TUNING_CMD_MESSAGE_LENGTH); } return(0); }
/* Tuning Variable Storage Request */ public static int encodeTuningVarSetRequest(byte[] buffer, TuningVar r) { // Header buffer[0] = PACKET_START_CHAR; buffer[1] = (byte)BINARY_PACKET_INDICATOR_CHAR; buffer[2] = FUSION_TUNING_CMD_MESSAGE_LENGTH - 2; buffer[3] = MSGID_FUSION_TUNING_CMD; // Data buffer[FUSION_TUNING_DATA_ACTION_VALUE_INDEX] = r.action; buffer[FUSION_TUNING_CMD_VAR_ID_VALUE_INDEX] = r.var_id; encodeProtocol1616Float(r.value, buffer, FUSION_TUNING_CMD_VAR_VALUE_INDEX); // Footer encodeTermination(buffer, FUSION_TUNING_CMD_MESSAGE_LENGTH, FUSION_TUNING_CMD_MESSAGE_LENGTH - 4); return(FUSION_TUNING_CMD_MESSAGE_LENGTH); }
/* Tuning Variable Retrieval Response */ public static int decodeTuningVarGetResponse(byte[] buffer, int offset, int length, TuningVar r) { if (length < FUSION_TUNING_CMD_MESSAGE_LENGTH) return 0; if ((buffer[0] == PACKET_START_CHAR) && (buffer[1] == BINARY_PACKET_INDICATOR_CHAR) && (buffer[2] == FUSION_TUNING_CMD_MESSAGE_LENGTH - 2) && (buffer[3] == MSGID_FUSION_TUNING_CMD)) { if (!verifyChecksum(buffer, offset, FUSION_TUNING_CMD_MESSAGE_CHECKSUM_INDEX)) return 0; // Data r.action = buffer[FUSION_TUNING_DATA_ACTION_VALUE_INDEX]; r.var_id = buffer[FUSION_TUNING_CMD_VAR_ID_VALUE_INDEX]; r.value = decodeProtocol1616Float(buffer, FUSION_TUNING_CMD_VAR_VALUE_INDEX); return FUSION_TUNING_CMD_MESSAGE_LENGTH; } return 0; }
/* Tuning Variable Storage Request */ public static int encodeTuningVarSetRequest(byte[] buffer, TuningVar r) { // Header buffer[0] = PACKET_START_CHAR; buffer[1] = (byte)BINARY_PACKET_INDICATOR_CHAR; buffer[2] = FUSION_TUNING_CMD_MESSAGE_LENGTH - 2; buffer[3] = MSGID_FUSION_TUNING_CMD; // Data buffer[FUSION_TUNING_DATA_ACTION_VALUE_INDEX] = r.action; buffer[FUSION_TUNING_CMD_VAR_ID_VALUE_INDEX] = r.var_id; encodeProtocol1616Float(r.value, buffer, FUSION_TUNING_CMD_VAR_VALUE_INDEX); // Footer encodeTermination(buffer, FUSION_TUNING_CMD_MESSAGE_LENGTH, FUSION_TUNING_CMD_MESSAGE_LENGTH - 4); return FUSION_TUNING_CMD_MESSAGE_LENGTH; }