Exemplo n.º 1
0
Arquivo: main.c Projeto: zaius/smart
int main(int argc, char **argv) {
	// Seed the random number generator
	srandom(time(NULL));

	// Set up signal handlers
	signal(SIGINT, sigterm);

	serial_init();
	tunnel_init();

	// Start the main loop
	while (quit == FALSE) {
		int result = 0;

		result = poll(fds, 2, 2500);

		if (result < 0) {
			// error in poll, warn
			warn("Poll Error");
			continue;
		}

		// timed out, continue the loop
		if (result == 0) {
			printf("timeout\n");
			continue;
		}

		if (fds[SERIAL_INDEX].revents != 0) {
			serial_event();
		}

		if (fds[TUNNEL_INDEX].revents != 0) {
			tunnel_event();
		}
	}
	// We must have received a signal, tidy up and exit
	printf("Exiting...\n");
	close(serial);
	close(tunnel);

	return 0;
}
Exemplo n.º 2
0
void CLI::do_console()
{
  serial_event();

  if (cmd=="cli" || cmd=="help")
  {
  Serial.println("COMMAND LINE INTERFACE");
  Serial.println();
  Serial.println("Enter one of the following options:");
  Serial.println("input");
  Serial.println("output");
  Serial.println("pinout");
  Serial.println();
  cmd="";
  }


  //////////////////////////////////////
  // WRITE INPUT TO CONSOLE ////////////
  //////////////////////////////////////
  
  if (cmd=="input")
  {
    Serial.print("INPUT - ");
    Serial.print("\tRoll: ");
    Serial.print(pwm_bar(input.RollInProcessed));
    Serial.print("\tPitch: ");
    Serial.print(pwm_bar(input.PitchInProcessed));
    Serial.print("\tYaw: ");
    Serial.print(pwm_bar(input.YawInProcessed));
    Serial.println();
  }

  //////////////////////////////////////
  // WRITE OUTPUT TO CONSOLE ///////////
  //////////////////////////////////////
  
    if (cmd=="output")
  {
    Serial.print("OUTPUT - ");
    Serial.print("\tServo 1: ");
    Serial.print(pwm_bar(output.servo_1_out));
    Serial.print("\tServo 2: ");
    Serial.print(pwm_bar(output.servo_2_out));    
    Serial.print("\tServo 3: ");
    Serial.print(pwm_bar(output.servo_3_out));    
    Serial.print("\tServo 4: ");
    Serial.print(pwm_bar(output.servo_4_out));
    Serial.print("\tServo 5: ");
    Serial.print(pwm_bar(output.servo_5_out));
    Serial.println();
  }
  
  //////////////////////////////////////
  // DISPLAY PIN CONFIGURATION /////////
  //////////////////////////////////////
  
    if (cmd=="pinout")
  {
    Serial.println("CURRENT PIN CONFIGURATION");
    Serial.println();
    
    Serial.println("INPUT");
    Serial.print("Roll pin: \t");
    Serial.println(ROLL_IN_PIN);
    Serial.print("Pitch pin: \t");
    Serial.println(PITCH_IN_PIN);    
    Serial.print("Yaw pin: \t");
    Serial.println(YAW_IN_PIN);    
    Serial.println();
    
    Serial.println("OUTPUT");
    Serial.print("Servo 1 pin: \t");
    Serial.println(SERVO_1_PIN);
    Serial.print("Servo 2 pin: \t");
    Serial.println(SERVO_2_PIN);    
    Serial.print("Servo 3 pin: \t");
    Serial.println(SERVO_3_PIN);    
    Serial.print("Servo 4 pin: \t");
    Serial.println(SERVO_4_PIN);
    Serial.print("Servo 5 pin: \t");
    Serial.println(SERVO_5_PIN);
    Serial.println();
    
    cmd = "";
  } 
}