Example #1
0
        public int setLeadMeasurements(LeadMeasurements mes)
        {
            if (mes != null)
            {
                int nrLeads = mes.Measurements.Length;

                _NrLeads = (ushort)nrLeads;

                for (int i = 0; i < nrLeads; i++)
                {
                    int nrValues = mes.Measurements[i].Count;

                    nrValues = (nrLeads > 0) ? ((int)mes.Measurements[i].getKeyByIndex(nrValues - 1)) + 1 : 0;

                    _LeadMeasurements[i]        = new SCPLeadMeasurements();
                    _LeadMeasurements[i].LeadId = mes.Measurements[i].LeadType;
                    _LeadMeasurements[i].Count  = nrValues;

                    nrValues = mes.Measurements[i].Count;

                    for (int j = 0; j < nrValues; j++)
                    {
                        _LeadMeasurements[i][mes.Measurements[i].getKeyByIndex(j)] = mes.Measurements[i].getValueByIndex(j);
                    }
                }

                return(0);
            }

            return(1);
        }
Example #2
0
        protected override int _Read(byte[] buffer, int offset)
        {
            int startsize = Marshal.SizeOf(_NrLeads) + Marshal.SizeOf(_ManufactorSpecific);
            int end       = offset - Size + Length;

            if ((offset + startsize) > end)
            {
                return(0x1);
            }

            int fieldSize = Marshal.SizeOf(_NrLeads);

            _NrLeads = (ushort)BytesTool.readBytes(buffer, offset, fieldSize, true);
            offset  += fieldSize;

            fieldSize           = Marshal.SizeOf(_ManufactorSpecific);
            _ManufactorSpecific = (ushort)BytesTool.readBytes(buffer, offset, fieldSize, true);
            offset += fieldSize;

            if (_LeadMeasurements == null)
            {
                return(0x0);
            }

            for (int i = 0; i < _LeadMeasurements.Length; i++)
            {
                _LeadMeasurements[i] = new SCPLeadMeasurements();
                int ret = _LeadMeasurements[i].Read(buffer, offset);

                if (ret != 0)
                {
                    _LeadMeasurements[i] = null;

                    return(ret);
                }

                offset += _LeadMeasurements[i].getLength();
            }

            return(0x0);
        }