int main(int argc, char **argv) { Aria::init(); ArArgumentParser parser(&argc, argv); parser.loadDefaultArguments(); robot = new ArRobot; // hack global pointer so global functions can use it // Connect to the robot, get some initial data from it such as type and name, // and then load parameter files for this robot. ArRobotConnector robotConnector(&parser, robot); if(!robotConnector.connectRobot()) { ArLog::log(ArLog::Terse, "auxSerialExample: Could not connect to the robot."); if(parser.checkHelpAndWarnUnparsed()) { // -help not given Aria::logOptions(); Aria::exit(1); } } if (!Aria::parseArgs() || !parser.checkHelpAndWarnUnparsed()) { Aria::logOptions(); Aria::exit(1); } // functor for the packet handler ArGlobalRetFunctor1<bool, ArRobotPacket *> getAuxCB(&getAuxPrinter); // add our packet handler as the first one in the list robot->addPacketHandler(&getAuxCB, ArListPos::FIRST); ArLog::log(ArLog::Normal, "auxSerialExample: Connected to the robot. Sending command to change AUX1 baud rate to 9600..."); robot->comInt(ArCommands::AUX1BAUD, 0); // See robot manual // Send the first GETAUX request robot->comInt(ArCommands::GETAUX, 1); // If you wanted to recieve information from the second aux. serial port, use // the GETAUX2 command instead; but the packet returned will also have a // different type ID. //robot->comInt(ArCommands::GETAUX2, 1); // run the robot until disconnect, then shutdown and exit. robot->run(true); Aria::exit(0); return 0; }
int main(int argc, char **argv) { Aria::init(); ArArgumentParser argParser(&argc, argv); ArSimpleConnector conn(&argParser); argParser.loadDefaultArguments(); if(!Aria::parseArgs() || !argParser.checkHelpAndWarnUnparsed()) { Aria::logOptions(); return 1; } // This is a global pointer so the global functions can use it. robot = new ArRobot; // functor for the packet handler ArGlobalRetFunctor1<bool, ArRobotPacket *> getAuxCB(&getAuxPrinter); // add our packet handler as the first one in the list robot->addPacketHandler(&getAuxCB, ArListPos::FIRST); // Connect to the robot if(!conn.connectRobot(robot)) { ArLog::log(ArLog::Terse, "getAuxExample: Error connecting to the robot."); return 2; } ArLog::log(ArLog::Normal, "getAuxExample: Connected to the robot. Sending command to change AUX1 baud rate to 9600..."); robot->comInt(ArCommands::AUX1BAUD, 0); // See robot manual // Send the first GETAUX request robot->comInt(ArCommands::GETAUX, 1); // If you wanted to recieve information from the second aux. serial port, use // the GETAUX2 command instead; but the packet returned will also have a // different type ID. //robot->comInt(ArCommands::GETAUX2, 1); // run the robot until disconnect, then shutdown and exit. robot->run(true); Aria::shutdown(); return 0; }