int main(int argc, char **argv) { ArRobot robot; Aria::init(); ArSimpleConnector connector(&argc, argv); if (!connector.parseArgs() || argc > 1) { connector.logOptions(); return 1; } // Instance of the JoydriveAction class defined above JoydriveAction jdAct; // if the joydrive action couldn't find the joystick, then exit. if (!jdAct.joystickInited()) { printf("Do not have a joystick, set up the joystick then rerun the program\n\n"); Aria::exit(1); return 1; } // Connect to the robot if (!connector.connectRobot(&robot)) { printf("Could not connect to robot... exiting\n"); return 2; } // disable sonar, enable motors, disable amigobot sound robot.comInt(ArCommands::SONAR, 0); robot.comInt(ArCommands::ENABLE, 1); robot.comInt(ArCommands::SOUNDTOG, 0); // add the action robot.addAction(&jdAct, 100); // run the robot, true so it'll exit if we lose connection robot.run(true); // now exit program Aria::exit(0); return 0; }
bool JoydriveMod::init(ArRobot *robot, void *argument) { if (!aJDAct.joystickInited()) { printf("Do not have a joystick, set up the joystick then rerun the program\n\n"); return(false); } robot->addAction(&aJDAct, 100); return(true); }