Skip to content

Organize autos - #30

Closed
CameronSkea wants to merge 443 commits into
mainfrom
Organize-Autos
Closed

Organize autos#30
CameronSkea wants to merge 443 commits into
mainfrom
Organize-Autos

Conversation

@CameronSkea

Copy link
Copy Markdown
Contributor

No description provided.

clrozeboom and others added 30 commits February 11, 2026 21:13
Update TestCommands to use new test control method names (indexer.configTestController -> indexer.configTestControls, climb.configTestController -> climb.configTestControls). In Pivot, move m_dcmotorSim.setAngularVelocity(0) to after m_smc.setEncoderPosition(...) in both lower and upper hard-limit branches and remove commented-out setState calls — this ensures the encoder position is applied before zeroing the simulated motor velocity and cleans up unused code.
Update ArmFeedforward constructor args
Enable "logLevel": "HIGH" for lifter, hopper, flywheel, and hood deploy configs. Update turret config to use PROFILED control, align sim PID to motor PID, add feedForward parameters, and raise max velocity/acceleration for more realistic profiled behavior. Fix controller mappings: Indexer test binding moved from right to left bumper, and Intake test binding simplified to only run the intake command.
Normalize units and update limits/gear representation for intake and launcher subsystems.

- intake/hopper.json: reset lower/upper hard/soft limits, startingAngle, and horizontalZero to 0/120/0 deg as appropriate; replace numeric "gearing" array with "gearStages": "1:5".
- launcher/flywheel.json: replace "gearing" with "gearStages": "1:18"; change mass from 2 kg to 5.1 lbs and radius from 0.05 m to 1.975 in.
- launcher/hood.json: convert length to 9.466 in; tighten angle limits and starting/horizontalZero to 30–60 deg (starting 30); set mass to 0.25 lbs; replace "gearing" with "gearStages": "11:28".

These edits standardize unit usage, gear representation, and update geometry/mass and angle limits for deployment configs.
Add controlAlgorithm entries to subsystem configs and increase spintake logging. lifter.json: controlAlgorithm set to "SIMPLE"; hopper.json: controlAlgorithm set to "PROFILED"; hood.json: controlAlgorithm set to "PROFILED". spintake.json: added "logLevel": "HIGH" for higher verbosity. These are configuration updates for motor/control behavior and logging.
Bump build metadata (GIT_REVISION -> 291, GIT_SHA, GIT_DATE, BUILD_DATE, BUILD_UNIX_TIME) and clear DIRTY flag (1 -> 0). Also change indexer button bindings to use the left bumper instead of the right bumper for both driver and operator so the shouldForceCommand()/shouldChurnCommand() pair is triggered by the left bumper.
Switch intake motor hardware in deployment JSON (controllerType: sparkflex -> talonfx, motorType: NeoVortex -> KrakenX44) and update gearing (from [3,4] to [2,1]). Move default-command setup out of the IntakeCommands constructor into a new setupDefaultCommands() method. Remove Intake.setupDefaultCommands() and adjust test controller bindings: lower right Y axis threshold to 0.01 and run hopper continuously with the axis value (whileTrue Commands.run) instead of a fixed 0.5 onTrue. Add SystemIdentification-based getHopperSysIdCommand(GenericSubsystem) and required imports to IntakeIOReal to provide a full sysid routine for the hopper motor.
Adjusted Turret PID values
Turret changes for PID
Co-Authored-By: CameronSkea <233858202+CameronSkea@users.noreply.github.com>
Add images and layout tweaks to simgui.json (carpet, field tags, GPA, robot) and remove/clean up many SmartDashboard entries and window visibility settings. Update turret system identification feedforward in turret.json (s=0.030215, v=0.00087341, a=0.98956). Apply small Java cleanups across subsystems and commands: wrap long LEDStrip calls, remove an unused import, normalize spacing/formatting (IndexerCommands, LauncherCommands, TestCommands, Launcher, LauncherIOReal, TurretControlPhysics), and reformat setHoodAngleLow for readability. No behavioral logic changes beyond the turret feedforward value update.
Adjust various launcher, turret, hood, and flywheel configuration and system-identification parameters; add telemetry and fix encoder/CAN IDs; disable intake simulation/use in robot code. Key changes: update simgui to hide System Joysticks window; lower intake log level and set OPEN_LOOP motor control; update flywheel/feedforward, invert motor, and correct gear ratio; change hood & turret to SIMPLE control with new PID/FF gains and updated gear stages and limits; change CANcoder IDs, CRT offsets and encoder inversion, and add SmartDashboard telemetry in LauncherIOReal; modify LauncherIO method signatures; tweak sysid routines (higher test voltages and adjusted durations); disable intake construction/buttons and test controller use; adjust several launcher preset RPMs and small lambda reformatting. These updates appear aimed at tuning performance and improving simulation/diagnostics.
Move Indexer state machine setup into dedicated methods, add Trigger-based transitions, and ensure Commands.run/runOnce include the indexer requirement. Call setDefaultCommands on the indexer and adjust state command lambdas to accept the subsystem. Replace direct enum == checks with compareTo() in Indexer state helpers. LauncherIOReal: add EasyCRT config field/telemetry, change simulated sensor values and absolute encoder offsets, and expose EasyCRT encoder/angle/status/error to SmartDashboard. Update simgui joystick GUID and remove disabled System Joysticks window entry.
Refactor intake and indexer hardware definitions and real IO wiring, add a transfer flywheel deployment, and apply several behavioral/tuning tweaks.

Highlights:
- Added transfer_flywheel.json subsystem definition for indexer transfer motors.
- Split spintake into lead/follow devices (spintake_lead.json, spintake_follow.json) and updated intake.json to reference them; renamed original spintake.json to spintake_flywheel.json.
- Removed redundant robotToMotor positioning entries from hopper.json and hood.json.
- IntakeIOReal: switched from FlyWheel to PercentControlMotor for spintake, wired lead/follow and updated run/update to use the new API.
- IndexerIOReal: set TransferFront to follow TransferBack (with inversion) to mirror motor wiring in real IO.
- IndexerCommands: disabled/commented out runTransferBack calls in several command states.
- Rebuilt: enabled intake subsystem and intake command bindings and default commands.
- LauncherIOReal: adjusted sensor simulation start values and inverted the absolute encoder offsets (sign changes) to correct mechanical zeroing.
- LauncherCommands: changed launcher state machine initial state to IDLE and adjusted a preset hood angle (1° -> 31°).
- LauncherIOSim: initialize intake simulation with 8 game pieces and use intake simulation count in updateSimulation.

These changes align deployment descriptors with the updated real IO wiring, enable the intake in the robot initialization, and apply sensor/preset tuning for launcher behavior.
5010TigerDynasty and others added 28 commits March 17, 2026 20:20
Columbus integration - Back to Rebuilt
Only run intake down when needed and timeout indexer
Pull Columbus Integration into Rebuilt
Update src/main/deploy/rebuilt_robot/cameras.json to replace the "quest.json" entry with "rear.json" so the rebuilt robot uses the rear camera configuration.
Replace hardcoded k2025ReefscapeAndyMark resource with kDefaultField when loading the AprilTagFieldLayout. This makes the code use the configured default field layout instead of the 2025 Reefscape AndyMark resource, improving portability and avoiding reliance on a season-specific resource.
Set the "folder" field for many PathPlanner .auto files (was null) to group routines into AllianceSide, Center, Left, Right, and Orbit. Also updated pathplanner/settings.json to populate the autoFolders list with those folder names so the UI can show the organized categories.
@clrozeboom clrozeboom closed this Apr 23, 2026
@clrozeboom
clrozeboom deleted the Organize-Autos branch July 3, 2026 19:16
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.