2017:Programming: Difference between revisions

From 1511Wookiee
Jump to navigationJump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 11: Line 11:
**<s>Controls process() call in disabled should pass DISABLED not TELEOP (Austin)</s>
**<s>Controls process() call in disabled should pass DISABLED not TELEOP (Austin)</s>
*Autonomoose
*Autonomoose
**Send auto choices and descriptions. Follow pattern of last year's AutoDashboardSend() function. Call this in Disabled() in thunderbot.
**<s>Send auto choices and descriptions. Follow pattern of last year's AutoDashboardSend() function. Call this in Disabled() in thunderbot.</s>
**DOCUMENT on wiki in VERY CLEAR AND PRECISE words, the starting location for each one (can edit/add to the strategy-provided google sheet)
**<s>DOCUMENT on wiki in VERY CLEAR AND PRECISE words, the starting location for each one (can edit/add to the strategy-provided google sheet)</s>
*Feedback
*Feedback
**Nothing right now
**Nothing right now
*Controls
*Controls
**Fix broken switch processing - call these universally (don't check "process()" - just send the state of the button). Still keep all this disabled for now until real controls are ready
**<s>Fix broken switch processing - call these universally (don't check "process()" - just send the state of the button). Still keep all this disabled for now until real controls are ready</s>
**<s>Move rumble setup from main joystick function into aux function</s>
**<s>Move rumble setup from main joystick function into aux function</s>
**<s>Add back in control for preheat. This should just tell the shooter to shoot. (so, if (buttonShoot || buttonPreheat) shooter->start_shoot(); else end_shoot() -- have to then handle enqueue separately for SHOOTING ONLY, not for preheat.</s>
**<s>Add back in control for preheat. This should just tell the shooter to shoot. (so, if (buttonShoot || buttonPreheat) shooter->start_shoot(); else end_shoot() -- have to then handle enqueue separately for SHOOTING ONLY, not for preheat.</s>
**Fix climber control. It was always going true/on. Currently forced to false because of this.
**<s>Fix climber control. It was always going true/on. Currently forced to false because of this</s>. I think I fixed it, &nbsp;-Austin
*Intake
*Intake
**Nothing right now
**Nothing right now
Line 37: Line 37:
**<s>Add new motor controller (talon) for "indexer".</s>
**<s>Add new motor controller (talon) for "indexer".</s>
**<s>Add functions to control it - needs to take an into shooter, away from shooter, and stop argument.</s>
**<s>Add functions to control it - needs to take an into shooter, away from shooter, and stop argument.</s>
**Document in wiki - use CAN ID 13 -- Positive values (voltage) cause spin TOWARDS/into shooter, negative out.
**<s>Document in wiki - use CAN ID 13 -- Positive values (voltage) cause spin TOWARDS/into shooter, negative out.</s>
**<s>Modify controls to call as needed - spin into shooter only when shooting (not preheat). Spin away from shooter whenever intaking balls.</s>
**<s>Modify controls to call as needed - spin into shooter only when shooting (not preheat). Spin away from shooter whenever intaking balls.</s>
**Use fixed speeds for both, but allow to adjust via dashboard (ask kate how to do this)
**<s>Use fixed speeds for both, but allow to adjust via dashboard (ask kate how to do this)</s>


== Coders: ==
== Coders: ==
Line 45: Line 45:
Intake &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Austin<br/>Shooter &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; K8<br/>Bucket &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;new<br/>Gear &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;Chase<br/>Drive base &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;???<br/>Autonomoose &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;K8 n/or Andrew n/or Austin<br/>climbing &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Calvin<br/>Feedback system &nbsp; &nbsp; &nbsp;Ethan/Zach<br/>Controls &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Josh
Intake &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Austin<br/>Shooter &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; K8<br/>Bucket &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;new<br/>Gear &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;Chase<br/>Drive base &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;???<br/>Autonomoose &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;K8 n/or Andrew n/or Austin<br/>climbing &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Calvin<br/>Feedback system &nbsp; &nbsp; &nbsp;Ethan/Zach<br/>Controls &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; Josh


== Autonomous ==
== Autonomoose ==


Measurements for crossing the baseline: 95 inches
Starting Locations:
 
Cross Baseline: Start anywhere along the wall as long as it isnt gonna crash into the airship
 
Any of the ones tht start with high boiler: Start lined up with the inner side of the robot along the outside of the tape outlining the key with one of the back corners against the wall
 
Center Gear: lined up with the center gear lift
 
Side gear: lined up where the back wall meets&nbsp;the boiler but completely flat against the back wall
 
 
 
measurements for crossing the baseline: 95 inches


== Programming Sub-pages and Links ==
== Programming Sub-pages and Links ==

Latest revision as of 17:29, 16 February 2017

General programming stuff relevant to all subsystems should be documented here.

Outstanding Tasks

Split up by subsystem - responsible veteran student in (), student(s) doing actual code, if different, in []. These are not in any particular order!

  • IO Map
    • Add entry for new indexer motor
  • Robot main
    • Autonomous selection will be overwritten in auto reset() call. Move Reset() calls BEFORE auto selection. (Austin)
    • Controls process() call in disabled should pass DISABLED not TELEOP (Austin)
  • Autonomoose
    • Send auto choices and descriptions. Follow pattern of last year's AutoDashboardSend() function. Call this in Disabled() in thunderbot.
    • DOCUMENT on wiki in VERY CLEAR AND PRECISE words, the starting location for each one (can edit/add to the strategy-provided google sheet)
  • Feedback
    • Nothing right now
  • Controls
    • Fix broken switch processing - call these universally (don't check "process()" - just send the state of the button). Still keep all this disabled for now until real controls are ready
    • Move rumble setup from main joystick function into aux function
    • Add back in control for preheat. This should just tell the shooter to shoot. (so, if (buttonShoot || buttonPreheat) shooter->start_shoot(); else end_shoot() -- have to then handle enqueue separately for SHOOTING ONLY, not for preheat.
    • Fix climber control. It was always going true/on. Currently forced to false because of this. I think I fixed it,  -Austin
  • Intake
    • Nothing right now
  • Shooter
    • Process() -- Sensor detection needs fixing, see commented out "broken = false". Can't just set broken absolutely. Must combine this with "Set_Broken" value to determine actual broken state.
    • Need SetControlMode when we switch from broken back to not broken (similar to working to broken setup). Again, be sure to call Set(something) immediately since units will change!
    • Remove preheat function declarations in .h to avoid confusion.
  • Gear
    • Remove printf's. Use Debug() and dashboard sends instead
    • Remove redundant and never-running code in Is_Spike_Engaged()
  • Drive
    • Debug() -- send dashboard key "thunderdashboard_gyro". Numeric. Set to 1 until gyro is calibrated. Set to 0 after.
    • Change to constructing Spark's not Jaguar's
  • Climbing
    • Nothing right now
  • Bucket
    • Add new motor controller (talon) for "indexer".
    • Add functions to control it - needs to take an into shooter, away from shooter, and stop argument.
    • Document in wiki - use CAN ID 13 -- Positive values (voltage) cause spin TOWARDS/into shooter, negative out.
    • Modify controls to call as needed - spin into shooter only when shooting (not preheat). Spin away from shooter whenever intaking balls.
    • Use fixed speeds for both, but allow to adjust via dashboard (ask kate how to do this)

Coders:

Intake                       Austin
Shooter                     K8
Bucket                      new
Gear                        Chase
Drive base                ???
Autonomoose            K8 n/or Andrew n/or Austin
climbing                    Calvin
Feedback system      Ethan/Zach
Controls                    Josh

Autonomoose

Starting Locations:

Cross Baseline: Start anywhere along the wall as long as it isnt gonna crash into the airship

Any of the ones tht start with high boiler: Start lined up with the inner side of the robot along the outside of the tape outlining the key with one of the back corners against the wall

Center Gear: lined up with the center gear lift

Side gear: lined up where the back wall meets the boiler but completely flat against the back wall


measurements for crossing the baseline: 95 inches

Programming Sub-pages and Links

Programming Archives