int main() { // Connect to the Arduino startSerial(PORT_NAME, BAUD_RATE, 8, 'N', 1, 5); // Sleep for two seconds printf("WAITING TWO SECONDS FOR ARDUINO TO REBOOT\n"); sleep(2); printf("DONE\n"); // Spawn receiver thread pthread_t recv; pthread_create(&recv, NULL, receiveThread, NULL); // Send a hello packet TPacket helloPacket; helloPacket.packetType = PACKET_TYPE_HELLO; sendPacket(&helloPacket); while(!exitFlag) { char ch; printf("Command (w=forward, s=reverse, a=turn left, d=turn right x=stop, c=clear stats, g=get stats, m=adjust, y=store, z=backtrack, r=exit) q=Turn Left for 15 degrees at 55 power, e=Turn Right for 15 degrees at 55 power o=Copy stack, p=Pop Stack\n"); scanf("%c", &ch); // Purge extraneous characters from input stream flushInput(); sendCommand(ch); } printf("Closing connection to Arduino.\n"); endSerial(); }
void Serial::SerialBegin() { configureSerial(); startSerial(); }