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; }
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 = ""; } }