Ejemplo n.º 1
0
        private void DatabaseGetExtendedParameters(bool useXmlReader)
        {
            List <Parameter> expectedList = new List <Parameter>();

            expectedList.Add(new SsmParameter(
                                 null,
                                 "E1",
                                 "IAM*",
                                 0x20124, //0x20118,
                                 4,
                                 new Conversion[] {
                Conversion.GetInstance("raw ecu value", "x", "0"),
                Conversion.GetInstance("multiplier", "x/16", "0.0000")
            }));

            expectedList.Add(new SsmParameter(
                                 null,
                                 "E2",
                                 "Engine Load*",
                                 0x2009A, //0x21847,
                                 4,
                                 new Conversion[] {
                Conversion.GetInstance("g/rev", "x*.00006103515625", "0.00"),
            }));

            SsmParameterSource database = new SsmParameterSource(EcuIdentifier, CompatibilityMap);

            using (Stream inputStream = File.OpenRead("logger.xml"))
            {
                if (useXmlReader)
                {
                    XmlReader reader = XmlReader.Create(inputStream);
                    database.LoadExtendedParameters(reader);
                }
                else
                {
                    XPathDocument document = SsmParameterSource.CreateDocument(inputStream);
                    database.LoadExtendedParameters(document);
                }
            }

            Assert.AreEqual(34, database.Parameters.Count, "Parameters.Count");
            Console.WriteLine("Count: " + database.Parameters.Count);

            foreach (SsmParameter parameter in database.Parameters)
            {
                Console.WriteLine(
                    string.Format(
                        "Parameter: {0,50} ID {1,5} Address {2,10}",
                        parameter.Name,
                        parameter.Id,
                        parameter.Address));
            }

            SsmParameterSourceTest.CompareLists(expectedList, database.Parameters);
        }
Ejemplo n.º 2
0
        private void DatabaseGetSwitches(bool useXmlReader)
        {
            List <Parameter> expectedList = new List <Parameter>();

            expectedList.Add(new SsmParameter(null, "S20", "Defogger Switch", 0x64, 1, new Conversion[] { Conversion.GetInstance(Conversion.Boolean, "x&(2^5)", "") }));
            expectedList.Add(new SsmParameter(null, "S65", "Set/Coast Switch", 0x121, 1, new Conversion[] { Conversion.GetInstance(Conversion.Boolean, "x&(2^5)", "") }));
            expectedList.Add(new SsmParameter(null, "S66", "Resume/Accelerate Switch", 0x121, 1, new Conversion[] { Conversion.GetInstance(Conversion.Boolean, "x&(2^4)", "") }));
            SsmParameterSource database = new SsmParameterSource(EcuIdentifier, CompatibilityMap);

            using (Stream inputStream = File.OpenRead("logger.xml"))
            {
                if (useXmlReader)
                {
                    XmlReader reader = XmlReader.Create(inputStream);
                    database.LoadSwitches(reader);
                }
                else
                {
                    XPathDocument document = SsmParameterSource.CreateDocument(inputStream);
                    database.LoadSwitches(document);
                }
            }

            Assert.AreEqual(68, database.Parameters.Count, "Switches.Count");
            Console.WriteLine("Count: " + database.Parameters.Count);

            foreach (SsmParameter parameter in database.Parameters)
            {
                Console.WriteLine(
                    string.Format(
                        "Parameter: {0,50} ID {1,5} Address {2,10} Conversion {3,10}",
                        parameter.Name,
                        parameter.Id,
                        parameter.Address,
                        parameter.Conversions[0]));
            }

            SsmParameterSourceTest.CompareLists(expectedList, database.Parameters);
        }
Ejemplo n.º 3
0
        private void DatabaseGetStandardParameters(bool useXmlReader)
        {
            ReadOnlyCollection <Parameter> noDependencies = null;
            List <Parameter> expectedList = new List <Parameter>();

            expectedList.Add(new SsmParameter(
                                 null,
                                 "P9",
                                 "Vehicle Speed",
                                 0x000010,
                                 1,
                                 new Conversion[] {
                Conversion.GetInstance("mph", "x*0.621371192", "0"),
                Conversion.GetInstance("kph", "x", "0")
            },
                                 9,
                                 7,
                                 noDependencies));
            expectedList.Add(new SsmParameter(
                                 null,
                                 "P2",
                                 "Coolant Temperature",
                                 0x000008,
                                 1,
                                 new Conversion[] {
                Conversion.GetInstance("F", "32+9*(x-40)/5", "0"),
                Conversion.GetInstance("C", "x-40", "0")
            },
                                 8,
                                 6,
                                 noDependencies));
            expectedList.Add(new SsmParameter(
                                 null,
                                 "P8",
                                 "Engine Speed",
                                 0x00000E,
                                 2,
                                 new Conversion[] { Conversion.GetInstance("rpm", "x/4", "0") },
                                 8,
                                 0,
                                 noDependencies));

            SsmParameterSource database = new SsmParameterSource(EcuIdentifier, CompatibilityMap);

            using (Stream inputStream = File.OpenRead("logger.xml"))
            {
                if (useXmlReader)
                {
                    XmlReader reader = XmlReader.Create(inputStream);
                    database.LoadStandardParameters(reader);
                }
                else
                {
                    XPathDocument document = SsmParameterSource.CreateDocument(inputStream);
                    database.LoadStandardParameters(document);
                }
            }

            int expectedCount = 53; // was 92 prior to compatibility filtering

            Assert.AreEqual(expectedCount, database.Parameters.Count, "Parameters.Count");
            SsmParameterSourceTest.CompareLists(expectedList, database.Parameters);
        }