/**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; }
public AscanQueueElement() { isEnd = false; ascanPacket = new AscanSetPacket(); }