Skip to content

Introduce new framework (passive subsystems & enterable states)#113

Merged
bczdog merged 144 commits intomainfrom
rewrite
Jul 7, 2025
Merged

Introduce new framework (passive subsystems & enterable states)#113
bczdog merged 144 commits intomainfrom
rewrite

Conversation

@therekrab
Copy link
Contributor

@therekrab therekrab commented May 22, 2025

This looks good, but definitely needs more testing and review

therekrab and others added 30 commits May 2, 2025 20:31
I still need to fine-tune the new algorithm, it's not the best right
now.
Also fixed coral rollers' lack of release() calls
When a command has the .onlyIf() and a .finallyDo() the .finallyDo()
should come before the .onlyIf(), not after. Otherwise, the .finallyDo()
will be called even when the regular action never happened.

The command must be declared IN FULL before it's restricted. Adding
.finallyDo() modifies the behavior of the command, so it comes before
the command is restricted.
Separated subsystem SmartDashboard puts and gets by groups

For example, there's now a coral group that contains all the coral
updates.

In the future, a wrapper class could be used, like our Logger
(org.slf4j) that would easily enable/disable smart dashboard writes for
nonessential stuff.
This also creates the package frc.robot.subsystems.algae, which contains
everythign for algae.
create package frc.robot.subsystems.coral
therekrab and others added 26 commits June 25, 2025 13:01
We were getting messages about not using FILE appender, so I commeted it
out.
This breaks up simple stuff, like the IO wrapper for cameras, and
apriltag-related stuff.

This should help to avoid redundant code, or a super large vision/
folder.

All vision that has to do with localization is in a localization
package, and anything that uses april tags has AprilTag in the name.
This creates large-ish names, so formatting across the project may need
to be remedied.
This better matches all other IO structures in code; there's no reason
the camera io shouldn't be the same.
This introduces a system that can compute the field-relative position of
algae from object detection, so it's pretty neat.
This shouldn't have much of an impact on CPU performance. Every cycle,
it runs the Runnable () -> {}, so it's really not doing much. However,
if something happens and it looks like the robot's lagging again, we can
comment out the line in robotPeriodic() to disable even that.
This allows us to change just how fast the robot is allowed to spin.
- also added slow autopilot.
- I have to find a better way to do Modifiers becase they're the most verbose thing in the history of ever
@bczdog bczdog merged commit f5f8c04 into main Jul 7, 2025
1 check passed
@bczdog bczdog deleted the rewrite branch July 7, 2025 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments