Example #1
0
        public JT809_0x9200_0x9203 Deserialize(ReadOnlySpan <byte> bytes, out int readSize)
        {
            int offset = 0;
            JT809_0x9200_0x9203 jT809_0X1200_0x9203 = new JT809_0x9200_0x9203();

            jT809_0X1200_0x9203.GNSSCount = JT809BinaryExtensions.ReadByteLittle(bytes, ref offset);
            jT809_0X1200_0x9203.GNSS      = new List <JT809_0x9200_0x9202>();
            if (jT809_0X1200_0x9203.GNSSCount > 0)
            {
                int bufReadSize;
                int tempOffset = 0;
                for (int i = 0; i < jT809_0X1200_0x9203.GNSSCount; i++)
                {
                    try
                    {
                        if (i == 0)
                        {
                            tempOffset = offset + 36;
                            JT809_0x9200_0x9202 jT809_0x1200_0x1202 = JT809FormatterExtensions.GetFormatter <JT809_0x9200_0x9202>()
                                                                      .Deserialize(bytes.Slice(offset, 36), out bufReadSize);
                            jT809_0X1200_0x9203.GNSS.Add(jT809_0x1200_0x1202);
                        }
                        else
                        {
                            JT809_0x9200_0x9202 jT809_0x1200_0x9202 = JT809FormatterExtensions.GetFormatter <JT809_0x9200_0x9202>()
                                                                      .Deserialize(bytes.Slice(tempOffset, 36), out bufReadSize);
                            tempOffset += 36;
                            jT809_0X1200_0x9203.GNSS.Add(jT809_0x1200_0x9202);
                        }
                    }
                    catch (Exception)
                    {
                        tempOffset += 36;
                    }
                }
            }
            readSize = jT809_0X1200_0x9203.GNSSCount * 36 + 1;
            return(jT809_0X1200_0x9203);
        }
Example #2
0
        public JT809_0x9200_0x9203 Deserialize(ref JT809MessagePackReader reader, IJT809Config config)
        {
            JT809_0x9200_0x9203 jT809_0X1200_0x9203 = new JT809_0x9200_0x9203();

            jT809_0X1200_0x9203.GNSSCount = reader.ReadByte();
            jT809_0X1200_0x9203.GNSS      = new List <JT809_0x9200_0x9202>();
            if (jT809_0X1200_0x9203.GNSSCount > 0)
            {
                for (int i = 0; i < jT809_0X1200_0x9203.GNSSCount; i++)
                {
                    try
                    {
                        JT809MessagePackReader jT809_0x9200_0x9202Reader = new JT809MessagePackReader(reader.ReadArray(36));
                        JT809_0x9200_0x9202    jT809_0x1200_0x1202       = JT809_0x9200_0x9202_Formatter.Instance.Deserialize(ref jT809_0x9200_0x9202Reader, config);
                        jT809_0X1200_0x9203.GNSS.Add(jT809_0x1200_0x1202);
                    }
                    catch (Exception)
                    {
                    }
                }
            }
            return(jT809_0X1200_0x9203);
        }