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(); }
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"; } }
public XdfTable(ReservedAddress resAdr, int xdfBaseOffset) { Init(); Import(resAdr, xdfBaseOffset); }