mbed-os for GR-LYCHEE

Dependents:   mbed-os-example-blinky-gr-lychee GR-Boads_Camera_sample GR-Boards_Audio_Recoder GR-Boads_Camera_DisplayApp ... more

Committer:
dkato
Date:
Fri Feb 02 05:42:23 2018 +0000
Revision:
0:f782d9c66c49
mbed-os for GR-LYCHEE

Who changed what in which revision?

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