Exemplo n.º 1
0
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;
}
Exemplo n.º 2
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;
}
Exemplo n.º 3
0
int main(int argc, char **argv) {
  if (puck()) return 0;
  return 1;
}