|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
||||
|
||||
|
Joysticks not reading
I am reprogramming our 2014 robot, and the joysticks will not read in the code. However, the DS USB port tab does read the values properly. I have also tried multiple different controllers to no avail. This is using the pre-2015 control system.
Robot.java Code:
package edu.wpi.first.wpilibj.templates;
import edu.wpi.first.wpilibj.IterativeRobot;
import edu.wpi.first.wpilibj.Joystick;
public class Robot extends IterativeRobot {
Joystick driveStick;
public void robotInit() {
Storage.createObjects();
driveStick = new Joystick(1);
}
public void autonomousPeriodic() {
}
public void teleopInit() {
}
public void teleopPeriodic() {
System.out.println(driveStick.getRawAxis(4));
}
public void testPeriodic() {
}
}
Code:
package edu.wpi.first.wpilibj.templates;
import edu.wpi.first.wpilibj.Joystick;
import edu.wpi.first.wpilibj.RobotDrive;
import edu.wpi.first.wpilibj.Talon;
public class Storage {
public static Talon leftTalon1, leftTalon2, rightTalon1, rightTalon2;
public static RobotDrive drive;
public static void createObjects() {
leftTalon1 = new Talon(RobotMap.LEFT_TALON_1);
leftTalon2 = new Talon(RobotMap.LEFT_TALON_2);
rightTalon1 = new Talon(RobotMap.RIGHT_TALON_1);
rightTalon2 = new Talon(RobotMap.RIGHT_TALON_2);
drive = new RobotDrive(leftTalon1, leftTalon2, rightTalon1, rightTalon2);
drive.setSafetyEnabled(true);
}
}
Code:
package edu.wpi.first.wpilibj.templates;
public class RobotMap {
public final static int LEFT_TALON_1 = 3;
public final static int LEFT_TALON_2 = 4;
public final static int RIGHT_TALON_1 = 1;
public final static int RIGHT_TALON_2 = 2;
public final static int LEFT_INTAKE = 7;
public final static int RIGHT_INTAKE = 8;
public final static int INTAKE_JAGUAR = 2;
public final static int CATAPULT_LIMIT = 9;
public final static int CATAPULT_LEFT = 5;
public final static int CATAPULT_RIGHT = 4;
}
Anyone got any ideas? I have no clue. Last edited by Poseidon5817 : 12-05-2015 at 18:28. |
|
#2
|
|||||
|
|||||
|
Re: Joysticks not reading
are you trying to deloy your code with eclipse? That might not work at all, go back to netbeans
|
|
#3
|
||||
|
||||
|
Re: Joysticks not reading
Quote:
After a quick check, the Joystick instance is non-null, it is being created, but it is only returning 0's. I am using a red Afterglow Xbox 360 controller. Last edited by Poseidon5817 : 12-05-2015 at 18:54. |
|
#4
|
|||||
|
|||||
|
Re: Joysticks not reading
Have you tried printing values in autonomous init? robot init? just to have a look if your code actually runs
![]() |
|
#5
|
||||
|
||||
|
Re: Joysticks not reading
robotInit() runs. I haven't tested autonomousInit(). It still works in old projects but won't work in this one.
Last edited by Poseidon5817 : 12-05-2015 at 19:51. |
|
#6
|
|||||
|
|||||
|
Re: Joysticks not reading
As I recall, the axis numbers changed from 2014 to 2015. Oh well, joystick axis 4 appears to be the horizontal on the right joystick both years.
Is your controller perhaps mapping to a different number than control 1? Have you tried 0 or 2 as the argument to new Joystick() in robotInit? Actually, even easier as you seem to have the hardware, you could try plugging in "multiple different controllers" at the same time and see if any of them works. |
|
#7
|
||||
|
||||
|
Re: Joysticks not reading
Quote:
|
|
#8
|
|||||
|
|||||
|
Re: Joysticks not reading
also, the joystick mapping start at 0, so try changing your joystick port on your DS in the usb section
|
|
#9
|
|||||
|
|||||
|
Re: Joysticks not reading
Did you back-load (or do you still have) the 2014 driver station software installed on your classmate/laptop, or are you running 2015 driver station? I understand that there were significant protocol changes from 2014 to 2015.
|
|
#10
|
||||
|
||||
|
Re: Joysticks not reading
I am running the 2015 DS with the option for 2014 DS and FMS mode selected.
|
|
#11
|
||||
|
||||
|
Re: Joysticks not reading
Quote:
From the wpilib screensteps documentation: Quote:
|
|
#12
|
||||
|
||||
|
Re: Joysticks not reading
Regardless, the joystick reads in our main program (although axis mapping is messed up), but not this one.
|
|
#13
|
|||||
|
|||||
|
Re: Joysticks not reading
By "our main program", do you mean the driver station? If so, then that's what Pault was saying would happen. It appears that the legacy mode is only for connections via the FMS, not direct connections. Here, it's not FMS that is the old version, but the robot computer. I believe that you will have to run the 2014 driver station or a work alike.
|
|
#14
|
||||
|
||||
|
Re: Joysticks not reading
By main program I meant our main robot code from last year. The joystick returns values when the robot runs that program, but there is no difference (that I see) in how the joysticks are created and called in the new program, and it does not work.
Last edited by Poseidon5817 : 13-05-2015 at 09:44. |
|
#15
|
||||
|
||||
|
Re: Joysticks not reading
Just an update, it WAS the joystick ports that were wrong. I created the Joystick object in port 1 and moved the controller to 0 instead of 1 on the DS and it worked. Thanks for the help guys!
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|