Пример #1
0
        public void Import(ReservedAddress resAdr, int xdfBaseOffset)
        {
            int    iCols       = -1;
            string sOutputType = "3";
            string sSize       = "8";

            title       = resAdr.Label;
            description = Tools.XDFLabelSLabelComXdfComment(resAdr.Label, resAdr.ShortLabel, resAdr.Comments);

            sSize = "8";
            iCols = resAdr.Size;

            switch (resAdr.Type)
            {
            case ReservedAddressType.Ascii:
                sOutputType = "4";
                // For Ascii Xdf requires 1 Byte one per Column
                break;

            case ReservedAddressType.Hex:
                sOutputType = "3";
                if (resAdr.Size % 4 == 0)
                {
                    sSize = "32";
                    iCols = resAdr.Size / 4;
                }
                else if (resAdr.Size % 2 == 0)
                {
                    sSize = "16";
                    iCols = resAdr.Size / 2;
                }
                break;
            }

            xdfAxis[0].indexcount = iCols.ToString();

            xdfAxis[1].indexcount = "1";

            xdfAxis[2].outputtype                  = sOutputType;
            xdfAxis[2].xdfData.mmedaddress         = Tools.xdfAddressFromBinAddress(resAdr.AddressBinInt, xdfBaseOffset);
            xdfAxis[2].xdfData.mmedelementsizebits = sSize;
            xdfAxis[2].xdfData.mmedtypeflags       = "0x00";
            xdfAxis[2].xdfData.mmedrowcount        = "1";
            xdfAxis[2].xdfData.mmedcolcount        = iCols.ToString();
        }
Пример #2
0
        public void Import(ReservedAddress resAdr, int xdfBaseOffset)
        {
            title       = resAdr.Label;
            description = Tools.XDFLabelSLabelComXdfComment(resAdr.Label, resAdr.ShortLabel, resAdr.Comments);

            xdfData.mmedaddress   = Tools.xdfAddressFromBinAddress(resAdr.AddressBinInt, xdfBaseOffset);
            xdfData.mmedtypeflags = "0x02";
            if (resAdr.Size == 1)
            {
                xdfData.mmedelementsizebits = "8";
            }
            else
            {
                xdfData.mmedelementsizebits = "16";
            }

            switch (resAdr.Type)
            {
            case ReservedAddressType.Ascii:
            // Ascii not managed in Xdf for Scalars
            case ReservedAddressType.Hex:
            case ReservedAddressType.CheckSum:
                outputtype = "3";
                break;

            default:
                outputtype = "2";       // Integer
                break;
            }

            // Specific case
            if (resAdr.AddressInt == 0xdf9c)
            // RTAXLE
            {
                outputtype       = "1"; // Float
                xdfMath.equation = "X/1024";
            }
        }
Пример #3
0
 public XdfTable(ReservedAddress resAdr, int xdfBaseOffset)
 {
     Init();
     Import(resAdr, xdfBaseOffset);
 }