Esempio n. 1
0
        /**Copy the datas to the queue of ascanStatus.*/
        private void copyToAscanPacket(AscanSetPacket ascanPacket, UniSetPacket setPacket)
        {
            //DEFINATION
            ItemHeader      head;
            UploadTagHeader tag;
            AscanVideo      ascan;
            int             uintOffset;
            int             floatOffset;

            //INIT
            head        = ascanPacket.head;
            tag         = ascanPacket.tag;
            ascan       = ascanPacket.ascan;
            uintOffset  = 0;
            floatOffset = 0;

            //PROCESSING
            //head
            head.port = setPacket.port;
            head.id   = setPacket.id;
            head.bin  = setPacket.bin;
            head.size = setPacket.size;

            //tag
            tag.stampMode = setPacket.stampMode;
            Array.Copy(setPacket.stampPos, tag.stampPos, 3);
            Array.Copy(setPacket.stampInc, tag.stampInc, 3);
            tag.cellNum = setPacket.cellNum;

            //ascan uint
            ascan.len            = setPacket.ud[uintOffset++];
            ascan.ifStart        = setPacket.ud[uintOffset++];
            ascan.tofUnit        = setPacket.ud[uintOffset++];
            ascan.ampUnit        = setPacket.ud[uintOffset++];
            ascan.echoMax        = setPacket.ud[uintOffset++];
            ascan.waveDetectMode = setPacket.ud[uintOffset++];
            ascan.envelopStart   = setPacket.ud[uintOffset++];
            Array.Copy(setPacket.ud, uintOffset, ascan.led, 0, 8);
            uintOffset += 8;

            //ascan double
            ascan.delay       = setPacket.fd[floatOffset++];
            ascan.width       = setPacket.fd[floatOffset++];
            ascan.gain        = setPacket.fd[floatOffset++];
            ascan.bea         = setPacket.fd[floatOffset++];
            ascan.decayFactor = setPacket.fd[floatOffset++];
            Array.Copy(setPacket.fd, floatOffset, ascan.ascanGateAmp, 0, 4);
            floatOffset += 4;
            Array.Copy(setPacket.fd, floatOffset, ascan.ascanGateTof, 0, 4);
            floatOffset += 4;
            Array.Copy(setPacket.fd, floatOffset, ascan.wave, 0, ascan.len);
            floatOffset += (int)ascan.len;
            Array.Copy(setPacket.fd, floatOffset, ascan.maxEnvelop, 0, ascan.len);
            floatOffset += (int)ascan.len;
            Array.Copy(setPacket.fd, floatOffset, ascan.minEnvelop, 0, ascan.len);
            floatOffset += (int)ascan.len;
        }
Esempio n. 2
0
 public AscanQueueElement()
 {
     isEnd       = false;
     ascanPacket = new AscanSetPacket();
 }