]> git.gir.st - tmk_keyboard.git/blob - tmk_core/tool/mbed/mbed-sdk/libraries/mbed/api/Timeout.h
Merge commit '1fe4406f374291ab2e86e95a97341fd9c475fcb8'
[tmk_keyboard.git] / tmk_core / tool / mbed / mbed-sdk / libraries / mbed / api / Timeout.h
1 /* mbed Microcontroller Library
2 * Copyright (c) 2006-2013 ARM Limited
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 #ifndef MBED_TIMEOUT_H
17 #define MBED_TIMEOUT_H
18
19 #include "Ticker.h"
20
21 namespace mbed {
22
23 /** A Timeout is used to call a function at a point in the future
24 *
25 * You can use as many seperate Timeout objects as you require.
26 *
27 * Example:
28 * @code
29 * // Blink until timeout.
30 *
31 * #include "mbed.h"
32 *
33 * Timeout timeout;
34 * DigitalOut led(LED1);
35 *
36 * int on = 1;
37 *
38 * void attimeout() {
39 * on = 0;
40 * }
41 *
42 * int main() {
43 * timeout.attach(&attimeout, 5);
44 * while(on) {
45 * led = !led;
46 * wait(0.2);
47 * }
48 * }
49 * @endcode
50 */
51 class Timeout : public Ticker {
52
53 protected:
54 virtual void handler();
55 };
56
57 } // namespace mbed
58
59 #endif
Imprint / Impressum