Skip to content

Commit

Permalink
Update jinja
Browse files Browse the repository at this point in the history
  • Loading branch information
AlphaPranav9102 committed Jul 6, 2023
1 parent 2b73f7a commit 845f67e
Show file tree
Hide file tree
Showing 2 changed files with 117 additions and 33 deletions.
146 changes: 115 additions & 31 deletions src/main/kotlin/org/team4099/lib/units/derived/Controller.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package org.team4099.lib.units.derived
import org.team4099.lib.units.Fraction
import org.team4099.lib.units.Product
import org.team4099.lib.units.UnitKey
import org.team4099.lib.units.Unitless
import org.team4099.lib.units.Value
import org.team4099.lib.units.Velocity
import org.team4099.lib.units.base.Ampere
Expand Down Expand Up @@ -68,6 +69,8 @@ inline val <K : UnitKey> Value<K>.perRadianPerSecond
inline val <K : UnitKey> Value<K>.perDegreePerSecond
get() = perRadianPerSecond / RADIANS_PER_DEGREES



inline val Double.VoltsPerVolts
get() = Value<Fraction<Volt, Volt>>(this)

Expand Down Expand Up @@ -158,6 +161,7 @@ inline val DerivativeGain<Velocity<Radian>, Volt>.inVoltsPerDegreesPerSecondPerS
inline val DerivativeGain<Velocity<Radian>, Volt>.inVoltsPerRotationsPerMinutePerSecond: Double
get() = inVoltsPerRadiansPerSecondPerSecond / SECONDS_PER_MINUTE * RADIANS_PER_ROTATION


inline val Double.AmpsPerAmps
get() = Value<Fraction<Ampere, Ampere>>(this)

Expand Down Expand Up @@ -248,6 +252,7 @@ inline val DerivativeGain<Velocity<Radian>, Ampere>.inAmpsPerDegreesPerSecondPer
inline val DerivativeGain<Velocity<Radian>, Ampere>.inAmpsPerRotationsPerMinutePerSecond: Double
get() = inAmpsPerRadiansPerSecondPerSecond / SECONDS_PER_MINUTE * RADIANS_PER_ROTATION


inline val Double.RadiansPerSecondPerRadiansPerSecond
get() = Value<Fraction<Velocity<Radian>, Velocity<Radian>>>(this)

Expand All @@ -269,16 +274,13 @@ inline val ProportionalGain<Radian, Velocity<Radian>>.inRadiansPerSecondPerDegre
inline val ProportionalGain<Radian, Velocity<Radian>>.inRadiansPerSecondPerRotation: Double
get() = inRadiansPerSecondPerRadian * RADIANS_PER_ROTATION

inline val ProportionalGain<Velocity<Meter>, Velocity<Radian>>.inRadiansPerSecondPerMetersPerSecond:
Double
get() = value
inline val ProportionalGain<Velocity<Meter>, Velocity<Radian>>.inRadiansPerSecondPerMetersPerSecond: Double
get() = value

inline val ProportionalGain<
Velocity<Radian>, Velocity<Radian>>.inRadiansPerSecondPerRadiansPerSecond: Double
inline val ProportionalGain<Velocity<Radian>, Velocity<Radian>>.inRadiansPerSecondPerRadiansPerSecond: Double
get() = value

inline val ProportionalGain<
Velocity<Radian>, Velocity<Radian>>.inRadiansPerSecondPerRotationPerMinute: Double
inline val ProportionalGain<Velocity<Radian>, Velocity<Radian>>.inRadiansPerSecondPerRotationPerMinute: Double
get() = inRadiansPerSecondPerRadiansPerSecond * RADIANS_PER_ROTATION / SECONDS_PER_MINUTE

inline val IntegralGain<Meter, Velocity<Radian>>.inRadiansPerSecondPerMeterSeconds: Double
Expand Down Expand Up @@ -320,8 +322,7 @@ inline val DerivativeGain<Meter, Velocity<Radian>>.inRadiansPerSecondPerInchPerS
inline val DerivativeGain<Meter, Velocity<Radian>>.inRadiansPerSecondPerFootPerSecond: Double
get() = inRadiansPerSecondPerMeterPerSecond * METERS_PER_FOOT

inline val DerivativeGain<
Velocity<Meter>, Velocity<Radian>>.inRadiansPerSecondPerMetersPerSecondPerSecond: Double
inline val DerivativeGain<Velocity<Meter>, Velocity<Radian>>.inRadiansPerSecondPerMetersPerSecondPerSecond: Double
get() = value

inline val DerivativeGain<Radian, Velocity<Radian>>.inRadiansPerSecondPerRadianPerSecond: Double
Expand All @@ -333,18 +334,16 @@ inline val DerivativeGain<Radian, Velocity<Radian>>.inRadiansPerSecondPerDegreeP
inline val DerivativeGain<Radian, Velocity<Radian>>.inRadiansPerSecondPerRotationsPerMinute: Double
get() = inRadiansPerSecondPerRadianPerSecond / SECONDS_PER_MINUTE * RADIANS_PER_ROTATION

inline val DerivativeGain<
Velocity<Radian>, Velocity<Radian>>.inRadiansPerSecondPerRadiansPerSecondPerSecond: Double
inline val DerivativeGain<Velocity<Radian>, Velocity<Radian>>.inRadiansPerSecondPerRadiansPerSecondPerSecond: Double
get() = value

inline val DerivativeGain<
Velocity<Radian>, Velocity<Radian>>.inRadiansPerSecondPerDegreesPerSecondPerSecond: Double
inline val DerivativeGain<Velocity<Radian>, Velocity<Radian>>.inRadiansPerSecondPerDegreesPerSecondPerSecond: Double
get() = inRadiansPerSecondPerRadiansPerSecondPerSecond * RADIANS_PER_DEGREES

inline val DerivativeGain<
Velocity<Radian>, Velocity<Radian>>.inRadiansPerSecondPerRotationsPerMinutePerSecond: Double
inline val DerivativeGain<Velocity<Radian>, Velocity<Radian>>.inRadiansPerSecondPerRotationsPerMinutePerSecond: Double
get() = inRadiansPerSecondPerRadiansPerSecondPerSecond / SECONDS_PER_MINUTE * RADIANS_PER_ROTATION


inline val Double.MetersPerSecondPerMetersPerSecond
get() = Value<Fraction<Velocity<Meter>, Velocity<Meter>>>(this)

Expand All @@ -366,16 +365,13 @@ inline val ProportionalGain<Radian, Velocity<Meter>>.inMetersPerSecondPerDegree:
inline val ProportionalGain<Radian, Velocity<Meter>>.inMetersPerSecondPerRotation: Double
get() = inMetersPerSecondPerRadian * RADIANS_PER_ROTATION

inline val ProportionalGain<Velocity<Meter>, Velocity<Meter>>.inMetersPerSecondPerMetersPerSecond:
Double
get() = value
inline val ProportionalGain<Velocity<Meter>, Velocity<Meter>>.inMetersPerSecondPerMetersPerSecond: Double
get() = value

inline val ProportionalGain<Velocity<Radian>, Velocity<Meter>>.inMetersPerSecondPerRadiansPerSecond:
Double
get() = value
inline val ProportionalGain<Velocity<Radian>, Velocity<Meter>>.inMetersPerSecondPerRadiansPerSecond: Double
get() = value

inline val ProportionalGain<
Velocity<Radian>, Velocity<Meter>>.inMetersPerSecondPerRotationPerMinute: Double
inline val ProportionalGain<Velocity<Radian>, Velocity<Meter>>.inMetersPerSecondPerRotationPerMinute: Double
get() = inMetersPerSecondPerRadiansPerSecond * RADIANS_PER_ROTATION / SECONDS_PER_MINUTE

inline val IntegralGain<Meter, Velocity<Meter>>.inMetersPerSecondPerMeterSeconds: Double
Expand Down Expand Up @@ -417,8 +413,7 @@ inline val DerivativeGain<Meter, Velocity<Meter>>.inMetersPerSecondPerInchPerSec
inline val DerivativeGain<Meter, Velocity<Meter>>.inMetersPerSecondPerFootPerSecond: Double
get() = inMetersPerSecondPerMeterPerSecond * METERS_PER_FOOT

inline val DerivativeGain<
Velocity<Meter>, Velocity<Meter>>.inMetersPerSecondPerMetersPerSecondPerSecond: Double
inline val DerivativeGain<Velocity<Meter>, Velocity<Meter>>.inMetersPerSecondPerMetersPerSecondPerSecond: Double
get() = value

inline val DerivativeGain<Radian, Velocity<Meter>>.inMetersPerSecondPerRadianPerSecond: Double
Expand All @@ -430,18 +425,16 @@ inline val DerivativeGain<Radian, Velocity<Meter>>.inMetersPerSecondPerDegreePer
inline val DerivativeGain<Radian, Velocity<Meter>>.inMetersPerSecondPerRotationsPerMinute: Double
get() = inMetersPerSecondPerRadianPerSecond / SECONDS_PER_MINUTE * RADIANS_PER_ROTATION

inline val DerivativeGain<
Velocity<Radian>, Velocity<Meter>>.inMetersPerSecondPerRadiansPerSecondPerSecond: Double
inline val DerivativeGain<Velocity<Radian>, Velocity<Meter>>.inMetersPerSecondPerRadiansPerSecondPerSecond: Double
get() = value

inline val DerivativeGain<
Velocity<Radian>, Velocity<Meter>>.inMetersPerSecondPerDegreesPerSecondPerSecond: Double
inline val DerivativeGain<Velocity<Radian>, Velocity<Meter>>.inMetersPerSecondPerDegreesPerSecondPerSecond: Double
get() = inMetersPerSecondPerRadiansPerSecondPerSecond * RADIANS_PER_DEGREES

inline val DerivativeGain<
Velocity<Radian>, Velocity<Meter>>.inMetersPerSecondPerRotationsPerMinutePerSecond: Double
inline val DerivativeGain<Velocity<Radian>, Velocity<Meter>>.inMetersPerSecondPerRotationsPerMinutePerSecond: Double
get() = inMetersPerSecondPerRadiansPerSecondPerSecond / SECONDS_PER_MINUTE * RADIANS_PER_ROTATION


inline val Double.MetersPerMeters
get() = Value<Fraction<Meter, Meter>>(this)

Expand Down Expand Up @@ -531,3 +524,94 @@ inline val DerivativeGain<Velocity<Radian>, Meter>.inMetersPerDegreesPerSecondPe

inline val DerivativeGain<Velocity<Radian>, Meter>.inMetersPerRotationsPerMinutePerSecond: Double
get() = inMetersPerRadiansPerSecondPerSecond / SECONDS_PER_MINUTE * RADIANS_PER_ROTATION


inline val Double.DegreesPerDegrees
get() = Value<Fraction<Degrees, Degrees>>(this)

inline val ProportionalGain<Meter, Degrees>.inDegreesPerMeter: Double
get() = value

inline val ProportionalGain<Meter, Degrees>.inDegreesPerInch: Double
get() = inDegreesPerMeter * METERS_PER_INCH

inline val ProportionalGain<Meter, Degrees>.inDegreesPerFoot: Double
get() = inDegreesPerMeter * METERS_PER_FOOT

inline val ProportionalGain<Radian, Degrees>.inDegreesPerRadian: Double
get() = value

inline val ProportionalGain<Radian, Degrees>.inDegreesPerDegree: Double
get() = inDegreesPerRadian * RADIANS_PER_DEGREES

inline val ProportionalGain<Radian, Degrees>.inDegreesPerRotation: Double
get() = inDegreesPerRadian * RADIANS_PER_ROTATION

inline val ProportionalGain<Velocity<Meter>, Degrees>.inDegreesPerMetersPerSecond: Double
get() = value

inline val ProportionalGain<Velocity<Radian>, Degrees>.inDegreesPerRadiansPerSecond: Double
get() = value

inline val ProportionalGain<Velocity<Radian>, Degrees>.inDegreesPerRotationPerMinute: Double
get() = inDegreesPerRadiansPerSecond * RADIANS_PER_ROTATION / SECONDS_PER_MINUTE

inline val IntegralGain<Meter, Degrees>.inDegreesPerMeterSeconds: Double
get() = value

inline val IntegralGain<Meter, Degrees>.inDegreesPerInchSeconds: Double
get() = inDegreesPerMeterSeconds * METERS_PER_INCH

inline val IntegralGain<Meter, Degrees>.inDegreesPerFootSeconds: Double
get() = inDegreesPerMeterSeconds * METERS_PER_FOOT

inline val IntegralGain<Velocity<Meter>, Degrees>.inDegreesPerMeters: Double
get() = value

inline val IntegralGain<Radian, Degrees>.inDegreesPerRadianSeconds: Double
get() = value

inline val IntegralGain<Radian, Degrees>.inDegreesPerDegreeSeconds: Double
get() = inDegreesPerRadianSeconds * RADIANS_PER_DEGREES

inline val IntegralGain<Radian, Degrees>.inDegreesPerRotationSeconds: Double
get() = inDegreesPerRadianSeconds / SECONDS_PER_MINUTE * RADIANS_PER_ROTATION

inline val IntegralGain<Velocity<Radian>, Degrees>.inDegreesPerRadians: Double
get() = value

inline val IntegralGain<Velocity<Radian>, Degrees>.inDegreesPerDegrees: Double
get() = inDegreesPerRadians * RADIANS_PER_DEGREES

inline val IntegralGain<Velocity<Radian>, Degrees>.inDegreesPerRotations: Double
get() = inDegreesPerRadians / SECONDS_PER_MINUTE * RADIANS_PER_ROTATION

inline val DerivativeGain<Meter, Degrees>.inDegreesPerMeterPerSecond: Double
get() = value

inline val DerivativeGain<Meter, Degrees>.inDegreesPerInchPerSecond: Double
get() = inDegreesPerMeterPerSecond * METERS_PER_INCH

inline val DerivativeGain<Meter, Degrees>.inDegreesPerFootPerSecond: Double
get() = inDegreesPerMeterPerSecond * METERS_PER_FOOT

inline val DerivativeGain<Velocity<Meter>, Degrees>.inDegreesPerMetersPerSecondPerSecond: Double
get() = value

inline val DerivativeGain<Radian, Degrees>.inDegreesPerRadianPerSecond: Double
get() = value

inline val DerivativeGain<Radian, Degrees>.inDegreesPerDegreePerSecond: Double
get() = inDegreesPerRadianPerSecond * RADIANS_PER_DEGREES

inline val DerivativeGain<Radian, Degrees>.inDegreesPerRotationsPerMinute: Double
get() = inDegreesPerRadianPerSecond / SECONDS_PER_MINUTE * RADIANS_PER_ROTATION

inline val DerivativeGain<Velocity<Radian>, Degrees>.inDegreesPerRadiansPerSecondPerSecond: Double
get() = value

inline val DerivativeGain<Velocity<Radian>, Degrees>.inDegreesPerDegreesPerSecondPerSecond: Double
get() = inDegreesPerRadiansPerSecondPerSecond * RADIANS_PER_DEGREES

inline val DerivativeGain<Velocity<Radian>, Degrees>.inDegreesPerRotationsPerMinutePerSecond: Double
get() = inDegreesPerRadiansPerSecondPerSecond / SECONDS_PER_MINUTE * RADIANS_PER_ROTATION
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ def render_template(template_filename, context):

def create_controller_file():
fname = "src/main/kotlin/org/team4099/lib/units/derived/Controller.kt"
outputs = ['Volt', 'Ampere', 'Velocity<Radian>', 'Velocity<Meter>', "Meter"]
output_aliases = ['Volts', 'Amps', 'RadiansPerSecond', "MetersPerSecond", "Meters"]
outputs = ['Volt', 'Ampere', 'Velocity<Radian>', 'Velocity<Meter>', "Meter", "Degrees"]
output_aliases = ['Volts', 'Amps', 'RadiansPerSecond', "MetersPerSecond", "Meters", "Degrees"]
context = {
'control_outputs': outputs,
'output_aliases': output_aliases,
Expand Down

0 comments on commit 845f67e

Please sign in to comment.