test

Dependencies:   mbed Watchdog

Dependents:   STM32-MC_node

Committer:
ommpy
Date:
Mon Jul 06 17:18:59 2020 +0530
Revision:
0:d383e2dee0f7
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ommpy 0:d383e2dee0f7 1
ommpy 0:d383e2dee0f7 2 /** \addtogroup platform */
ommpy 0:d383e2dee0f7 3 /** @{*/
ommpy 0:d383e2dee0f7 4 /**
ommpy 0:d383e2dee0f7 5 * \defgroup platform_wait_api wait_api functions
ommpy 0:d383e2dee0f7 6 * @{
ommpy 0:d383e2dee0f7 7 */
ommpy 0:d383e2dee0f7 8
ommpy 0:d383e2dee0f7 9 /* mbed Microcontroller Library
ommpy 0:d383e2dee0f7 10 * Copyright (c) 2006-2013 ARM Limited
ommpy 0:d383e2dee0f7 11 * SPDX-License-Identifier: Apache-2.0
ommpy 0:d383e2dee0f7 12 *
ommpy 0:d383e2dee0f7 13 * Licensed under the Apache License, Version 2.0 (the "License");
ommpy 0:d383e2dee0f7 14 * you may not use this file except in compliance with the License.
ommpy 0:d383e2dee0f7 15 * You may obtain a copy of the License at
ommpy 0:d383e2dee0f7 16 *
ommpy 0:d383e2dee0f7 17 * http://www.apache.org/licenses/LICENSE-2.0
ommpy 0:d383e2dee0f7 18 *
ommpy 0:d383e2dee0f7 19 * Unless required by applicable law or agreed to in writing, software
ommpy 0:d383e2dee0f7 20 * distributed under the License is distributed on an "AS IS" BASIS,
ommpy 0:d383e2dee0f7 21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ommpy 0:d383e2dee0f7 22 * See the License for the specific language governing permissions and
ommpy 0:d383e2dee0f7 23 * limitations under the License.
ommpy 0:d383e2dee0f7 24 */
ommpy 0:d383e2dee0f7 25 #ifndef MBED_WAIT_API_H
ommpy 0:d383e2dee0f7 26 #define MBED_WAIT_API_H
ommpy 0:d383e2dee0f7 27
ommpy 0:d383e2dee0f7 28 #ifdef __cplusplus
ommpy 0:d383e2dee0f7 29 extern "C" {
ommpy 0:d383e2dee0f7 30 #endif
ommpy 0:d383e2dee0f7 31
ommpy 0:d383e2dee0f7 32 /** Generic wait functions.
ommpy 0:d383e2dee0f7 33 *
ommpy 0:d383e2dee0f7 34 * These provide simple NOP type wait capabilities.
ommpy 0:d383e2dee0f7 35 *
ommpy 0:d383e2dee0f7 36 * Example:
ommpy 0:d383e2dee0f7 37 * @code
ommpy 0:d383e2dee0f7 38 * #include "mbed.h"
ommpy 0:d383e2dee0f7 39 *
ommpy 0:d383e2dee0f7 40 * DigitalOut heartbeat(LED1);
ommpy 0:d383e2dee0f7 41 *
ommpy 0:d383e2dee0f7 42 * int main() {
ommpy 0:d383e2dee0f7 43 * while (1) {
ommpy 0:d383e2dee0f7 44 * heartbeat = 1;
ommpy 0:d383e2dee0f7 45 * wait(0.5);
ommpy 0:d383e2dee0f7 46 * heartbeat = 0;
ommpy 0:d383e2dee0f7 47 * wait(0.5);
ommpy 0:d383e2dee0f7 48 * }
ommpy 0:d383e2dee0f7 49 * }
ommpy 0:d383e2dee0f7 50 * @endcode
ommpy 0:d383e2dee0f7 51 */
ommpy 0:d383e2dee0f7 52
ommpy 0:d383e2dee0f7 53 /** Waits for a number of seconds, with microsecond resolution (within
ommpy 0:d383e2dee0f7 54 * the accuracy of single precision floating point).
ommpy 0:d383e2dee0f7 55 *
ommpy 0:d383e2dee0f7 56 * @param s number of seconds to wait
ommpy 0:d383e2dee0f7 57 *
ommpy 0:d383e2dee0f7 58 * @note
ommpy 0:d383e2dee0f7 59 * If the RTOS is present, this function spins to get the exact number of microseconds for
ommpy 0:d383e2dee0f7 60 * microsecond precision up to 10 milliseconds. If delay is larger than 10 milliseconds and not in ISR, it is the same as
ommpy 0:d383e2dee0f7 61 * `wait_ms`. We recommend `wait_us` and `wait_ms` over `wait`.
ommpy 0:d383e2dee0f7 62 */
ommpy 0:d383e2dee0f7 63 void wait(float s);
ommpy 0:d383e2dee0f7 64
ommpy 0:d383e2dee0f7 65 /** Waits a number of milliseconds.
ommpy 0:d383e2dee0f7 66 *
ommpy 0:d383e2dee0f7 67 * @param ms the whole number of milliseconds to wait
ommpy 0:d383e2dee0f7 68 *
ommpy 0:d383e2dee0f7 69 * @note
ommpy 0:d383e2dee0f7 70 * If the RTOS is present, it calls ThisThread::sleep_for(), which is same as CMSIS osDelay().
ommpy 0:d383e2dee0f7 71 * You can't call this from interrupts, and it doesn't lock hardware sleep.
ommpy 0:d383e2dee0f7 72 */
ommpy 0:d383e2dee0f7 73 void wait_ms(int ms);
ommpy 0:d383e2dee0f7 74
ommpy 0:d383e2dee0f7 75 /** Waits a number of microseconds.
ommpy 0:d383e2dee0f7 76 *
ommpy 0:d383e2dee0f7 77 * @param us the whole number of microseconds to wait
ommpy 0:d383e2dee0f7 78 *
ommpy 0:d383e2dee0f7 79 * @note
ommpy 0:d383e2dee0f7 80 * This function always spins to get the exact number of microseconds.
ommpy 0:d383e2dee0f7 81 * If RTOS is present, this will affect power (by preventing deep sleep) and
ommpy 0:d383e2dee0f7 82 * multithread performance. Therefore, spinning for millisecond wait is not recommended.
ommpy 0:d383e2dee0f7 83 */
ommpy 0:d383e2dee0f7 84 void wait_us(int us);
ommpy 0:d383e2dee0f7 85
ommpy 0:d383e2dee0f7 86 #ifdef __cplusplus
ommpy 0:d383e2dee0f7 87 }
ommpy 0:d383e2dee0f7 88 #endif
ommpy 0:d383e2dee0f7 89
ommpy 0:d383e2dee0f7 90 #endif
ommpy 0:d383e2dee0f7 91
ommpy 0:d383e2dee0f7 92 /** @}*/
ommpy 0:d383e2dee0f7 93 /** @}*/