Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ bin/
build/
out/
virtualenv_run/
tox.ini
8 changes: 4 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ dependencies {
}

group = 'org.team5419'
version = '4.0.7'
version = '5.0.0'


task sourcesJar(type: Jar) {
Expand Down Expand Up @@ -112,14 +112,14 @@ task install_hooks(dependsOn: 'tox')
publishing {
publications {
library(MavenPublication) {
artifactId = 'fault'
artifactId = 'berkeleyLib'
from components.java
artifact sourcesJar
artifact javadocJar
pom {
name = 'Fault'
name = 'BerkeleyLib'
description = 'Commonly used utilities in FRC Team 5419\'s codebase'
url = 'https://github.com/team5419/fault'
url = 'https://github.com/team5419/BerkeleyLib'
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package org.team5419.fault
package org.team5419.berkeleyLib

import edu.wpi.first.hal.FRCNetComm
import edu.wpi.first.hal.HAL
import edu.wpi.first.wpilibj.RobotBase
import edu.wpi.first.wpilibj.TimedRobot
import org.team5419.fault.math.units.SIUnit
import org.team5419.fault.math.units.Second
import org.team5419.fault.subsystems.Subsystem
import org.team5419.fault.subsystems.SubsystemManager
import org.team5419.berkeleyLib.math.units.SIUnit
import org.team5419.berkeleyLib.math.units.Second
import org.team5419.berkeleyLib.subsystems.Subsystem
import org.team5419.berkeleyLib.subsystems.SubsystemManager

@Suppress("TooManyFunctions")
abstract class BerkeliumRobot(period: SIUnit<Second> = SIUnit<Second>(0.05)) {
abstract class BerkeleyRobot(period: SIUnit<Second> = SIUnit<Second>(0.05)) {

protected val wrappedValue = WpiTimedRobot(period.value)

Expand All @@ -23,48 +23,48 @@ abstract class BerkeliumRobot(period: SIUnit<Second> = SIUnit<Second>(0.05)) {
}

override fun robotInit() {
this@BerkeliumRobot.robotInit()
this@BerkeleyRobot.robotInit()
SubsystemManager.init()
}

override fun autonomousInit() {
SubsystemManager.autoReset()
this@BerkeliumRobot.autonomousInit()
this@BerkeleyRobot.autonomousInit()
}

override fun teleopInit() {
SubsystemManager.teleopReset()
this@BerkeliumRobot.teleopInit()
this@BerkeleyRobot.teleopInit()
}

override fun disabledInit() {
SubsystemManager.zeroOutputs()
this@BerkeliumRobot.disabledInit()
this@BerkeleyRobot.disabledInit()
}

override fun testInit() {
this@BerkeliumRobot.testInit()
this@BerkeleyRobot.testInit()
}

override fun robotPeriodic() {
this@BerkeliumRobot.robotPeriodic()
this@BerkeleyRobot.robotPeriodic()
if (!isDisabled) SubsystemManager.periodic()
}

override fun autonomousPeriodic() {
this@BerkeliumRobot.autonomousPeriodic()
this@BerkeleyRobot.autonomousPeriodic()
}

override fun teleopPeriodic() {
this@BerkeliumRobot.teleopPeriodic()
this@BerkeleyRobot.teleopPeriodic()
}

override fun disabledPeriodic() {
this@BerkeliumRobot.disabledPeriodic()
this@BerkeleyRobot.disabledPeriodic()
}

override fun testPeriodic() {
this@BerkeliumRobot.testPeriodic()
this@BerkeleyRobot.testPeriodic()
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/main/kotlin/org/team5419/fault/Controller.kt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.team5419.fault
package org.team5419.berkeleyLib

interface Controller {

Expand Down
20 changes: 10 additions & 10 deletions src/main/kotlin/org/team5419/fault/auto/Action.kt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package org.team5419.fault.auto

import org.team5419.fault.math.units.SIUnit
import org.team5419.fault.math.units.Second
import org.team5419.fault.math.units.seconds
import org.team5419.fault.util.BooleanSource
import org.team5419.fault.util.Source
import org.team5419.fault.util.or
import org.team5419.fault.util.time.ITimer
import org.team5419.fault.util.time.WPITimer
package org.team5419.berkeleyLib.auto

import org.team5419.berkeleyLib.math.units.SIUnit
import org.team5419.berkeleyLib.math.units.Second
import org.team5419.berkeleyLib.math.units.seconds
import org.team5419.berkeleyLib.util.BooleanSource
import org.team5419.berkeleyLib.util.Source
import org.team5419.berkeleyLib.util.or
import org.team5419.berkeleyLib.util.time.ITimer
import org.team5419.berkeleyLib.util.time.WPITimer

typealias NothingAction = Action

Expand Down
6 changes: 3 additions & 3 deletions src/main/kotlin/org/team5419/fault/auto/ActionGroup.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.team5419.fault.auto
package org.team5419.berkeleyLib.auto

import org.team5419.fault.math.units.Second
import org.team5419.fault.math.units.SIUnit
import org.team5419.berkeleyLib.math.units.Second
import org.team5419.berkeleyLib.math.units.SIUnit

abstract class ActionGroup internal constructor() : Action() {
internal abstract val actions: List<Action>
Expand Down
2 changes: 1 addition & 1 deletion src/main/kotlin/org/team5419/fault/auto/ActionUtil.kt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.team5419.fault.auto
package org.team5419.berkeleyLib.auto

enum class GroupType { Parallel, Serial }

Expand Down
2 changes: 1 addition & 1 deletion src/main/kotlin/org/team5419/fault/auto/AutoSelector.kt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.team5419.fault.auto
package org.team5419.berkeleyLib.auto

import edu.wpi.first.wpilibj.shuffleboard.ShuffleboardTab
import edu.wpi.first.wpilibj.smartdashboard.SendableChooser
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package org.team5419.frc2020.auto

import org.team5419.fault.math.units.inMeters
import org.team5419.berkeleyLib.math.units.inMeters
import edu.wpi.first.wpilibj.Timer
import edu.wpi.first.wpilibj.RobotController
import edu.wpi.first.networktables.NetworkTableInstance
import org.team5419.fault.subsystems.drivetrain.AbstractTankDrive
import org.team5419.fault.auto.Action
import org.team5419.fault.math.units.Second
import org.team5419.fault.math.units.SIUnit
import org.team5419.berkeleyLib.subsystems.drivetrain.AbstractTankDrive
import org.team5419.berkeleyLib.auto.Action
import org.team5419.berkeleyLib.math.units.Second
import org.team5419.berkeleyLib.math.units.SIUnit

public class CharacterizationAction(val drivetrain: AbstractTankDrive) : Action() {

Expand Down
14 changes: 7 additions & 7 deletions src/main/kotlin/org/team5419/fault/auto/DriveStraightAction.kt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package org.team5419.fault.auto
package org.team5419.berkeleyLib.auto

import org.team5419.fault.math.units.Meter
import org.team5419.fault.math.units.SIUnit
import org.team5419.fault.math.units.derived.LinearVelocity
import org.team5419.fault.math.units.derived.velocity
import org.team5419.fault.math.units.inches
import org.team5419.fault.subsystems.drivetrain.AbstractTankDrive
import org.team5419.berkeleyLib.math.units.Meter
import org.team5419.berkeleyLib.math.units.SIUnit
import org.team5419.berkeleyLib.math.units.derived.LinearVelocity
import org.team5419.berkeleyLib.math.units.derived.velocity
import org.team5419.berkeleyLib.math.units.inches
import org.team5419.berkeleyLib.subsystems.drivetrain.AbstractTankDrive
import kotlin.math.absoluteValue

class DriveStraightAction(
Expand Down
16 changes: 8 additions & 8 deletions src/main/kotlin/org/team5419/fault/auto/DriveTrajectoryAction.kt
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package org.team5419.fault.auto
package org.team5419.berkeleyLib.auto

import org.team5419.fault.trajectory.types.Trajectory
import org.team5419.fault.trajectory.types.TimedEntry
import org.team5419.fault.math.geometry.Pose2dWithCurvature
import org.team5419.fault.math.units.SIUnit
import org.team5419.fault.math.units.Second
import org.team5419.fault.subsystems.drivetrain.AbstractTankDrive
import org.team5419.fault.trajectory.followers.TrajectoryFollower
import org.team5419.berkeleyLib.trajectory.types.Trajectory
import org.team5419.berkeleyLib.trajectory.types.TimedEntry
import org.team5419.berkeleyLib.math.geometry.Pose2dWithCurvature
import org.team5419.berkeleyLib.math.units.SIUnit
import org.team5419.berkeleyLib.math.units.Second
import org.team5419.berkeleyLib.subsystems.drivetrain.AbstractTankDrive
import org.team5419.berkeleyLib.trajectory.followers.TrajectoryFollower

public class DriveTrajectoryAction(
private val drivetrain: AbstractTankDrive,
Expand Down
16 changes: 8 additions & 8 deletions src/main/kotlin/org/team5419/fault/auto/DriveTurnAction.kt
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package org.team5419.fault.auto
package org.team5419.berkeleyLib.auto

import org.team5419.fault.math.geometry.Rotation2d
import org.team5419.fault.math.units.SIUnit
import org.team5419.fault.math.units.derived.Radian
import org.team5419.fault.math.units.derived.degrees
import org.team5419.fault.math.units.derived.velocity
import org.team5419.fault.math.units.derived.AngularVelocity
import org.team5419.berkeleyLib.math.geometry.Rotation2d
import org.team5419.berkeleyLib.math.units.SIUnit
import org.team5419.berkeleyLib.math.units.derived.Radian
import org.team5419.berkeleyLib.math.units.derived.degrees
import org.team5419.berkeleyLib.math.units.derived.velocity
import org.team5419.berkeleyLib.math.units.derived.AngularVelocity

import org.team5419.fault.subsystems.drivetrain.AbstractTankDrive
import org.team5419.berkeleyLib.subsystems.drivetrain.AbstractTankDrive

// ALLOW for absolute turn in future (using rotation2d math maybe)
class DriveTurnAction(
Expand Down
36 changes: 18 additions & 18 deletions src/main/kotlin/org/team5419/fault/auto/RamseteAction.kt
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package org.team5419.fault.auto

import org.team5419.fault.math.units.SIUnit
import org.team5419.fault.math.units.Meter
import org.team5419.fault.math.units.meters
import org.team5419.fault.math.units.inMeters
import org.team5419.fault.math.units.seconds
import org.team5419.fault.math.units.inSeconds
import org.team5419.fault.math.units.derived.LinearVelocity
import org.team5419.fault.math.units.derived.velocity
import org.team5419.fault.math.units.derived.LinearAcceleration
import org.team5419.fault.math.units.derived.Volt
import org.team5419.fault.math.units.derived.volts
import org.team5419.fault.math.geometry.Vector2
import org.team5419.fault.subsystems.drivetrain.AbstractTankDrive
package org.team5419.berkeleyLib.auto

import org.team5419.berkeleyLib.math.units.SIUnit
import org.team5419.berkeleyLib.math.units.Meter
import org.team5419.berkeleyLib.math.units.meters
import org.team5419.berkeleyLib.math.units.inMeters
import org.team5419.berkeleyLib.math.units.seconds
import org.team5419.berkeleyLib.math.units.inSeconds
import org.team5419.berkeleyLib.math.units.derived.LinearVelocity
import org.team5419.berkeleyLib.math.units.derived.velocity
import org.team5419.berkeleyLib.math.units.derived.LinearAcceleration
import org.team5419.berkeleyLib.math.units.derived.Volt
import org.team5419.berkeleyLib.math.units.derived.volts
import org.team5419.berkeleyLib.math.geometry.Vector2
import org.team5419.berkeleyLib.subsystems.drivetrain.AbstractTankDrive
import edu.wpi.first.wpilibj.controller.RamseteController
import edu.wpi.first.wpilibj.controller.SimpleMotorFeedforward
import edu.wpi.first.wpilibj.geometry.Pose2d
Expand All @@ -24,7 +24,7 @@ import edu.wpi.first.wpilibj.trajectory.TrajectoryConfig
import edu.wpi.first.wpilibj.trajectory.TrajectoryGenerator
import edu.wpi.first.wpilibj.trajectory.constraint.DifferentialDriveVoltageConstraint
import edu.wpi.first.wpilibj.trajectory.constraint.DifferentialDriveKinematicsConstraint
import org.team5419.fault.math.units.Second
import org.team5419.berkeleyLib.math.units.Second

// refrences:
// https://github.com/wpilibsuite/allwpilib/blob/master/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/RamseteCommand.java
Expand All @@ -33,11 +33,11 @@ import org.team5419.fault.math.units.Second
public class RamseteAction(
val drivetrain: AbstractTankDrive,

val startingPose: org.team5419.fault.math.geometry.Pose2d,
val startingPose: org.team5419.berkeleyLib.math.geometry.Pose2d,

val intermidatePose: Array<Vector2<Meter>>,

val finalPose: org.team5419.fault.math.geometry.Pose2d,
val finalPose: org.team5419.berkeleyLib.math.geometry.Pose2d,

val maxVelocity: SIUnit<LinearVelocity>,
val maxAcceleration: SIUnit<LinearAcceleration>,
Expand Down
10 changes: 5 additions & 5 deletions src/main/kotlin/org/team5419/fault/auto/Routine.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.team5419.fault.auto
package org.team5419.berkeleyLib.auto

import org.team5419.fault.math.geometry.Pose2d
import org.team5419.fault.math.geometry.Vector2
import org.team5419.fault.math.units.derived.degrees
import org.team5419.fault.math.units.meters
import org.team5419.berkeleyLib.math.geometry.Pose2d
import org.team5419.berkeleyLib.math.geometry.Vector2
import org.team5419.berkeleyLib.math.units.derived.degrees
import org.team5419.berkeleyLib.math.units.meters
import java.util.concurrent.atomic.AtomicLong

class Routine(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package org.team5419.berkeleyLib.hardware

import org.team5419.berkeleyLib.math.units.SIKey
import org.team5419.berkeleyLib.math.units.SIUnit
import org.team5419.berkeleyLib.math.units.derived.Velocity
import org.team5419.berkeleyLib.math.units.native.NativeUnitModel

abstract class AbstractBerkeleyEncoder<T : SIKey>(
val model: NativeUnitModel<T>
) : BerkeleyEncoder<T> {
override val position: SIUnit<T> get() = model.fromNativeUnitPosition(rawPosition)
override val velocity: SIUnit<Velocity<T>> get() = model.fromNativeUnitVelocity(rawVelocity)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package org.team5419.berkeleyLib.hardware

import org.team5419.berkeleyLib.math.units.SIKey

abstract class AbstractBerkeleyMotor<T : SIKey> : BerkeleyMotor<T> {

override var useMotionProfileForPosition = false

override fun follow(motor: BerkeleyMotor<*>): Boolean {
println("Cross brand following not implemented yet!")
return false
}
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package org.team5419.fault.hardware
package org.team5419.berkeleyLib.hardware

import org.team5419.fault.math.units.SIKey
import org.team5419.fault.math.units.SIUnit
import org.team5419.fault.math.units.derived.Velocity
import org.team5419.fault.math.units.native.NativeUnit
import org.team5419.fault.math.units.native.NativeUnitVelocity
import org.team5419.berkeleyLib.math.units.SIKey
import org.team5419.berkeleyLib.math.units.SIUnit
import org.team5419.berkeleyLib.math.units.derived.Velocity
import org.team5419.berkeleyLib.math.units.native.NativeUnit
import org.team5419.berkeleyLib.math.units.native.NativeUnitVelocity

interface BerkeliumEncoder<T : SIKey> {
interface BerkeleyEncoder<T : SIKey> {

/**
* The velocity of the encoder in [T]/s
Expand Down
Loading