Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   C/C++ (http://www.chiefdelphi.com/forums/forumdisplay.php?f=183)
-   -   Driver Station ERROR: (http://www.chiefdelphi.com/forums/showthread.php?t=102207)

msulaimain 07-02-2012 19:17

Driver Station ERROR:
 
I'm the head coder for our team: 3346. I ran into this error today on the driver station:
Code:

ERROR: A timeout has been exceeded: RobotDrive...Output not updated often enough. ...in Check() in c:/Windriver/workspace/WPILib/MotorSafetyHelper.cpp at line 123
No Change to Network Configuration: "Local Area Connection""Wireless Network Connection"
I/O unit not detected or not installed correctly.

That is the error I receive on the driver station. The lights are green for robot communications and robot code but when I enable nothing works.

Here is my .cpp:

Code:

#include "WPILib.h"

class RobotDemo : public SimpleRobot
{

RobotDrive myRobot;
Jaguar ballpicker;
Joystick leftStick; // left joystick in USB 1 of the DS
Joystick rightStick; // and right JS is in USB 2 of the DS
DriverStationLCD *display;
Solenoid sol1;
Solenoid sol2;
Compressor compress;

public:
        RobotDemo():
                myRobot(1,2), // Drive Motors
               
                ballpicker(3), // Motor That Picks Up Balls
               
                leftStick(1),
                rightStick(2),
               
                sol1(7,1), // MIGHT HAVE TO CHANGE FIRST COORDINATE BECUASE MODULES-
                sol2(7,8), // HAVE CHANGED THIS YEAR!!!
               
                compress(1,1)

        {
                myRobot.SetExpiration(0.1);

                display = DriverStationLCD::GetInstance();
        }
       
        void Autonomous(void)
        {
                myRobot.SetSafetyEnabled(true); // Autonomous Period
                myRobot.Drive(0.6, 0.0);        // Drives Forward->Half Speed->2 Seconds.
                Wait(5.0);                     
                myRobot.Drive(0.0, 0.0); 
        }
       
        void OperatorControl(void) 
        {
               
                        GetWatchdog().SetEnabled(true);
                        compress.Start();                // Starts the Compressor
                        while (IsOperatorControl())
                        {
                                GetWatchdog().Feed();
                                myRobot.ArcadeDrive(leftStick); // Arcade Style--> Left Stick
                /*       
        char text[255];
        char text2[255];
        display->Clear();
       
                                if(rightStick.GetTrigger())
                                {
                                          arm2.Set(0.9); //full speed if trigger is pressed
            sprintf(text, "Arm 2: 0.9");
            display->PrintfLine(DriverStationLCD::kUser_Line1, text);
                                }
                                else
                                {
                                          arm2.Set(0.0); //when trigger is not pressed, no power
            sprintf(text, "Arm 2: 0.0");
            display->PrintfLine(DriverStationLCD::kUser_Line1, text);
                                }
                                if (rightStick.GetRawButton(3))
                                {
                                          arm.Set(1.0); // full speed if trigger pressed
                  sprintf(text2, "Arm: 1.0");
                  display->PrintfLine(DriverStationLCD::kUser_Line2, text2);
                                }
                                else
                                {
                                          arm.Set(0.0); //no power if button 3 is not pressed
            sprintf(text2, "Arm: 0.0");
            display->PrintfLine(DriverStationLCD::kUser_Line2, text2);
                                }

        display->UpdateLCD();
*/

               
                if (leftStick.GetRawButton(3))
                {
                        ballpicker.Set(0.1); // --> If Button 3-->Input-->10% Power
                }
                                                       
                else
                {
                        ballpicker.Set(0.0); // --> If Button 3-->No Input-->No Power
                }                        // Left Stick Is For Driver/Ball Picker Up'er

        if(rightStick.GetTrigger()) // Right Stick Is For Shooter
        {
                sol1.Set(true); // --> If Right Trigger-->Input-->Valve 1-->True
                sol2.Set(false); // --> Valve 2-->False
        }
        else
        {
                sol1.Set(false); // --> If Right Trigger-->No Input-->Valve 1-->False
                sol2.Set(true); // --> Valve 2-->True
        }
       
                                Wait(0.005);        // --> Allows Time for Motor Refresh/Update
                        }
// COPYRIGHT MUHAMMAD SULAIMAN--> NO ONE MESSES WITH THE ZOHAN!
        }
};

START_ROBOT_CLASS(RobotDemo);

Please ignore the comments.

Thank You. Can someone please help me. I believe that my loop is being examined over and over again. Do I need a semicolon after while (IsOperatorControl()) I believe I do. I just didn't have time to add that today, but will try adding that and deploying code tomorrow since robotics just ended. But that thought hit me right after I left. Is that a solution? Or is it something else?


All times are GMT -5. The time now is 17:41.

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