-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
alliance, auto selectors publish booleanEvents when changed
- Loading branch information
1 parent
bc53932
commit 018e9c0
Showing
6 changed files
with
118 additions
and
87 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,43 @@ | ||
package frc.lib; | ||
|
||
import edu.wpi.first.wpilibj.DigitalInput; | ||
import edu.wpi.first.wpilibj.event.BooleanEvent; | ||
import edu.wpi.first.wpilibj.event.EventLoop; | ||
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; | ||
import edu.wpi.first.wpilibj2.command.SubsystemBase; | ||
import frc.robot.Constants.AutoConstants.AllianceColor; | ||
|
||
import java.util.function.BooleanSupplier; | ||
|
||
public class AllianceSelector extends SubsystemBase{ | ||
public class AllianceSelector { | ||
|
||
private AllianceColor m_currentColor; | ||
private DigitalInput m_allianceSelectionSwitch; | ||
|
||
private EventLoop m_loop; | ||
|
||
public AllianceSelector(int port) { | ||
this.m_allianceSelectionSwitch = new DigitalInput(port); | ||
} | ||
|
||
public BooleanSupplier fieldRotatedSupplier() { | ||
return () -> m_allianceSelectionSwitch.get(); | ||
private boolean updateAlliance() { | ||
AllianceColor m_newColor = | ||
m_allianceSelectionSwitch.get() ? AllianceColor.Red : AllianceColor.Blue; | ||
if (m_newColor == m_currentColor) return false; | ||
else { | ||
m_currentColor = m_newColor; | ||
return true; | ||
} | ||
} | ||
|
||
public BooleanEvent changedAlliance = new BooleanEvent(m_loop, () -> updateAlliance()); | ||
|
||
public boolean fieldRotated() { | ||
return m_currentColor.equals(AllianceColor.Red); | ||
} | ||
|
||
public AllianceColor getAllianceColor() { | ||
return m_allianceSelectionSwitch.get() ? AllianceColor.Red : AllianceColor.Blue; | ||
return m_currentColor; | ||
} | ||
|
||
@Override | ||
public void periodic() { | ||
public void disabledPeriodic() { | ||
m_loop.poll(); | ||
SmartDashboard.putString("Alliance Color", getAllianceColor().name()); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package frc.lib; | ||
|
||
import frc.robot.Constants.AutoConstants.AllianceColor; | ||
import frc.robot.autos.ChoreoAuto; | ||
|
||
public class AutoOption { | ||
private AllianceColor m_color; | ||
private int m_option; | ||
private ChoreoAuto m_auto; | ||
|
||
public AutoOption(AllianceColor color, int option, ChoreoAuto auto) { | ||
this.m_color = color; | ||
this.m_option = option; | ||
this.m_auto = auto; | ||
} | ||
|
||
public AutoOption(AllianceColor color, int option) { | ||
this.m_color = color; | ||
this.m_option = option; | ||
this.m_auto = null; | ||
} | ||
|
||
public AllianceColor getColor() { | ||
return this.m_color; | ||
} | ||
|
||
public int getOption() { | ||
return this.m_option; | ||
} | ||
|
||
public ChoreoAuto getChoreoAuto() { | ||
return this.m_auto; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
package frc.robot.autos; | ||
|
||
public class ExampleAuto extends ChoreoAuto { | ||
|
||
@Override | ||
public String getName() { | ||
return "Example Auto"; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters