001// Copyright (c) FIRST and other WPILib contributors. 002// Open Source Software; you can modify and/or share it under the terms of 003// the WPILib BSD license file in the root directory of this project. 004 005package edu.wpi.first.units; 006 007/** 008 * Unit of electic current dimension. 009 * 010 * <p>This is the base type for units of current dimension. It is also used to specify the dimension 011 * for {@link Measure}: <code>Measure<Current></code>. 012 * 013 * <p>Actual units (such as {@link Units#Amps} and {@link Units#Milliamps}) can be found in the 014 * {@link Units} class. 015 */ 016public class Current extends Unit<Current> { 017 Current(double baseUnitEquivalent, String name, String symbol) { 018 super(Current.class, baseUnitEquivalent, name, symbol); 019 } 020 021 Current( 022 UnaryFunction toBaseConverter, UnaryFunction fromBaseConverter, String name, String symbol) { 023 super(Current.class, toBaseConverter, fromBaseConverter, name, symbol); 024 } 025 026 /** 027 * Constructs a unit of power equivalent to this unit of electrical current multiplied by another 028 * unit of voltage. For example, {@code Amps.times(Volts)} will return a unit of power equivalent 029 * to one Watt; {@code Amps.times(Millivolts)} will return a unit of power equivalent to a 030 * milliwatt, and so on. 031 * 032 * @param voltage the voltage unit to multiply by 033 * @param name the name of the resulting unit of power 034 * @param symbol the symbol used to represent the unit of power 035 * @return the power unit 036 */ 037 public Power times(Unit<Voltage> voltage, String name, String symbol) { 038 return new Power(this.toBaseUnits(1) * voltage.toBaseUnits(1), name, symbol); 039 } 040}