Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of X_NUCLEO_IDB0XA1 by
x-nucleo-idb0xa1/bluenrg-hci/ble_gp_timer.h@308:73b71a571d94, 2017-08-09 (annotated)
- Committer:
- TakeshiWada
- Date:
- Wed Aug 09 10:02:49 2017 +0000
- Revision:
- 308:73b71a571d94
- Parent:
- 290:d8faff21b01f
tset
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Wolfgang Betz |
132:51056160fa4a | 1 | /******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** |
Wolfgang Betz |
132:51056160fa4a | 2 | * File Name : gp_timer.h |
Wolfgang Betz |
132:51056160fa4a | 3 | * Author : AMS - HEA&RF BU |
Wolfgang Betz |
132:51056160fa4a | 4 | * Version : V1.0.0 |
Wolfgang Betz |
132:51056160fa4a | 5 | * Date : 19-July-2012 |
Wolfgang Betz |
132:51056160fa4a | 6 | * Description : General purpose timer library. |
Wolfgang Betz |
132:51056160fa4a | 7 | ******************************************************************************** |
Wolfgang Betz |
132:51056160fa4a | 8 | * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS |
Wolfgang Betz |
132:51056160fa4a | 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. |
Wolfgang Betz |
132:51056160fa4a | 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, |
Wolfgang Betz |
132:51056160fa4a | 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE |
Wolfgang Betz |
132:51056160fa4a | 12 | * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING |
Wolfgang Betz |
132:51056160fa4a | 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. |
Wolfgang Betz |
132:51056160fa4a | 14 | *******************************************************************************/ |
Wolfgang Betz |
132:51056160fa4a | 15 | |
Wolfgang Betz |
132:51056160fa4a | 16 | #ifndef __GP_TIMER_H__ |
Wolfgang Betz |
132:51056160fa4a | 17 | #define __GP_TIMER_H__ |
Wolfgang Betz |
132:51056160fa4a | 18 | |
Vincent Coubard |
290:d8faff21b01f | 19 | #include "ble_clock.h" |
Wolfgang Betz |
132:51056160fa4a | 20 | #include "ble_status.h" |
Wolfgang Betz |
132:51056160fa4a | 21 | #ifdef __DMA_LP__ |
Wolfgang Betz |
132:51056160fa4a | 22 | #include "stm32xx_timerserver.h" |
Wolfgang Betz |
132:51056160fa4a | 23 | #endif /* __DMA_LP__ */ |
Wolfgang Betz |
132:51056160fa4a | 24 | |
Wolfgang Betz |
132:51056160fa4a | 25 | /** |
Wolfgang Betz |
132:51056160fa4a | 26 | * timer |
Wolfgang Betz |
132:51056160fa4a | 27 | * |
Wolfgang Betz |
132:51056160fa4a | 28 | * A structure that represents a timer. Use Timer_Set() to set the timer. |
Wolfgang Betz |
132:51056160fa4a | 29 | * |
Wolfgang Betz |
132:51056160fa4a | 30 | */ |
Wolfgang Betz |
132:51056160fa4a | 31 | struct timer { |
Wolfgang Betz |
132:51056160fa4a | 32 | |
Wolfgang Betz |
132:51056160fa4a | 33 | #ifndef DOXYGEN_SHOULD_SKIP_THIS |
Wolfgang Betz |
132:51056160fa4a | 34 | |
Wolfgang Betz |
132:51056160fa4a | 35 | tClockTime start; |
Wolfgang Betz |
132:51056160fa4a | 36 | tClockTime interval; |
Wolfgang Betz |
132:51056160fa4a | 37 | |
Wolfgang Betz |
132:51056160fa4a | 38 | #endif |
Wolfgang Betz |
132:51056160fa4a | 39 | }; |
Wolfgang Betz |
132:51056160fa4a | 40 | |
Wolfgang Betz |
132:51056160fa4a | 41 | typedef void (* TIMER_HCI_TIMEOUT_NOTIFY_CALLBACK_TYPE)(void); |
Wolfgang Betz |
132:51056160fa4a | 42 | |
Wolfgang Betz |
132:51056160fa4a | 43 | /** |
Wolfgang Betz |
132:51056160fa4a | 44 | * Timer_Set |
Wolfgang Betz |
132:51056160fa4a | 45 | * |
Wolfgang Betz |
132:51056160fa4a | 46 | * @param[in] t Pointer to a timer structure |
Wolfgang Betz |
132:51056160fa4a | 47 | * @param[in] interval timeout value |
Wolfgang Betz |
132:51056160fa4a | 48 | * |
Wolfgang Betz |
132:51056160fa4a | 49 | * This function sets the timeout value of a timer. |
Wolfgang Betz |
132:51056160fa4a | 50 | * |
Wolfgang Betz |
132:51056160fa4a | 51 | */ |
Wolfgang Betz |
132:51056160fa4a | 52 | void Timer_Set(struct timer *t, tClockTime interval); |
Wolfgang Betz |
132:51056160fa4a | 53 | |
Wolfgang Betz |
132:51056160fa4a | 54 | /** |
Wolfgang Betz |
132:51056160fa4a | 55 | * Timer_Reset |
Wolfgang Betz |
132:51056160fa4a | 56 | * |
Wolfgang Betz |
132:51056160fa4a | 57 | * @param[in] t Pointer to a timer structure |
Wolfgang Betz |
132:51056160fa4a | 58 | * |
Wolfgang Betz |
132:51056160fa4a | 59 | * This function resets the timer with the same interval given |
Wolfgang Betz |
132:51056160fa4a | 60 | * with Timer_Set, starting from the time it previously expired. |
Wolfgang Betz |
132:51056160fa4a | 61 | * |
Wolfgang Betz |
132:51056160fa4a | 62 | */ |
Wolfgang Betz |
132:51056160fa4a | 63 | void Timer_Reset(struct timer *t); |
Wolfgang Betz |
132:51056160fa4a | 64 | |
Wolfgang Betz |
132:51056160fa4a | 65 | /** |
Wolfgang Betz |
132:51056160fa4a | 66 | * Timer_Restart |
Wolfgang Betz |
132:51056160fa4a | 67 | * |
Wolfgang Betz |
132:51056160fa4a | 68 | * @param[in] t Pointer to a timer structure |
Wolfgang Betz |
132:51056160fa4a | 69 | * |
Wolfgang Betz |
132:51056160fa4a | 70 | * This function resets the timer with the same interval given |
Wolfgang Betz |
132:51056160fa4a | 71 | * with Timer_Set, starting from the current time. |
Wolfgang Betz |
132:51056160fa4a | 72 | * |
Wolfgang Betz |
132:51056160fa4a | 73 | */ |
Wolfgang Betz |
132:51056160fa4a | 74 | void Timer_Restart(struct timer *t); |
Wolfgang Betz |
132:51056160fa4a | 75 | |
Wolfgang Betz |
132:51056160fa4a | 76 | /** |
Wolfgang Betz |
132:51056160fa4a | 77 | * Timer_Expired |
Wolfgang Betz |
132:51056160fa4a | 78 | * |
Wolfgang Betz |
132:51056160fa4a | 79 | * @param[in] t Pointer to a timer structure |
Wolfgang Betz |
132:51056160fa4a | 80 | * |
Wolfgang Betz |
132:51056160fa4a | 81 | * This function returns TRUE if timer is expired, FALSE otherwise. |
Wolfgang Betz |
132:51056160fa4a | 82 | * |
Wolfgang Betz |
132:51056160fa4a | 83 | */ |
Wolfgang Betz |
132:51056160fa4a | 84 | int Timer_Expired(struct timer *t); |
Wolfgang Betz |
132:51056160fa4a | 85 | |
Wolfgang Betz |
132:51056160fa4a | 86 | /** |
Wolfgang Betz |
132:51056160fa4a | 87 | * Timer_Expired |
Wolfgang Betz |
132:51056160fa4a | 88 | * |
Wolfgang Betz |
132:51056160fa4a | 89 | * @param[in] t Pointer to a timer structure |
Wolfgang Betz |
132:51056160fa4a | 90 | * |
Wolfgang Betz |
132:51056160fa4a | 91 | * This function returns the time needed for expiration. |
Wolfgang Betz |
132:51056160fa4a | 92 | * |
Wolfgang Betz |
132:51056160fa4a | 93 | * @return Time before timer's expiration. |
Wolfgang Betz |
132:51056160fa4a | 94 | */ |
Wolfgang Betz |
132:51056160fa4a | 95 | tClockTime Timer_Remaining(struct timer *t); |
Wolfgang Betz |
132:51056160fa4a | 96 | |
Wolfgang Betz |
132:51056160fa4a | 97 | #ifdef __DMA_LP__ |
Wolfgang Betz |
132:51056160fa4a | 98 | tBleStatus Blue_NRG_HCI_Timer_Start(uint32_t expiryTime, |
Wolfgang Betz |
132:51056160fa4a | 99 | TIMER_HCI_TIMEOUT_NOTIFY_CALLBACK_TYPE timercb, |
Wolfgang Betz |
132:51056160fa4a | 100 | uint8_t *timerID); |
Wolfgang Betz |
132:51056160fa4a | 101 | |
Wolfgang Betz |
132:51056160fa4a | 102 | tBleStatus Blue_NRG_HCI_Timer_Stop(uint8_t timerID); |
Wolfgang Betz |
132:51056160fa4a | 103 | #endif /* __DMA_LP__ */ |
Wolfgang Betz |
132:51056160fa4a | 104 | |
Vincent Coubard |
290:d8faff21b01f | 105 | #endif /* __GP_TIMER_H__ */ |