Class YUnits
java.lang.Object
yams.core.units.YUnits
YUnits that are fun and useful!
This class extends the standard WPILib unit set with additional units that are either useful
for FRC robotics or simply entertaining. Beyond what WPILib provides out of the box,
YUnits adds:
- Imperial distance units
Hands,Yards,Cubits,Fathoms,Chains,Furlongs,Miles,Leagues, and even aFootlongSandwich. - Extended time units
Hours,Days,Weeks,Fortnight, andYears. - Derived velocity units
MilesPerHour(MPH),FurlongsPerFortnight(FPF), andSandwichPerSecondfor all your footlong-based kinematics. - Angular velocity and acceleration
RotationsPerYear(RPY) andRPMPerSecondfor angular acceleration in RPM/s. - Linear and angular momentum units
PoundFeetPerSecond,PoundInchesPerSecond,PoundFeetSquaredPerSecond, andPoundInchesSquaredPerSecond. - Moment of inertia units
PoundSquareFeetandPoundSquareInchesfor imperial rotational inertia calculations.
Example
import yams.core.units.YUnits;
import static org.wpilib.units.Units.Meters;
import static org.wpilib.units.Units.MetersPerSecond;
// Convert a robot speed from MPH to meters per second
double speedMps = YUnits.MPH.of(10).in(MetersPerSecond); // ~4.47 m/s
// Express angular acceleration in RPM per second
var accel = YUnits.RPMPerSecond.of(50); // 50 RPM/s
// Use PoundSquareInches for a flywheel moment of inertia
var moi = YUnits.PoundSquareInches.of(0.004);
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.wpilib.units.DistanceUnit20.1168 (Except in India, where it is 20 meters)Units.Meterss, or 66Units.Feet.static final org.wpilib.units.DistanceUnit20.1168 (Except in India, where it is 20 meters)Units.Meterss, or 66Units.Feet.static final org.wpilib.units.DistanceUnit457.2/1000 of aUnits.Meters, or 18Units.Inches.static final org.wpilib.units.DistanceUnit457.2/1000 of aUnits.Meters, or 18Units.Inches.static final org.wpilib.units.TimeUnit24Hours.static final org.wpilib.units.DistanceUnit1.8288Units.Meterss, or 6Units.Feet.static final org.wpilib.units.DistanceUnit1.8288Units.Meterss, or 6Units.Feet.static final org.wpilib.units.DistanceUnit1Units.Feet, or Sandwichstatic final org.wpilib.units.TimeUnit2Weeks.static final org.wpilib.units.LinearVelocityUnitstatic final org.wpilib.units.DistanceUnit201.168Units.Meterss, or 10Chains.static final org.wpilib.units.DistanceUnit201.168Units.Meterss, or 10Chains.static final org.wpilib.units.LinearVelocityUnitstatic final org.wpilib.units.DistanceUnit101.6/1000 of aUnits.Meters, or 4Units.Inches.static final org.wpilib.units.DistanceUnit101.6/1000 of aUnits.Meters, or 4Units.Inches.static final org.wpilib.units.TimeUnitAlias forHoursto make combined unit definitions read more smoothly.static final org.wpilib.units.TimeUnit60Units.Minutes.static final org.wpilib.units.DistanceUnit4828.032Units.Meterss, or 3Miles.static final org.wpilib.units.DistanceUnit4828.032Units.Meterss, or 3Miles.static final org.wpilib.units.DistanceUnit1609.344Units.Meterss, or 5280Units.Feet.static final org.wpilib.units.DistanceUnit1609.344Units.Meterss, or 5280Units.Feet.static final org.wpilib.units.LinearVelocityUnitstatic final org.wpilib.units.LinearVelocityUnitstatic final org.wpilib.units.LinearMomentumUnitPounds * Feet/Secondstatic final org.wpilib.units.AngularMomentumUnitPounds * Feet^2/Secondstatic final org.wpilib.units.LinearMomentumUnitPounds * Inches/Secondstatic final org.wpilib.units.AngularMomentumUnitPounds * Inches^2/Secondstatic final org.wpilib.units.MomentOfInertiaUnitPounds^2 * Inches * Radians/Secondstatic final org.wpilib.units.MomentOfInertiaUnitPounds^2 * Inches *Radians/Secondstatic final org.wpilib.units.AngularAccelerationUnit1Units.RPMperUnits.Secondstatic final org.wpilib.units.AngularVelocityUnit1Units.RotationsperYear.static final org.wpilib.units.AngularAccelerationUnit1Units.RPMperUnits.Secondstatic final org.wpilib.units.AngularVelocityUnit1Units.RotationsperYear.static final org.wpilib.units.LinearVelocityUnit1FootlongSandwichperUnits.Secondstatic final org.wpilib.units.TimeUnit7Days.static final org.wpilib.units.DistanceUnit914.4/1000 of aUnits.Meters, or 3Units.Feet.static final org.wpilib.units.DistanceUnit914.4/1000 of aUnits.Meters, or 3Units.Feet.static final org.wpilib.units.TimeUnitAlias forYearsto make combined unit definitions read more smoothly.static final org.wpilib.units.TimeUnit525600Units.Minutes. -
Method Summary
-
Field Details
-
PoundFeetPerSecond
public static final org.wpilib.units.LinearMomentumUnit PoundFeetPerSecondPounds * Feet/Second -
PoundInchesPerSecond
public static final org.wpilib.units.LinearMomentumUnit PoundInchesPerSecondPounds * Inches/Second -
PoundFeetSquaredPerSecond
public static final org.wpilib.units.AngularMomentumUnit PoundFeetSquaredPerSecondPounds * Feet^2/Second -
PoundInchesSquaredPerSecond
public static final org.wpilib.units.AngularMomentumUnit PoundInchesSquaredPerSecondPounds * Inches^2/Second -
PoundSquareFeet
public static final org.wpilib.units.MomentOfInertiaUnit PoundSquareFeetPounds^2 * Inches * Radians/Second -
PoundSquareInches
public static final org.wpilib.units.MomentOfInertiaUnit PoundSquareInchesPounds^2 * Inches *Radians/Second -
Hands
public static final org.wpilib.units.DistanceUnit Hands101.6/1000 of aUnits.Meters, or 4Units.Inches. -
Hand
public static final org.wpilib.units.DistanceUnit Hand101.6/1000 of aUnits.Meters, or 4Units.Inches. -
Yards
public static final org.wpilib.units.DistanceUnit Yards914.4/1000 of aUnits.Meters, or 3Units.Feet. -
Yard
public static final org.wpilib.units.DistanceUnit Yard914.4/1000 of aUnits.Meters, or 3Units.Feet. -
Cubits
public static final org.wpilib.units.DistanceUnit Cubits457.2/1000 of aUnits.Meters, or 18Units.Inches. -
Cubit
public static final org.wpilib.units.DistanceUnit Cubit457.2/1000 of aUnits.Meters, or 18Units.Inches. -
Fathoms
public static final org.wpilib.units.DistanceUnit Fathoms1.8288Units.Meterss, or 6Units.Feet. -
FootlongSandwich
public static final org.wpilib.units.DistanceUnit FootlongSandwich1Units.Feet, or Sandwich -
Fathom
public static final org.wpilib.units.DistanceUnit Fathom1.8288Units.Meterss, or 6Units.Feet. -
Chains
public static final org.wpilib.units.DistanceUnit Chains20.1168 (Except in India, where it is 20 meters)Units.Meterss, or 66Units.Feet. -
Chain
public static final org.wpilib.units.DistanceUnit Chain20.1168 (Except in India, where it is 20 meters)Units.Meterss, or 66Units.Feet. -
Furlongs
public static final org.wpilib.units.DistanceUnit Furlongs201.168Units.Meterss, or 10Chains. -
Furlong
public static final org.wpilib.units.DistanceUnit Furlong201.168Units.Meterss, or 10Chains. -
Miles
public static final org.wpilib.units.DistanceUnit Miles1609.344Units.Meterss, or 5280Units.Feet. -
Mile
public static final org.wpilib.units.DistanceUnit Mile1609.344Units.Meterss, or 5280Units.Feet. -
Leagues
public static final org.wpilib.units.DistanceUnit Leagues4828.032Units.Meterss, or 3Miles. -
League
public static final org.wpilib.units.DistanceUnit League4828.032Units.Meterss, or 3Miles. -
Hours
public static final org.wpilib.units.TimeUnit Hours60Units.Minutes. -
Years
public static final org.wpilib.units.TimeUnit Years525600Units.Minutes. -
Hour
public static final org.wpilib.units.TimeUnit HourAlias forHoursto make combined unit definitions read more smoothly. -
MilesPerHour
-
MPH
-
Year
public static final org.wpilib.units.TimeUnit YearAlias forYearsto make combined unit definitions read more smoothly. -
RotationsPerYear
public static final org.wpilib.units.AngularVelocityUnit RotationsPerYear1Units.RotationsperYear. -
RPY
public static final org.wpilib.units.AngularVelocityUnit RPY1Units.RotationsperYear. -
Days
public static final org.wpilib.units.TimeUnit Days24Hours. -
Weeks
public static final org.wpilib.units.TimeUnit Weeks7Days. -
Fortnight
public static final org.wpilib.units.TimeUnit Fortnight2Weeks. -
FurlongsPerFortnight
-
FPF
-
SandwichPerSecond
public static final org.wpilib.units.LinearVelocityUnit SandwichPerSecond1FootlongSandwichperUnits.Second -
RotationsPerMinutePerSecond
public static final org.wpilib.units.AngularAccelerationUnit RotationsPerMinutePerSecond1Units.RPMperUnits.Second -
RPMPerSecond
public static final org.wpilib.units.AngularAccelerationUnit RPMPerSecond1Units.RPMperUnits.Second
-