2019:Programming: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
No edit summary
No edit summary
Line 2: Line 2:
= Outstanding Tasks =
= Outstanding Tasks =


<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output">
== Robot Code ==
== Robot Code ==
Line 16: Line 17:
**Implement (Kyle)   
**Implement (Kyle)   
*Cargo (Kyle)  
*Cargo (Kyle)  
**Remove sensor use and change over entirely to current sensing, including for isCargoBeingHeld()  
**<s>Remove sensor use and change over entirely to current sensing, including for isCargoBeingHeld()</s>
**Make intake/outtake speed constants at top of file  
**<s>Make intake/outtake speed constants at top of file</s>
**Use iomap names for solenoid IDs  
**<s>Use iomap names for solenoid IDs</s>
**Don't do current computations when motor is not running (and maybe also not when outtaking)  
**<s>Don't do current computations when motor is not running (and maybe also not when outtaking)</s>
**When current limit is hit, stop motors (don't wait until next process() call)  
**<s>When current limit is hit, stop motors (don't wait until next process() call)</s>
**Remove commented out code if not needed  
**<s>Remove commented out code if not needed</s>
**canIntake is not initialized  
**<s>canIntake is not initialized</s>
**current should not be a class variable, it's only used in process()  
**<s>current should not be a class variable, it's only used in process()</s>
**No reset() implementation -- this should set up the same as it did at startup  
**<s>No reset() implementation -- this should set up the same as it did at startup</s>
**Things in debug() need names - can't use "" empty string!   
**<s>Things in debug() need names - can't use "" empty string!</s>    
*Hatch (Kyle)  
*Hatch (Kyle)  
**Change solenoid to use iomap addresses  
**<s>Change solenoid to use iomap addresses</s>
**isHookUp is never set? Set in constructor and whenever the hook changes position  
**<s>isHookUp is never set? Set in constructor and whenever the hook changes position</s>
**Things in debug() need names - can't use "" empty string!  
**<s>Things in debug() need names - can't use "" empty string!</s>
**Add debug/feedback for "is broken"  
**<s>Add debug/feedback for "is broken"</s>
**constructor: if initial position is DOWN, shouldn't hasOuttaked be true? Also should set solenoid to match  
**<s>constructor: if initial position is DOWN, shouldn't hasOuttaked be true? Also should set solenoid to match</s>
**Fix indentation in process()  
**<s>Fix indentation in process()</s>
**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  
**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()   
**<s>Implement reset()</s>    
*Electrical (Jeff)  
*Electrical (Jeff)  
**Check Polarities of Cylinder sensors on IO map  
**Check Polarities of Cylinder sensors on IO map  
Line 71: Line 72:
*Old robot fixing:  
*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)   
**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)   
</div>
</div>
</div>



Revision as of 09:25, 3 February 2019

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 file
    • Use iomap names for solenoid IDs
    • Don'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 needed
    • canIntake is not initialized
    • current 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 startup
    • Things in debug() need names - can't use "" empty string!
  • Hatch (Kyle)
    • Change solenoid to use iomap addresses
    • isHookUp is never set? Set in constructor and whenever the hook changes position
    • Things 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 match
    • Fix 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 commands
    • Solenoid constructor invocations are wrong
    • Constructor -- initialization order must match the declaration order
    • reset() -- 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 wrong
    • Debug for frontCross is wrong
    • Debug backRRetract is wrong
    • autoLift() -- 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 place
    • Steps 3 & 4 look wrong
    • if (broken....) in process() needs work -- if auto is getting turned off it should be done when broken is set false, not later
    • process() 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 around
    • stopAutoLift 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!

 

Programming Archives