2019:Programming
From 1511Wookiee
Jump to navigationJump to search
General programming stuff relevant to all subsystems should be documented here.
Outstanding Tasks
Robot Code
Split up by subsystem - responsible veteran student or mentor in (), student(s) doing actual code, if different, in []. These are not in any particular order!
- Feedback
- Bring over "editable" methods/code from last year (Josh)
- Main Robot
- Add reset & process calls to all subsystems (Josh)
- Add PCM IDs to iomap (Josh)
- Game Pieces
- Refine & finalize interface (Kyle)
- Implement (Kyle)
- Cargo (Kyle)
Remove sensor use and change over entirely to current sensing, including for isCargoBeingHeld()Make intake/outtake speed constants at top of fileUse iomap names for solenoid IDsDon't do current computations when motor is not running (and maybe also not when outtaking)When current limit is hit, stop motors (don't wait until next process() call)Remove commented out code if not neededcanIntake is not initializedcurrent should not be a class variable, it's only used in process()No reset() implementation -- this should set up the same as it did at startupThings in debug() need names - can't use "" empty string!
- Hatch (Kyle)
Change solenoid to use iomap addressesisHookUp is never set? Set in constructor and whenever the hook changes positionThings in debug() need names - can't use "" empty string!Add debug/feedback for "is broken"constructor: if initial position is DOWN, shouldn't hasOuttaked be true? Also should set solenoid to matchFix indentation in process()- In not broken operation, DOWN should make it stay down until the limit switch is no longer triggered *or* it is told to go UP again
Implement reset()
- Electrical (Jeff)
- Check Polarities of Cylinder sensors on IO map
- Check polarity of elevator sensors
- Check polarity of Hab overplatform sensors
- Hab Cylinder sensors --- if we are using all 6 of these, order more!
- Add camera servo to iomap
- Hab
setHabBroken() - explain briefly what this does to operation of other commandsSolenoid constructor invocations are wrongConstructor -- initialization order must match the declaration orderreset() -- set up as in constructor and stop motor directly- xxCrossedLevel() -- Check polarities after fixing wiki with electrical
- xxCylindersExtended() and retracted() -- check polarities after electrical fixes IO map
frontCylindersRetracted() only checks one sensor while others check both?Debug for automated is wrongDebug for frontCross is wrongDebug backRRetract is wrongautoLift() -- can this simply set automated = true and resume at the last step it left off on? Simplifies things as your states only change by one set of criteria and in one placeSteps 3 & 4 look wrongif (broken....) in process() needs work -- if auto is getting turned off it should be done when broken is set false, not laterprocess() automated steps should move above action processing so that things like turning off drive are done as soon as they are noticed not the next time aroundstopAutoLift should probably set driveDriveBase false?So we are driving the back wheels for the "half on" case? THought drive base was doing this?When not automated and they do drive() followed by retractBack() or other command, nothing stops the drive
- Elevator (Josh)
- Add way to control pivot
- Implement
- Vision (Ben)
- Document a plan for the visual feedback
- Consider net tables variables to start/stop streaming
- Document a plan for rio <> Pi communication (net tables variables, etc)
- Finish camera mount(s)
- Order USB cables etc.
- Old robot fixing:
- Rewrite trash bot (2015) from scratch using 2019 libraries and image. DO NOT IMAGE UNTIL YOU HAVE CODE MOSTLY DONE. (Talk to Jeff before starting, low priority)
Scouting App
In no particular order!
- Jeff
- Nothing yet!
- Alex
- Nothing yet!
Subsystem Assignments
- Controls: Insert Mentor person and Student persons here!
- Insert other subsystem TBD: Insert Mentor person and Student persons here!
Feedback
Match time for driver station/raspi: raspi_time_remaining
Autonomous
Insert auto stuff here!