Joystick not initialized Error

Hi,

I’m using one joystick and when I added it, I’m getting an error that the Joystick was not initialized in the constructor.

I’d really appreciate help. I also had to comment out the default command because of the errors it was causing.

OI::OI() {
	// Process operator interface input here.
        // BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS

	joystick = new Joystick(0);
	
     

        // SmartDashboard Buttons
	SmartDashboard::PutData("Drive_Arcade", new Drive_Arcade());

	SmartDashboard::PutData("Autonomous Command", new AutonomousCommand());

	SmartDashboard::PutData("Lift_Up", new Lift_Up());

	SmartDashboard::PutData("Lift_Down", new Lift_Down());

	SmartDashboard::PutData("Drive_To_Platform", new Drive_To_Platform());

	SmartDashboard::PutData("Backup", new Backup());


    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}

// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=FUNCTIONS

Joystick* OI::getJoystick() {
	return joystick;
}

Is joystick declared so that these two methods are actually referring to the same variable, and is it something which is a valid type for Joystick *? If not, initializing the one will not initialize the other.

Thank you for responding GeeTwo!

I did have two methods referring to the same variable.

Now I just get an error for the setDefaultCommand still.

It appears that the joystick is not properly initialized.

I get the following errors now:

Description Resource Path Location Type
The type ‘Joystick’ must implement the inherited pure virtual method ‘GenericHID::GetPOV’ OI.cpp /GrabNGo/src line 30 Code Analysis Problem
The type ‘Joystick’ must implement the inherited pure virtual method ‘GenericHID::GetRawAxis’ OI.cpp /GrabNGo/src line 30 Code Analysis Problem
The type ‘Joystick’ must implement the inherited pure virtual method ‘GenericHID::GetRawButton’ OI.cpp /GrabNGo/src line 30 Code Analysis Problem
The type ‘Lift_Down’ must implement the inherited pure virtual method ‘ITableListener::ValueChanged’ OI.cpp /GrabNGo/src line 41 Code Analysis Problem
The type ‘Lift_Up’ must implement the inherited pure virtual method ‘ITableListener::ValueChanged’ OI.cpp /GrabNGo/src line 39 Code Analysis Problem

Did you try indexing?

Yes,

I tried indexing. I am going to pull up the documentation to see how to correctly implement it.

These three are the most obvious issue:

Joystick is a wpilib class, so it should inherit everything from GenericHID, with implementations.
From the opening paragraph in the javadoc for Joystick in WPIlibj (I’m assuming C/C++ is similar):

Handle input from standard Joysticks connected to the Driver Station. This class handles standard input that comes from the Driver Station. Each time a value is requested the most recent value is returned. There is a single class instance for each joystick and the mapping of ports to hardware buttons depends on the code in the driver station.

Three things I can think of to check:

  1. Is Joystick in this context wpilib.Joystick, or something else?
  2. Are you using a controller which does not match the description of the Joystick class?
  3. Did you include configuration/code to map the joystick ports to hardware buttons in your Driver Station?

“Joystick was not initialized in the constructor” is not an error. It is a warning. You should still be able to build (FRCUserProgram file should still appear under Binaries).

I can reproduce this by creating a new Commandbased C++ project, adding a Joystick * joystick to IO header and heap allocating it in the constructor just as you have.

Clean the project, rebuild the index, right-click delete the errors and warnings in the “Problems” Tab, then full-rebuild.

At this point the warning will be gone.

You will will still see this warning…

libstdc++.so.6, needed by :\Users\ozrie_000/wpilib/cpp/current/lib\libFRC_NetworkCommunication.so.1.5.0

… that’s ok, you should still get a new FRCUserProgram executable.

Thank you for responding Ozrien!

After rebuilding I get the following error:

Description Resource Path Location Type
Program “make” not found in PATH GrabNGo C/C++ Problem

I do see that the build did complete though! Wooo Whooo!

Now I can help the team work on the autonomous modes.:slight_smile: :slight_smile: