Kenji Arai / mbed-os_TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

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 /**
00030  * \defgroup drivers_LowPowerTimeout LowPowerTimeout class
00031  * \ingroup drivers-public-api-ticker
00032  * @{
00033  */
00034 
00035 /** Low Power Timout
00036  *
00037  * @note Synchronization level: Interrupt safe
00038  */
00039 class LowPowerTimeout : public LowPowerTicker, private NonCopyable<LowPowerTimeout> {
00040 #if !defined(DOXYGEN_ONLY)
00041 private:
00042     virtual void handler(void)
00043     {
00044         _function.call();
00045     }
00046 #endif
00047 };
00048 
00049 /** @}*/
00050 
00051 } // namespace mbed
00052 
00053 #endif
00054 
00055 #endif