Пример #1
0
        protected static void ParseCommandResult(byte[] resultData, out TagCommandResult commandResult)
        {
            var resultDataQueue = new Queue();

            foreach (var t in resultData)
            {
                resultDataQueue.Enqueue(t);
            }

            //Obtain command result
            var crTmp = new TagCommandResult
            {
                u8_is_ok    = (byte)resultDataQueue.Dequeue(),
                u8_result1  = (byte)resultDataQueue.Dequeue(),
                u16_result2 = new byte[2]
            };

            for (var i = 0; i < 2; i++)
            {
                crTmp.u16_result2[i] = (byte)resultDataQueue.Dequeue();
            }
            crTmp.u32_append_data_size = new byte[4];
            for (var i = 0; i < 4; i++)
            {
                crTmp.u32_append_data_size[i] = (byte)resultDataQueue.Dequeue();
            }

            commandResult = crTmp;
        }
Пример #2
0
        public static void SearchPointParse(byte[] resultData, out List <string> pointList)
        {
            TagCommandResult    commandResult    = null;
            TagShortCircuitInfo shortCircuitInfo = null;

            ParseCommandResult(resultData.Take(8).ToArray(), out commandResult);

            ParseShortCircuitInfo(resultData.Skip(8).ToArray(), out shortCircuitInfo);

            FormatPointCircuitInfo(shortCircuitInfo, out pointList);
        }
Пример #3
0
        public static void SelfCheckParse(byte[] resultData, out List <List <string> > shortCircuitInfoResult, out int pointNo, out int circuitNo)
        {
            TagCommandResult    commandResult    = null;
            TagShortCircuitInfo shortCircuitInfo = null;

            shortCircuitInfoResult = new List <List <string> >();

            ParseCommandResult(resultData.Take(8).ToArray(), out commandResult);

            ParseShortCircuitInfo(resultData.Skip(8).ToArray(), out shortCircuitInfo);

            circuitNo = U8ToU16(shortCircuitInfo.u16_short_circuit_group_count[1], shortCircuitInfo.u16_short_circuit_group_count[0]);
            pointNo   = U8ToU16(shortCircuitInfo.u16_short_lines_count[1], shortCircuitInfo.u16_short_lines_count[0]);

            FormatShortCircuitInfo(shortCircuitInfo, out shortCircuitInfoResult);
        }