Example #1
0
        public byte[] AvoidPolluteTable(byte c)
        {
            List <byte> lbytes = new List <byte>();

            lbytes.Add(0x02);
            lbytes.Add(c);

            List <ReagentNeedleAntifoulingStrategyInfo> CLItems = GetR1CrossContamination();

            switch (c)
            {
            case 0x21: CLItems = GetR1CrossContamination(); break;

            case 0x22: CLItems = GetR2CrossContamination(); break;
            }
            foreach (ReagentNeedleAntifoulingStrategyInfo e in CLItems)
            {
                int   px = myBatis.QueryRunSequenceByProject(e.PolluteProName, e.PolluteProType);
                int[] p  = MachineControlProtocol.DecConverToHex(px);
                lbytes.Add((byte)p[0]);
                lbytes.Add((byte)p[1]);

                int   nx = myBatis.QueryRunSequenceByProject(e.BePollutedProName, e.BePollutedProType);
                int[] n  = MachineControlProtocol.DecConverToHex(nx);
                lbytes.Add((byte)n[0]);
                lbytes.Add((byte)n[1]);
            }
            if (lbytes.Count < 82)
            {
                for (int i = 0; i < 82 - lbytes.Count; i++)
                {
                    lbytes.Add(0x30);
                }
            }
            lbytes.Add(0x03);
            lbytes.Add(0x00);
            lbytes.Add(0x00);

            byte[] ds = new byte[lbytes.Count];//85
            for (int i = 0; i < lbytes.Count; i++)
            {
                ds[i] = lbytes[i];
            }
            byte[] checksum = MachineControlProtocol.CheckSum(ds);
            ds[lbytes.Count - 2] = checksum[0];
            ds[lbytes.Count - 1] = checksum[1];

            return(ds);
        }
Example #2
0
        byte[] TaskEncode(TASK t, int wn)
        {
            List <byte> Listbyte = new List <byte>();

            if (t.V == 0)
            {
                Listbyte.Add(0x02);
                Listbyte.Add(0x07);
                Listbyte.Add(0x30);
                Listbyte.Add(0x30);
                Listbyte.Add(0x31);
                int[] bytes = MachineControlProtocol.HDecConverToHex(wn);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);

                Listbyte.Add((byte)('0' + MachineInfo.GetWaveLengthIndex(t.PW)));
                Listbyte.Add((byte)('0' + MachineInfo.GetWaveLengthIndex(t.SW)));

                //急诊和常规都在样本位取样,急诊意思就是队列优先
                if (t.PT == 1)
                {
                    t.PT = 0;
                }
                Listbyte.Add((byte)('0' + t.PT));
                Listbyte.Add(0x31);
                bytes = MachineControlProtocol.DecConverToHex(int.Parse(t.SMPPOS.TrimStart('B', 'S', 'C', 'E')));
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);

                bytes = MachineControlProtocol.HDecConverToHex(t.PV);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);

                Listbyte.Add((byte)('0' + t.CT));

                bytes = MachineControlProtocol.DecConverToHex(t.R1POS);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);

                bytes = MachineControlProtocol.HDecConverToHex(t.R1VOL);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);

                bytes = MachineControlProtocol.DecConverToHex(t.R2POS);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);

                bytes = MachineControlProtocol.HDecConverToHex(t.R2VOL);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);

                Listbyte.Add(0x03);
            }
            else
            {
                Listbyte.Add(0x02);
                Listbyte.Add(0x07);
                Listbyte.Add(0x30);
                Listbyte.Add(0x30);
                Listbyte.Add(0x32);

                int[] bytes = MachineControlProtocol.HDecConverToHex(wn);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);

                Listbyte.Add((byte)('0' + MachineInfo.GetWaveLengthIndex(t.PW)));
                Listbyte.Add((byte)('0' + MachineInfo.GetWaveLengthIndex(t.SW)));

                //急诊和常规都在样本位取样,急诊意思就是队列优先
                if (t.PT == 1)
                {
                    t.PT = 0;
                }
                Listbyte.Add((byte)('0' + t.PT));
                Listbyte.Add(0x31);
                bytes = MachineControlProtocol.DecConverToHex(int.Parse(t.SMPPOS.TrimStart('B', 'S', 'C', 'E')));
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);

                bytes = MachineControlProtocol.HDecConverToHex(t.PV);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);

                Listbyte.Add((byte)('0' + t.CT));

                bytes = MachineControlProtocol.DecConverToHex(t.DPOS);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);

                bytes = MachineControlProtocol.HDecConverToHex(t.DV);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);
                bytes = MachineControlProtocol.DecConverToHex(t.R2POS);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                bytes = MachineControlProtocol.HDecConverToHex(t.R2VOL);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);
                //---------------------------------------------------------------
                bytes = MachineControlProtocol.HDecConverToHex(wn);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);

                Listbyte.Add((byte)('0' + MachineInfo.GetWaveLengthIndex(t.PW)));
                Listbyte.Add((byte)('0' + MachineInfo.GetWaveLengthIndex(t.SW)));

                Listbyte.Add(0x0A);
                Listbyte.Add(0x31);
                bytes = MachineControlProtocol.DecConverToHex(int.Parse(t.SMPPOS.TrimStart('B', 'S', 'C', 'E')));
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                bytes = MachineControlProtocol.HDecConverToHex(t.V);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);
                Listbyte.Add(0x01);
                bytes = MachineControlProtocol.DecConverToHex(t.R1POS);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                bytes = MachineControlProtocol.HDecConverToHex(t.R1VOL);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);
                bytes = MachineControlProtocol.DecConverToHex(t.R2POS);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                bytes = MachineControlProtocol.HDecConverToHex(t.R2VOL);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);
                Listbyte.Add(0x03);
            }
            long sum = 0;

            byte[] Tbytes = new byte[Listbyte.Count + 2];
            for (int i = 0; i < Listbyte.Count; i++)
            {
                Tbytes[i] = Listbyte.ElementAt(i);
                sum      += (int)Listbyte.ElementAt(i);
            }
            byte[] Tchecksum = MachineControlProtocol.CheckSum(sum);

            Tbytes[Tbytes.Length - 2] = Tchecksum[0];
            Tbytes[Tbytes.Length - 1] = Tchecksum[1];

            return(Tbytes);
        }
Example #3
0
        public byte[] Encode(object o)
        {
            List <byte> data = new List <byte>();

            data.Add(0x02);
            data.Add(0x09);
            data.Add(0x32);

            try
            {
                string   str       = o as string;
                string[] filedstrs = str.Split('|');
                foreach (char e in filedstrs[0])
                {
                    data.Add((byte)e);
                }
                data.Add((byte)filedstrs[1][0]);

                int   n1     = int.Parse(filedstrs[2]);
                int[] nbytes = MachineControlProtocol.DecConverToHex(n1);
                data.Add((byte)nbytes[0]);
                data.Add((byte)nbytes[1]);

                int n2 = int.Parse(filedstrs[3]);
                nbytes = MachineControlProtocol.DecConverToHex(n2);
                data.Add((byte)nbytes[0]);
                data.Add((byte)nbytes[1]);

                data.Add((byte)filedstrs[4][0]);

                for (int i = 15; i <= 32; i++)
                {
                    data.Add(0x30);
                }
            }
            catch
            {
                data.Clear();
                for (int i = 1; i <= 32; i++)
                {
                    data.Add(0x30);
                }
            }

            data.Add(0x03);
            data.Add(0x00);
            data.Add(0x00);

            byte[] bytes = new byte[data.Count];
            for (int j = 0; j < data.Count; j++)
            {
                bytes[j] = data[j];
            }

            byte[] checksum = MachineControlProtocol.CheckSum(bytes);

            bytes[bytes.Count() - 2] = checksum[0];
            bytes[bytes.Count() - 1] = checksum[1];

            return(bytes);
        }
Example #4
0
        public byte[] Encode(object o)
        {
            List <byte> data = new List <byte>();

            data.Add(0x02);
            data.Add(0x45);

            string para = o as string;
            string d    = "";
            string p    = "";

            for (int i = 0; i < para.Length; i++)
            {
                if (para[i] != ':')
                {
                    d += para[i];
                }
                else
                {
                    p = para.Substring(i + 1, para.Length - (i + 1));
                    break;
                }
            }

            switch (int.Parse(d))
            {
            case 1:
                data.Add(0x30);
                break;

            case 2:
                data.Add(0x31);
                break;
            }

            string[] poses = p.Split('|');
            foreach (string i in poses)
            {
                try
                {
                    int[] dp = MachineControlProtocol.DecConverToHex(int.Parse(i));
                    data.Add((byte)dp[0]);
                    data.Add((byte)dp[1]);
                }
                catch
                {
                    continue;
                }
            }
            data.Add(0x03);
            data.Add(0x00);
            data.Add(0x00);

            byte[] bytes = new byte[data.Count];
            for (int j = 0; j < data.Count; j++)
            {
                bytes[j] = data[j];
            }

            byte[] checksum = MachineControlProtocol.CheckSum(bytes);

            bytes[bytes.Count() - 2] = checksum[0];
            bytes[bytes.Count() - 1] = checksum[1];

            return(bytes);
        }
Example #5
0
        byte[] TaskEncode(TASK t, int wn)
        {
            List <byte> Listbyte = new List <byte>();

            if (t.V == 0)
            {
                Listbyte.Add(0x02);
                Listbyte.Add(0x07);
                //普通测试包
                //if (t.ASSAYTYPE == "ISE")
                //{
                //    if (t.SMPTYPE == "U")
                //    {
                //        Listbyte.Add(0x31);
                //        Listbyte.Add(0x32);
                //        Listbyte.Add(0x31);
                //    }
                //    else
                //    {
                //        Listbyte.Add(0x31);
                //        Listbyte.Add(0x31);
                //        Listbyte.Add(0x31);
                //    }
                //}
                //else
                //{
                Listbyte.Add(0x30);
                Listbyte.Add(0x30);
                Listbyte.Add(0x31);
                //}


                int[] bytes = MachineControlProtocol.HDecConverToHex(wn);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);

                Listbyte.Add((byte)('0' + GetWaveLengthIndex(t.PW)));
                Listbyte.Add((byte)('0' + GetWaveLengthIndex(t.SW)));

                bytes = MachineControlProtocol.DecConverToHex(t.PPNO);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                //急诊和常规都在样本位取样,急诊意思就是队列优先
                if (t.PT == 1)
                {
                    t.PT = 0;
                }
                Listbyte.Add((byte)('0' + t.PT));

                Listbyte.Add(0x31);

                bytes = MachineControlProtocol.DecConverToHex(int.Parse(t.SMPPOS.TrimStart('B', 'S', 'C', 'E')));
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);

                bytes = MachineControlProtocol.HDecConverToHex(t.PV);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);

                Listbyte.Add((byte)('0' + t.CT));

                //int rgttype = new RunService().GetRgtPanelType();
                //if (rgttype == 2)
                //{
                //    t.R1POS += 45;
                //}
                bytes = MachineControlProtocol.DecConverToHex(t.R1POS);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);

                bytes = MachineControlProtocol.HDecConverToHex(t.R1VOL);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);
                Listbyte.Add((byte)('0' + t.SF1));

                bytes = MachineControlProtocol.DecConverToHex(t.R2POS);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);

                if (t.R2POS == 0)
                {
                    bytes = MachineControlProtocol.HDecConverToHex(0);
                    Listbyte.Add((byte)bytes[0]);
                    Listbyte.Add((byte)bytes[1]);
                    Listbyte.Add((byte)bytes[2]);
                    Listbyte.Add((byte)('0' + 0));
                }
                else
                {
                    bytes = MachineControlProtocol.HDecConverToHex(t.R2VOL);
                    Listbyte.Add((byte)bytes[0]);
                    Listbyte.Add((byte)bytes[1]);
                    Listbyte.Add((byte)bytes[2]);
                    Listbyte.Add((byte)('0' + t.SF2));
                }
                Listbyte.Add(0x03);
            }
            else
            {
                Listbyte.Add(0x02);
                Listbyte.Add(0x07);
                //稀释测试包
                Listbyte.Add(0x30);
                Listbyte.Add(0x30);
                Listbyte.Add(0x32);

                int[] bytes = MachineControlProtocol.HDecConverToHex(wn);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);

                Listbyte.Add((byte)('0' + GetWaveLengthIndex(t.PW)));
                Listbyte.Add((byte)('0' + GetWaveLengthIndex(t.SW)));

                bytes = MachineControlProtocol.DecConverToHex(t.PPNO);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                //急诊和常规都在样本位取样,急诊意思就是队列优先
                if (t.PT == 1)
                {
                    t.PT = 0;
                }
                Listbyte.Add((byte)('0' + t.PT));
                Listbyte.Add(0x31);
                bytes = MachineControlProtocol.DecConverToHex(int.Parse(t.SMPPOS.TrimStart('B', 'S', 'C', 'E')));
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);

                bytes = MachineControlProtocol.HDecConverToHex(t.PV);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);

                Listbyte.Add((byte)('0' + t.CT));

                bytes = MachineControlProtocol.DecConverToHex(t.DPOS);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);

                bytes = MachineControlProtocol.HDecConverToHex(t.DV);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);
                Listbyte.Add((byte)('0' + t.SF1));
                bytes = MachineControlProtocol.DecConverToHex(0);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                bytes = MachineControlProtocol.HDecConverToHex(0);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);
                Listbyte.Add((byte)('0' + t.SF2));
                //---------------------------------------------------------------
                bytes = MachineControlProtocol.HDecConverToHex(wn);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);

                Listbyte.Add((byte)('0' + GetWaveLengthIndex(t.PW)));
                Listbyte.Add((byte)('0' + GetWaveLengthIndex(t.SW)));

                bytes = MachineControlProtocol.DecConverToHex(t.PPNO);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);

                Listbyte.Add(0x3A);
                Listbyte.Add(0x31);
                bytes = MachineControlProtocol.DecConverToHex(int.Parse(t.SMPPOS.TrimStart('B', 'S', 'C', 'E')));
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                bytes = MachineControlProtocol.HDecConverToHex(t.V);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);
                Listbyte.Add(0x31);

                //int rgttype = new RunService().GetRgtPanelType();
                //if (rgttype == 2)
                //{
                //    t.R1POS += 45;
                //}
                bytes = MachineControlProtocol.DecConverToHex(t.R1POS);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                bytes = MachineControlProtocol.HDecConverToHex(t.R1VOL);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);
                Listbyte.Add((byte)('0' + t.SF1));
                bytes = MachineControlProtocol.DecConverToHex(t.R2POS);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                bytes = MachineControlProtocol.HDecConverToHex(t.R2VOL);
                Listbyte.Add((byte)bytes[0]);
                Listbyte.Add((byte)bytes[1]);
                Listbyte.Add((byte)bytes[2]);
                Listbyte.Add((byte)('0' + t.SF2));
                Listbyte.Add(0x03);
            }
            long sum = 0;

            byte[] Tbytes = new byte[Listbyte.Count + 2];
            for (int i = 0; i < Listbyte.Count; i++)
            {
                Tbytes[i] = Listbyte.ElementAt(i);
                sum      += (int)Listbyte.ElementAt(i);
            }
            byte[] Tchecksum = MachineControlProtocol.CheckSum(sum);

            Tbytes[Tbytes.Length - 2] = Tchecksum[0];
            Tbytes[Tbytes.Length - 1] = Tchecksum[1];

            return(Tbytes);
        }
Example #6
0
        public byte[] Encode(object o)
        {
            string str = o as string;

            WashSettingData d = (WashSettingData)XmlUtilit.Deserialize(typeof(WashSettingData), str);

            if (d == null)
            {
                return(null);
            }

            List <byte> Listbyte = new List <byte>();

            Listbyte.Add(0x02);
            Listbyte.Add(0x90);

            Listbyte.Add((byte)('0' + d.ACount));
            Listbyte.Add((byte)('0' + d.BCount));

            Listbyte.Add((byte)('0' + 0));                                       //CC
            int[] bytes = MachineControlProtocol.DecConverToHex(d.ASMPPosition); //DD EE
            Listbyte.Add((byte)bytes[0]);
            Listbyte.Add((byte)bytes[1]);
            bytes = MachineControlProtocol.HDecConverToHex((int)d.ASMPVolume * 10);//FF GG II
            Listbyte.Add((byte)bytes[0]);
            Listbyte.Add((byte)bytes[1]);
            Listbyte.Add((byte)bytes[2]);
            int ct = (new SMPContainerTypeService().Get(d.SampleContainerType) as SMPContainerType).Code;//JJ

            Listbyte.Add((byte)('0' + ct));
            bytes = MachineControlProtocol.DecConverToHex(d.ARGTPosition1);//KK LL
            Listbyte.Add((byte)bytes[0]);
            Listbyte.Add((byte)bytes[1]);
            bytes = MachineControlProtocol.HDecConverToHex(d.ARGTVolume1);//MM NN OO
            Listbyte.Add((byte)bytes[0]);
            Listbyte.Add((byte)bytes[1]);
            Listbyte.Add((byte)bytes[2]);
            bytes = MachineControlProtocol.DecConverToHex(d.ARGTPosition2);//PP QQ
            Listbyte.Add((byte)bytes[0]);
            Listbyte.Add((byte)bytes[1]);
            bytes = MachineControlProtocol.HDecConverToHex(d.ARGTVolume2);//RR SS TT UU
            Listbyte.Add((byte)bytes[0]);
            Listbyte.Add((byte)bytes[1]);
            Listbyte.Add((byte)bytes[2]);

            Listbyte.Add((byte)('0' + 0));                                 //CC
            bytes = MachineControlProtocol.DecConverToHex(d.BSMPPosition); //DD EE
            Listbyte.Add((byte)bytes[0]);
            Listbyte.Add((byte)bytes[1]);
            bytes = MachineControlProtocol.HDecConverToHex((int)d.BSMPVolume * 10);//FF GG II
            Listbyte.Add((byte)bytes[0]);
            Listbyte.Add((byte)bytes[1]);
            Listbyte.Add((byte)bytes[2]);
            ct = (new SMPContainerTypeService().Get(d.SampleContainerType) as SMPContainerType).Code; //JJ
            Listbyte.Add((byte)('0' + ct));
            bytes = MachineControlProtocol.DecConverToHex(d.BRGTPosition1);                           //KK LL
            Listbyte.Add((byte)bytes[0]);
            Listbyte.Add((byte)bytes[1]);
            bytes = MachineControlProtocol.HDecConverToHex(d.BRGTVolume1);//MM NN OO
            Listbyte.Add((byte)bytes[0]);
            Listbyte.Add((byte)bytes[1]);
            Listbyte.Add((byte)bytes[2]);
            bytes = MachineControlProtocol.DecConverToHex(d.BRGTPosition2);//PP QQ
            Listbyte.Add((byte)bytes[0]);
            Listbyte.Add((byte)bytes[1]);
            bytes = MachineControlProtocol.HDecConverToHex(d.BRGTVolume2);//RR SS TT UU
            Listbyte.Add((byte)bytes[0]);
            Listbyte.Add((byte)bytes[1]);
            Listbyte.Add((byte)bytes[2]);

            Listbyte.Add(0x03);

            long sum = 0;

            byte[] Tbytes = new byte[Listbyte.Count + 2];
            for (int i = 0; i < Listbyte.Count; i++)
            {
                Tbytes[i] = Listbyte.ElementAt(i);
                sum      += (int)Listbyte.ElementAt(i);
            }
            byte[] Tchecksum = MachineControlProtocol.CheckSum(sum);

            Tbytes[Tbytes.Length - 2] = Tchecksum[0];
            Tbytes[Tbytes.Length - 1] = Tchecksum[1];

            return(Tbytes);
        }