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
TimeoutPrompt/TimeoutPrompt.cpp@0:a5d13af495af, 2011-12-21 (annotated)
- Committer:
- bapowell
- Date:
- Wed Dec 21 22:29:59 2011 +0000
- Revision:
- 0:a5d13af495af
Who changed what in which revision?
User | Revision | Line number | New 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 | } |