コード例 #1
0
        protected override void OnProcessResponseData()
        {
            /*
             * <table-data> ::= <count><data><cksum>
             *      <count> ::= <word16>
             *      <data> ::= <byte>*
             *      <cksum> ::= <byte>
             **/
            // Extraer los datos puros de la tabla y comprobar su integridad.
            // verificar el tipo de paquete y determinar si es el primero
            if (!IsMultiplePacket || IsFirstPacket)
            {
                TableDataLength = BitConverter.ToInt16(new byte[] { responsePacket.DATA[2], responsePacket.DATA[1] }, 0);
                TableData.AddRange(responsePacket.DATA.GetRange(3, responsePacket.DATA.Count - 3));
            }
            else
            {
                TableData.AddRange(responsePacket.DATA);
            }

            if (!HasMorePackets)
            {
                // last packet
                //TODO: comprobar checksum de datos de la tabla.
                byte checkSum = responsePacket.DATA[responsePacket.DATA.Count - 1];
            }
        }