Log in

View Full Version : PLZ Fix error


CyberTeam5713
16-02-2016, 10:13
I keep getting error :Error at edu.wpi.first.wpilibj.RobotBase.main(RobotBase.jav a:244): ERROR Unhandled exception: java.lang.RuntimeException: Code: -1029. HAL: Resource already allocated at [edu.wpi.first.wpilibj.hal.PWMJNI.allocatePWMChanne l(Native Method), edu.wpi.first.wpilibj.PWM.initPWM(PWM.java:117), edu.wpi.first.wpilibj.PWM.<init>(PWM.java:134), edu.wpi.first.wpilibj.SafePWM.<init>(SafePWM.java:35), edu.wpi.first.wpilibj.Talon.<init>(Talon.java:51), org.usfirst.frc.team5713.robot.Robot.robotInit(Rob ot.java:25), edu.wpi.first.wpilibj.IterativeRobot.startCompetit ion(IterativeRobot.java:72), edu.wpi.first.wpilibj.RobotBase.main(RobotBase.jav a:242)]

Joystick mXboxController = new Joystick(0); // this will drive the robot
Joystick controlStick = new Joystick(1); // this will be for function of the robot such as toggle the conveyor belt and etc.
Talon frontLeft = new Talon(3);
Talon frontRight = new Talon(2);
Talon rearRight = new Talon(0);
Talon rearLeft = new Talon(1);
public void robotInit() { // this code will be ran each time we power on the robot

mXboxController = new Joystick(0); // depends on the usb connected to computer
controlStick = new Joystick(1);
frontLeft = new Talon(3);
frontRight = new Talon(2);
rearLeft = new Talon(0);
rearRight = new Talon(1);
}


public void autonomousInit() { // triggers when we enter autonomous

frontLeft.enableDeadbandElimination(true);
frontLeft.set(-1.0);// dont forget to change speed to an int value -1.0 is full reverse and +1.0 is full forward also for foward on the y value -1 this may vary REMEBER!!!
rearLeft.enableDeadbandElimination(true);
rearLeft.set(+1.0);
frontRight.enableDeadbandElimination(true);
frontRight.set(-1.0);
rearRight.enableDeadbandElimination(true);
rearRight.set(+1.0);

}


public void autonomousPeriodic() { // this code runs periodically in autonomous
while (isAutonomous() && isEnabled()) {


}
}




public void teleopInit(){ // This triggers every time we enter telop mode.

mXboxController = new Joystick(0); // the number within the parathesis depends on the controllers usb order always check
controlStick = new Joystick(1);
frontLeft = new Talon(3);
frontRight = new Talon(2);
rearLeft = new Talon(0);
rearRight = new Talon(1);

}




public void teleopPeriodic() {
while (isOperatorControl() && isEnabled()) {




if(mXboxController.getRawButton(8)){
frontRight.set(1.0);


} if(mXboxController.getRawButton(7)){
frontLeft.set(1.0);
}

if(mXboxController.getRawButton(5)){
rearLeft.set(-1.0);
} if(mXboxController.getRawButton(6)){
rearRight.set(-1.0);
}

Timer.delay(0.01); } } // this will constantly update motors and speed controllers periodically
public void testPeriodic() {

LiveWindow.run(); // launches the smartdashboard that allows us to see inputs and out puts to the robot
}

}

pblankenbaker
16-02-2016, 11:31
You are attempting to construct your Talon and Joystick objects too many times. Try constructing them just once in robotInit().


Joystick mXboxController; // this will drive the robot
Joystick controlStick; // this will be for function of the robot such as toggle the conveyor belt and etc.

Talon frontLeft;
Talon frontRight;
Talon rearRight;
Talon rearLeft;

public void robotInit() { // this code will be ran each time we power on the robot

// Construct joysticks here
mXboxController = new Joystick(0); // depends on the usb connected to computer
controlStick = new Joystick(1);

// Construct Talons here
frontLeft = new Talon(3);
frontRight = new Talon(2);
rearLeft = new Talon(0);
rearRight = new Talon(1);
}


Hope that helps.

ghead
16-02-2016, 11:34
Not a java guy, but I can't imagine creating three instances of your joysticks and talons is a good thing. Try deleting the duplicate initialization in robotInit() and teleopInit() while waiting on someone better equipped to answer you.

<edit>Someone better equipped than I beat me to it. Good luck!</edit>

CyberTeam5713
16-02-2016, 12:02
Thank you