Пример #1
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);
 }
Пример #2
0
        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;
        }
Пример #3
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;
 }
Пример #4
0
        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);
        }