FTC7393 / FtcRobotController

BSD 3-Clause Clear License
3 stars 1 forks source link

Driver Control Updates [URGENT] #8

Closed robot256 closed 1 year ago

robot256 commented 1 year ago
zbrachinara commented 1 year ago

I notice that driver2.leftBumper is also used in this line. Are we going to reassign this trigger or should both of these coexist? https://github.com/FTC7393/FtcRobotController/blob/ed7e58bc27d514e000cdc76ed71442b962961117/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/PowerPlay/PowerPlayTeleOp.kt#L112

robot256 commented 1 year ago

Since they don't do anything now, we should remove that dead code and refuse them elsewhere. You can just check for dropperOuttake. If the coloect button is also pressed, it will overwrite the release command right after, which is good.

zbrachinara commented 1 year ago

Ok that works! For the fetcher slow mode functionality itself, it seems like there's no way to get preset movement any slower unless we define a custom PID or the tele-op temporarily enters a state to smoothly move the set point to the destination (which is then more or less just defining a custom PID). I've tentatively checked it off for now, but if we need preset movement to be slower as well, I think that should be another issue.

robot256 commented 1 year ago

You should get information from Roan on what he wants. For comparison, the Mecanum drive "slow mode" only affects the scaling of the joystick values. Preset speed might ve fine to stay fast. LinearSlide class will set the speed of the build-in PID if you change maxCorrectionPower to be less than 1. We do this for the lift.

Edit: Read the code and you already figured it out before my comment

zbrachinara commented 1 year ago

Changes are ready for review in #13

robot256 commented 1 year ago

Thanks, these look great! The only thing I would suggest is to move the PreCollect check to the end of the if-else structure, so it has the lowest priority of all the placer buttons. You don't want to prevent scoring because you accidentally press pre-collect early.

At some point I think it would be a good idea to strip out the four state machine classes that we aren't using in Scorer.kt, for the sake of my scroll wheel. We've figured out better ways to automate and semi-automate them at this point. You can make that a separate issue if you want.

zbrachinara commented 1 year ago

Cool, change is applied. I'll merge the pr and push the state machine removals directly.