public void AmperageMultipliedByResistance()
        {
            Resistance resistance = new Resistance(1000);
            Ampere     amperage   = new Ampere(120, resistance);
            double     answer     = OhmsLaw.CalculateVoltage(amperage, resistance);

            Assert.Equal(120000, answer);
        }
        public FastChargeLimitsMessage(byte[] payload)
        {
            payload.RequireBytes(RequireBytes);

            FastChargePowerLimit   = new KiloWatt(Math.Round(BitArrayConverter.ToUInt16(payload, 0, 13) * 0.06226m, 4));
            FastChargeCurrentLimit = new Ampere(Math.Round(BitArrayConverter.ToUInt16(payload, 16, 13) * 0.073242m, 2));
            FastChargeMaxVoltage   = new Volt(Math.Round(BitArrayConverter.ToUInt16(payload, 32, 13) * 0.073242m, 2));
            FastChargeMinVoltage   = new Volt(Math.Round(BitArrayConverter.ToUInt16(payload, 48, 13) * 0.073242m, 2));
        }
Example #3
0
        public BatteryInfoMessage(byte[] payload)
        {
            payload.RequireBytes(8);

            BatteryCurrent   = new Ampere(1000 - ((((payload[3] & 0x7F) << 8) + payload[2]) << 1) / 20.0m);
            BatteryVoltage   = new Volt((payload[0] + (payload[1] << 8)) / 100.0m);
            BatteryPower     = new Watt(BatteryCurrent * BatteryVoltage);
            NegativeTerminal = (payload[6] + ((payload[7] & 0x07) << 8)) * 0.1m - 10m;
        }
        public BatteryPowerMessage(byte[] payload)
        {
            payload.RequireBytes(RequireBytes);

            BatteryVoltage       = new Volt(BitArrayConverter.ToUInt16(payload, 0, 16) / 100.0m);
            BatteryCurrentSmooth = new Ampere(BitArrayConverter.ToInt16(payload, 16, 15) * -0.01m);
            BatteryCurrentRaw    = new Ampere(BitArrayConverter.ToInt16(payload, 32, 16) * -0.05m + 500m);
            ChargeTimeRemaining  = TimeSpan.FromMinutes(BitArrayConverter.ToUInt16(payload, 48, 12));
        }
Example #5
0
        public DcDcInfoMessage(byte[] payload)
        {
            payload.RequireBytes(6);

            DcDcCurrent      = new Ampere(payload[4]);
            DcDcVoltage      = new Volt(payload[5] / 10.0m);
            DcDcCoolantInlet = (payload[2] - 2 * (payload[2] & 0x80)) / 2m + 40m;
            DcDcInputPower   = new Watt((ushort)(payload[3] << 4));
            DcDcOutputPower  = new Watt(payload[4] * payload[5] / 10.0m);
        }
Example #6
0
        public FrontMechPowerMessage(byte[] payload)
        {
            payload.RequireBytes(8);

            FrontMechPower     = new KiloWatt((payload[2] + ((payload[3] & 0x7) << 8) - 512 * (payload[3] & 0x4)) / 2m);
            FrontDissipation   = new KiloWatt(payload[1] * 125m / 1000m - 0.5m);
            FrontInputPower    = new KiloWatt(FrontMechPower + FrontDissipation);
            FrontStatorCurrent = new Ampere(payload[4] + ((payload[5] & 0x7) << 8));
            FrontDriveMaxPower = new KiloWatt((payload[6] & 0x3f << 5) + ((payload[5] & 0xf0) >> 3) + 1m);
        }
Example #7
0
        public void AmpereConstructorTest()
        {
            Ampere target = new Ampere();

            Assert.AreEqual("A", target.Symbol);
            Assert.AreEqual(typeof(ElectricalCurrent <>), target.QuantityType);
            Assert.AreEqual(MetricPrefix.None, target.UnitPrefix);

            Assert.AreEqual(true, target.IsBaseUnit);
            Assert.AreEqual(true, target.IsDefaultUnit);
        }
        public RearMechPowerMessage(byte[] payload)
        {
            payload.RequireBytes(RequireBytes);

            RearInverterVoltage = new Volt(payload[0] / 10m);
            RearMechPower       = new KiloWatt((payload[2] + ((payload[3] & 0x7) << 8) - 512 * (payload[3] & 0x4)) / 2m);
            RearDissipation     = new KiloWatt(payload[1] * 125m / 1000m - 0.5m);
            RearInputPower      = new KiloWatt(RearMechPower + RearDissipation);
            RearStatorCurrent   = new Ampere(payload[4] + ((payload[5] & 0x7) << 8));
            RearDriveMaxPower   = new KiloWatt((payload[6] & 0x3f << 5) + ((payload[5] & 0xf0) >> 3) + 1m);
            RearRegenMaxPower   = new KiloWatt((payload[7] << 2) - 200m);
        }
            public void ElectricUnits()
            {
                // Hearing aid (typically 1 mW at 1.4 V): 0.7 mA
                Volt   haVoltage = (Volt)1.4;
                Ampere haAmps    = (Watt)0.001 / haVoltage;

                Assert.AreEqual((Ampere)0.00071428571428571439, haAmps, "Hearing aid amperage calculation failed");
                Ohm haOhms = haVoltage / haAmps;

                Assert.AreEqual((Ohm)1959.9999999999995, haOhms, "Hearing aid resistance calculation failed");

                // A typical motor vehicle has a 12 V battery.
                Volt batteryVoltage = (Volt)12.0;

                // The various accessories that are powered by the battery might include:

                // Instrument panel light (typically 2 W): 166 mA.
                Ampere panelAmps = (Watt)2.0 / batteryVoltage;

                Assert.AreEqual((Ampere)0.16666666666666666, panelAmps, "Car instrument panel amperage calculation failed");

                Ohm panelOhms = batteryVoltage / panelAmps;

                Assert.AreEqual((Ohm)72.0, panelOhms, "Car instrument panel resistance calculation failed");

                // Headlights (typically 60 W): 5 A each.
                Ampere lightsAmps = (Watt)60.0 / batteryVoltage;

                Assert.AreEqual((Ampere)5.0, lightsAmps, "Car headlights amperage calculation failed");

                Ohm lightsOhms = batteryVoltage / lightsAmps;

                Assert.AreEqual((Ohm)2.4, lightsOhms, "Car headlights resistance calculation failed");

                // Starter Motor (typically 1–2 kW): 80-160 A
                Ampere starterAmps = (Watt)1500.0 / batteryVoltage;

                Assert.AreEqual((Ampere)125.0, starterAmps, "Car starter motor amperage calculation failed");

                Ohm starterOhms = batteryVoltage / starterAmps;

                Assert.AreEqual((Ohm)0.096, starterOhms, "Car starter motor resistance calculation failed");
            }
Example #10
0
 public voltageCalculator(Resistance resistance, Ampere amperage)
 {
     _resistance = resistance;
     _amperage   = amperage;
 }
Example #11
0
 public void InitTests()
 {
     a = new Ampere();
 }