int main( int argc, char** argv ) { cmnLogger::SetMask( CMN_LOG_ALLOW_ALL ); cmnLogger::SetMaskFunction( CMN_LOG_ALLOW_ALL ); cmnLogger::SetMaskDefaultLog( CMN_LOG_ALLOW_ALL ); if( argc != 3 ) { std::cerr << "Usage: " << argv[0] << " can[?] PID" << std::endl; return -1; } osaSocketCAN can( argv[1], osaCANBus::RATE_1000 ); if( can.Open() != osaCANBus::ESUCCESS ) { std::cerr << argv[0] << ": Failed to open device " << argv[1] << std::endl; return -1; } std::istringstream iss( argv[2] ); int pid; iss >> pid; osaPuck puck( (osaPuck::ID)pid, &can ); // Reset the firmware if( puck.Reset() != osaPuck::ESUCCESS ) { std::cerr << ": Failed to reset the puck." << std::endl; return -1; } osaSleep( 1. ); // Ready the puck if( puck.Ready() != osaPuck::ESUCCESS ) { std::cerr << ": Failed to ready the puck." << std::endl; return -1; } osaSleep( 1.0 ); // configure the puck if( puck.InitializeMotor() != osaPuck::ESUCCESS ) { std::cerr << argv[0] << ": Failed to initialize puck" << std::endl; } if( can.Close() != osaCANBus::ESUCCESS ) { std::cerr << argv[0] << ": Failed to close device " << argv[1] << std::endl; return -1; } return 0; }
// Main --------------------------------------------------------------------- int main(int argc, const char *argv[]) { std::string vshader = argv[3]; std::string fshader = argv[4]; // RotateHelp boardrot(3); // std::cout << "rotate angle: " << boardrot.rotate_angle(5) << std::endl; glutStuff(argc, argv); glewInit(); // GLuint h_program = initGPU(argv[3], argv[4]); // specify vshader and fshader print_opengl_version(); init_shader_variables(); createMenu(); // objs.push_back(dragon); // Bullet --------------------------------------------------------------------- /* Bullet Settings */ btDefaultCollisionConfiguration* collisionConfiguration = new btDefaultCollisionConfiguration(); btCollisionDispatcher* dispatcher = new btCollisionDispatcher(collisionConfiguration); btBroadphaseInterface* overlappingPairCache = new btDbvtBroadphase(); btSequentialImpulseConstraintSolver* solver = new btSequentialImpulseConstraintSolver; /* Bullet World */ dynamicsWorld = new btDiscreteDynamicsWorld(dispatcher,overlappingPairCache,solver,collisionConfiguration); dynamicsWorld->setGravity(btVector3(0,0,0)); // btContactSolverInfo& info = dynamicsWorld->getSolverInfo(); // Game Object ------------------------------------------------------------------ glm::mat4 identity = glm::mat4(); Obj ball(argv[1] , identity, tex3, dynamicsWorld, ConvexHull); // CH Obj board(argv[2] , identity, tex2, dynamicsWorld, TriangleMesh); // CH Obj paddle2("obj/Paddle.obj" , identity, tex3, dynamicsWorld, TriangleMesh); Obj puck("obj/Puck.obj" , identity, tex4, dynamicsWorld, TriangleMesh); ball.set_name("Ball"); board.set_name("Board"); paddle2.set_name("Paddle2"); puck.set_name("Puck"); objs.push_back(ball); objs.push_back(board); objs.push_back(paddle2); objs.push_back(puck); objs[Paddle2].move(10.0/getDT(), 10.0/getDT()); // Lighting -------------------------------------------------------------------- // light = new LightingTechnique(); // if ( ! light->Init( vshader.c_str(), fshader.c_str() ) ) { std::cerr << "LightingTechnique Init Failed "<< std::endl; } // init_shader_variables(light); // light->Enable(); // enable shader // Pipeline -------------------------------------------------------------------- h_program = InitShader( vshader.c_str(), fshader.c_str() ); bind_shader_variables2(h_program); init_shader_variables(); glutMainLoop(); return 0; }
int main(int argc, char **argv) { if (puck()) return 0; return 1; }