![]() |
Running Commands
Okay so, I pretty much have my entire program done (except for the autonomous), and tried to test it out on our robot. I got everything hooked up, all the lights were on on the robot, and the driver station was giving me the go ahead. Once I hit enable though, nothing happens. I'm thinking there's a problem with my program, namely in making all of the code I wrote actually run.
In the Robot.java class (the one that has all of the Scheduler.getinstance.run() lines), do I need to run my commands for teleop and autonomous there? Or do I just leave it as is? And, if I do need to run my commands from there, how do I go about doing that? (I know how to call and run a method from an alternate class, but not the entire alternate class itself) package org.usfirst.frc4993.Mater; import edu.wpi.first.wpilibj.IterativeRobot; import edu.wpi.first.wpilibj.command.Command; import edu.wpi.first.wpilibj.command.Scheduler; import edu.wpi.first.wpilibj.livewindow.LiveWindow; import org.usfirst.frc4993.Mater.commands.*; import org.usfirst.frc4993.Mater.subsystems.*; public class Robot extends IterativeRobot Command autonomousCommand; public static OI oi; public static DriveTrain driveTrain; public static Arms arms; public void robotInit() { RobotMap.init(); driveTrain = new DriveTrain(); arms = new Arms(); oi = new OI(); autonomousCommand = new AutonomousDrive(); autonomousCommand = new AutonoumousLift(); } public void disabledInit(){ } public void disabledPeriodic() { Scheduler.getInstance().run(); } public void autonomousInit() { if (autonomousCommand != null) autonomousCommand.start(); } public void autonomousPeriodic() { Scheduler.getInstance().run(); } public void teleopInit() { if (autonomousCommand != null) autonomousCommand.cancel(); } public void teleopPeriodic() { Scheduler.getInstance().run(); } public void testPeriodic() { LiveWindow.run(); } } |
Re: Running Commands
Quote:
If nothing is happening also in Teleop when you enable, you likely don't have a default command for your drivetrain subsystem. I'm presuming DriveTrain extends Subsystem. If so, you can add something like this: Code:
public class DriveTrain extends Subsystem {See notes in red below that I have injected into your code: Code:
package org.usfirst.frc4993.Mater; |
Re: Running Commands
Thank you for the help! I'll look into posting my code on github or bitbucket for further help after making the changes you recommended.
|
Re: Running Commands
So, I have my entire program uploaded onto GitHub here:
https://github.com/KenzieShay/FRC-2015/tree/SideBranch After fixing the errors that Craig pointed out, I finally got the robot to respond to the Drive Station, but it was only reacting to one joystick instead of the two of them. The wheels would both go (although it opposite directions :confused: ) when I moved the one joystick, but nothing would happen when I moved the other. I tried switching the order of the joysticks around in the driver station usb port tab, and the same thing happened, but with the joystick that was previously useless (so pretty much which ever joystick is in the 0 order of the drive station works). I tried to fix that, and now all I get are error messages from the drive station. I feel like there is most likely a simple answer, but I'm so inexperienced, I'll probably never figure it out in time. :ahh: |
| All times are GMT -5. The time now is 11:45. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi