The xplane_io (X-Plane I/O) program is used to establish network communications, via UDP, with the X-Plane flight simulator running on a computer. The code consists of class libraries that abstract the lower-level UDP packet encoding and decoding details, according to the UDP protocol specifications in X-Plane version 9. Any X-Plane DATA packets can be sent and received, and any X-Plane DataRefs can be set by sending DREF packets to X-Plane.

Dependencies:   EthernetNetIf mbed ConfigFile

Committer:
bapowell
Date:
Wed Dec 21 22:29:59 2011 +0000
Revision:
0:a5d13af495af

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bapowell 0:a5d13af495af 1 #include "TimeoutPrompt.h"
bapowell 0:a5d13af495af 2
bapowell 0:a5d13af495af 3 TimeoutPrompt::TimeoutPrompt(Serial & serialInOut, int defaultTimeoutSeconds) :
bapowell 0:a5d13af495af 4 _serialInOut(serialInOut), _defaultTimeoutSeconds(defaultTimeoutSeconds)
bapowell 0:a5d13af495af 5 {
bapowell 0:a5d13af495af 6 _timer.reset();
bapowell 0:a5d13af495af 7 }
bapowell 0:a5d13af495af 8
bapowell 0:a5d13af495af 9 char TimeoutPrompt::prompt(int timeoutSeconds, char *promptString, char* validChars) {
bapowell 0:a5d13af495af 10 _serialInOut.printf("%s\n", promptString);
bapowell 0:a5d13af495af 11 _timer.reset();
bapowell 0:a5d13af495af 12 _timer.start();
bapowell 0:a5d13af495af 13 while (_timer.read() < timeoutSeconds) {
bapowell 0:a5d13af495af 14 if (_serialInOut.readable()) {
bapowell 0:a5d13af495af 15 char c = _serialInOut.getc();
bapowell 0:a5d13af495af 16 if (strchr(validChars, c) != NULL) {
bapowell 0:a5d13af495af 17 _timer.stop();
bapowell 0:a5d13af495af 18 return c;
bapowell 0:a5d13af495af 19 }
bapowell 0:a5d13af495af 20 }
bapowell 0:a5d13af495af 21 }
bapowell 0:a5d13af495af 22 _timer.stop();
bapowell 0:a5d13af495af 23 return NULL;
bapowell 0:a5d13af495af 24 }
bapowell 0:a5d13af495af 25
bapowell 0:a5d13af495af 26 char TimeoutPrompt::prompt(char *promptString, char* validChars) {
bapowell 0:a5d13af495af 27 return prompt(_defaultTimeoutSeconds, promptString, validChars);
bapowell 0:a5d13af495af 28 }