int main()                              // Main - execution begins!
{
  xbee = fdserial_open(11, 10, 0, 9600);
  //dprint(xbee, "hello");
  //dprint(xbee, "hello");

  drive_speed(0,0);                     // Start servos/encoders cog
  drive_setRampStep(10);                // Set ramping at 10 ticks/sec per 20 ms
  sirc_setTimeout(50);                  // Remote timeout = 50 ms

  //drive_feedback(0);

  dt = CLKFREQ/10;
  t  = CNT;

  while(1)                               // Outer loop
  {
    int button = sirc_button(4);      // check for remote key press

    // Motion responses - if key pressed, set wheel speeds
    if(button == 2)
    {
      if(!running) 
        cogstart(&gofwd, NULL, fstack, sizeof fstack);
    }
    if(button == 8)
    {
      if(!running) 
        cogstart(&gobkwd, NULL, bstack, sizeof bstack);
    }
    if(button == CH_UP)drive_rampStep(100, 100); // Left turn      
    if(button == CH_DN)drive_rampStep(-100, -100); // Right turn 
    if(button == VOL_DN)drive_rampStep(-100, 100); // Left turn      
    if(button == VOL_UP)drive_rampStep(100, -100); // Right turn 
    if(button == MUTE)drive_rampStep(0, 0);        // Stop 
    
    if(button == ENTER)
    {
      getTicks();
      displayTicks();
    }

    if(CNT - t > dt)
    {
      t+=dt;
      i++;
      getTicks();
      if
      (
           ticksLeftCalc  != ticksLeftCalcOld 
        || ticksRightCalc != ticksRightCalcOld
        || ticksLeft      != ticksLeftOld
        || ticksRight     != ticksRightOld
      )
      {
        displayTicks();
      }
    }
  }
}
Esempio n. 2
0
void glut_renderScene()
{
	glEnable (GL_TEXTURE_2D);
	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);

	glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, GLUT_BUFSIZE, GLUT_BUFSIZE, GL_RGB, GL_FLOAT, &texture[0][0][0]);

	glBegin(GL_QUADS);
		glTexCoord2f(0.0f+offset, 0.0f); glVertex2f(-1.0, -1.0);
		glTexCoord2f(0.5f+offset, 0.0f); glVertex2f(-1.0,  1.0);
		glTexCoord2f(0.5f+offset, 1.0f); glVertex2f( 1.0,  1.0);
		glTexCoord2f(0.0f+offset, 1.0f); glVertex2f( 1.0, -1.0);
	glEnd();

	displayTicks();

	glFlush();
	glutSwapBuffers();
}