Christopher Haster / mbed-hal

Dependencies:   target-freescale

Fork of mbed-hal by Morpheus

Committer:
screamer
Date:
Wed Mar 23 21:36:09 2016 +0000
Revision:
0:9c59db1fbc9e
Initial revision

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 0:9c59db1fbc9e 1 /* mbed Microcontroller Library
screamer 0:9c59db1fbc9e 2 * Copyright (c) 2006-2015 ARM Limited
screamer 0:9c59db1fbc9e 3 *
screamer 0:9c59db1fbc9e 4 * Licensed under the Apache License, Version 2.0 (the "License");
screamer 0:9c59db1fbc9e 5 * you may not use this file except in compliance with the License.
screamer 0:9c59db1fbc9e 6 * You may obtain a copy of the License at
screamer 0:9c59db1fbc9e 7 *
screamer 0:9c59db1fbc9e 8 * http://www.apache.org/licenses/LICENSE-2.0
screamer 0:9c59db1fbc9e 9 *
screamer 0:9c59db1fbc9e 10 * Unless required by applicable law or agreed to in writing, software
screamer 0:9c59db1fbc9e 11 * distributed under the License is distributed on an "AS IS" BASIS,
screamer 0:9c59db1fbc9e 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
screamer 0:9c59db1fbc9e 13 * See the License for the specific language governing permissions and
screamer 0:9c59db1fbc9e 14 * limitations under the License.
screamer 0:9c59db1fbc9e 15 */
screamer 0:9c59db1fbc9e 16 #ifndef MBED_US_TICKER_API_H
screamer 0:9c59db1fbc9e 17 #define MBED_US_TICKER_API_H
screamer 0:9c59db1fbc9e 18
screamer 0:9c59db1fbc9e 19 #include <stdint.h>
screamer 0:9c59db1fbc9e 20 #include "ticker_api.h"
screamer 0:9c59db1fbc9e 21
screamer 0:9c59db1fbc9e 22 #ifdef __cplusplus
screamer 0:9c59db1fbc9e 23 extern "C" {
screamer 0:9c59db1fbc9e 24 #endif
screamer 0:9c59db1fbc9e 25
screamer 0:9c59db1fbc9e 26 /**
screamer 0:9c59db1fbc9e 27 * \defgroup UsTicker Microseconds Ticker Functions
screamer 0:9c59db1fbc9e 28 * @{
screamer 0:9c59db1fbc9e 29 */
screamer 0:9c59db1fbc9e 30
screamer 0:9c59db1fbc9e 31 /** Get ticker's data
screamer 0:9c59db1fbc9e 32 *
screamer 0:9c59db1fbc9e 33 * @return The low power ticker data
screamer 0:9c59db1fbc9e 34 */
screamer 0:9c59db1fbc9e 35 const ticker_data_t* get_us_ticker_data(void);
screamer 0:9c59db1fbc9e 36
screamer 0:9c59db1fbc9e 37
screamer 0:9c59db1fbc9e 38 /** The wrapper for ticker_irq_handler, to pass us ticker's data
screamer 0:9c59db1fbc9e 39 *
screamer 0:9c59db1fbc9e 40 */
screamer 0:9c59db1fbc9e 41 void us_ticker_irq_handler(void);
screamer 0:9c59db1fbc9e 42
screamer 0:9c59db1fbc9e 43 /* HAL us ticker */
screamer 0:9c59db1fbc9e 44
screamer 0:9c59db1fbc9e 45 /** Initialize the ticker
screamer 0:9c59db1fbc9e 46 *
screamer 0:9c59db1fbc9e 47 */
screamer 0:9c59db1fbc9e 48 void us_ticker_init(void);
screamer 0:9c59db1fbc9e 49
screamer 0:9c59db1fbc9e 50 /** Read the current counter
screamer 0:9c59db1fbc9e 51 *
screamer 0:9c59db1fbc9e 52 * @return The current timer's counter value in microseconds
screamer 0:9c59db1fbc9e 53 */
screamer 0:9c59db1fbc9e 54 uint32_t us_ticker_read(void);
screamer 0:9c59db1fbc9e 55
screamer 0:9c59db1fbc9e 56 /** Set interrupt for specified timestamp
screamer 0:9c59db1fbc9e 57 *
screamer 0:9c59db1fbc9e 58 * @param timestamp The time in microseconds to be set
screamer 0:9c59db1fbc9e 59 */
screamer 0:9c59db1fbc9e 60 void us_ticker_set_interrupt(timestamp_t timestamp);
screamer 0:9c59db1fbc9e 61
screamer 0:9c59db1fbc9e 62 /** Disable us ticker interrupt
screamer 0:9c59db1fbc9e 63 *
screamer 0:9c59db1fbc9e 64 */
screamer 0:9c59db1fbc9e 65 void us_ticker_disable_interrupt(void);
screamer 0:9c59db1fbc9e 66
screamer 0:9c59db1fbc9e 67 /** Clear us ticker interrupt
screamer 0:9c59db1fbc9e 68 *
screamer 0:9c59db1fbc9e 69 */
screamer 0:9c59db1fbc9e 70 void us_ticker_clear_interrupt(void);
screamer 0:9c59db1fbc9e 71
screamer 0:9c59db1fbc9e 72 /**@}*/
screamer 0:9c59db1fbc9e 73
screamer 0:9c59db1fbc9e 74 #ifdef __cplusplus
screamer 0:9c59db1fbc9e 75 }
screamer 0:9c59db1fbc9e 76 #endif
screamer 0:9c59db1fbc9e 77
screamer 0:9c59db1fbc9e 78 #endif
screamer 0:9c59db1fbc9e 79