View Single Post
  #4   Spotlight this post!  
Unread 30-01-2017, 07:17
YairZiv's Avatar
YairZiv YairZiv is offline
Registered User
FRC #5951 (Makers Assemble)
Team Role: Programmer
 
Join Date: Oct 2016
Rookie Year: 2016
Location: Tel Aviv, Israel
Posts: 41
YairZiv is an unknown quantity at this point
Re: Error with joystick controller and driver station

Quote:
Originally Posted by CocoGuo View Post
I am the programmer from team Yellow Jacket 3345, the driver station is giving me error about the joysticks are not plug in,but ti is plug in right and all show green but we all check the program is no error.And we don't know the problems.

https://www.dropbox.com/s/5bczzz5frj...nshot.png?dl=1

Code:
package org.usfirst.frc.team3345.robot;

import edu.wpi.first.wpilibj.IterativeRobot;
import edu.wpi.first.wpilibj.smartdashboard.SendableChooser;
import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.Spark;
import edu.wpi.first.wpilibj.Talon;

public class Robot extends IterativeRobot {
	final String defaultAuto = "Default";
	final String customAuto = "My Auto";
	String autoSelected;
	SendableChooser<String> chooser = new SendableChooser<>();
	private RobotDrive robotDrive1, robotDrive2;
	private Joystick leftJoystick, rightJoystick;
	private Spark gearMotor;
	private Talon fuelGate, scissorLift;
	private double driveBaseSpeed = 1.0;
	private double scissorLiftSpeed = 1.0;
	private double fuelGateSpeed = 1.0;
	private double gearMotorSpeed = 1.0;

	@Override
	public void robotInit() {
		chooser.addDefault("Default Auto", defaultAuto);
		chooser.addObject("My Auto", customAuto);
		SmartDashboard.putData("Auto choices", chooser);
		//spark and function part
		robotDrive1 = new RobotDrive(1, 2);
		robotDrive2 = new RobotDrive(3, 4);
		fuelGate = new Talon(5);
		scissorLift = new Talon(6);
		gearMotor = new Spark(0);
		leftJoystick = new Joystick(1);
		rightJoystick = new Joystick(2);
	}

	@Override
	public void autonomousInit() {
		autoSelected = chooser.getSelected();
		// autoSelected = SmartDashboard.getString("Auto Selector",
		// defaultAuto);
		System.out.println("Auto selected: " + autoSelected);
	}

	@Override
	public void autonomousPeriodic() {
		switch (autoSelected) {
		case customAuto:
			// Put custom auto code here
			break;
		case defaultAuto:
		default:
			// Put default auto code here
			robotDrive1.arcadeDrive(0.5, 0.0);
			robotDrive2.arcadeDrive(0.5, 0.0);
			gearMotor.set(0.5);
			fuelGate.set(0.5);
			scissorLift.set(0.5);
			break;
		}
	}

	@Override
	public void teleopPeriodic() {
		while(true) {
			robotDrive1.arcadeDrive(leftJoystick.getY()*driveBaseSpeed, rightJoystick.getX());
			robotDrive2.arcadeDrive(leftJoystick.getY()*driveBaseSpeed, rightJoystick.getX());
			gearMotor.set(rightJoystick.getY()*gearMotorSpeed);
			
			if(rightJoystick.getRawButton(4)) {
				fuelGate.set(1.0*fuelGateSpeed);
			} else if(rightJoystick.getRawButton(5)) {
				fuelGate.set(-1*fuelGateSpeed);
			} else {
				fuelGate.set(0);
			}
			
			if(rightJoystick.getRawButton(6)) {
				scissorLift.set(1.0*scissorLiftSpeed);
			} else if(rightJoystick.getRawButton(7)) {
				scissorLift.set(-1*scissorLiftSpeed);
			} else {
				scissorLift.set(0);
			}
		}
	}

	@Override
	public void testPeriodic() {
	}
}
The joystick are counted from 0, if you look in the SmartDashboard in the USB devices sub-folder, you see that near each joystick there's a number, that is the number in the constructor for Joystick. So if you plugged 2 joysticks, and they were in the first 2 positions, but in the constructor you put 1 and 2, it will not find a device in port 2, that will give you an error.

Sorry for the long comment, here's a potato (head).

.-"'"-.
| |
(`-._____.-')
.. `-._____.-' ..
.', :./'.== ==.`\.: ,`.
: ( : ___ ___ : ) ;
'._.: |0| |0| :._.'
/ `-'_`-' \
_.| / \ |._
.'.-| ( ) |-.`.
//' | .-"`"`-'"`"-. | `\\
|| | `~":-...-:"~` | ||
|| \. `---' ./ ||
|| '-._ _.-' ||
/ \ _/ `~:~` \_ / \
||||\) .-' / \ `-. (/||||
\||| (`.___.')-(`.___.') |||/
'"' `-----' `-----' '"'

(Might come out a little mashed)
Reply With Quote