Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   C/C++ (http://www.chiefdelphi.com/forums/forumdisplay.php?f=183)
-   -   Joystick not initialized Error (http://www.chiefdelphi.com/forums/showthread.php?t=135555)

Technette 03-07-2015 06:47 PM

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.

Code:

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;
}


GeeTwo 03-07-2015 06:56 PM

Re: Joystick not initialized Error
 
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.

Technette 03-07-2015 08:02 PM

Re: Joystick not initialized Error
 
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

nandeeka 03-07-2015 08:28 PM

Re: Joystick not initialized Error
 
Did you try indexing?

Technette 03-07-2015 09:47 PM

Re: Joystick not initialized Error
 
Yes,

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

GeeTwo 03-08-2015 09:55 AM

Re: Joystick not initialized Error
 
These three are the most obvious issue:
Quote:

Originally Posted by Technette (Post 1454863)
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

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):
Quote:

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?

ozrien 03-08-2015 08:25 PM

Re: Joystick not initialized Error
 
"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...
Code:

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.

Technette 03-08-2015 08:43 PM

Re: Joystick not initialized Error
 
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

Technette 03-08-2015 08:48 PM

Re: Joystick not initialized Error
 
I do see that the build did complete though! Wooo Whooo!

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


All times are GMT -5. The time now is 10:47 AM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi