mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers LowPowerTimeout.h Source File

LowPowerTimeout.h

00001 /* mbed Microcontroller Library
00002  * Copyright (c) 2015 ARM Limited
00003  * SPDX-License-Identifier: Apache-2.0
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *     http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 #ifndef MBED_LOWPOWERTIMEOUT_H
00018 #define MBED_LOWPOWERTIMEOUT_H
00019 
00020 #include "platform/platform.h"
00021 
00022 #if DEVICE_LPTICKER || defined(DOXYGEN_ONLY)
00023 
00024 #include "hal/lp_ticker_api.h"
00025 #include "drivers/LowPowerTicker.h"
00026 #include "platform/NonCopyable.h"
00027 
00028 namespace mbed {
00029 /** \addtogroup drivers */
00030 
00031 /** Low Power Timout
00032  *
00033  * @note Synchronization level: Interrupt safe
00034  * @ingroup drivers
00035  */
00036 class LowPowerTimeout : public LowPowerTicker, private NonCopyable<LowPowerTimeout> {
00037 #if !defined(DOXYGEN_ONLY)
00038 private:
00039     virtual void handler(void)
00040     {
00041         _function.call();
00042     }
00043 #endif
00044 };
00045 
00046 }
00047 
00048 #endif
00049 
00050 #endif