BLE_API wrapper library for STMicroelectronics' BlueNRG Bluetooth Low Energy expansion board shield

Fork of X_NUCLEO_IDB0XA1 by ST Expansion SW Team

Committer:
Wolfgang Betz
Date:
Wed Oct 07 08:39:04 2015 +0200
Revision:
132:51056160fa4a
Andrea's version as of mail from 10/06/2015 05:56 PM

From: Andrea PALMIERI <andrea.palmieri@st.com>
To: Wolfgang BETZ <wolfgang.betz@st.com>, Rohit Grover <rohit.grover@arm.com>,
Antonio VILEI <antonio.vilei@st.com>, Mihail Stoyanov
<Mihail.Stoyanov@arm.com>
CC: Nicola CAPOVILLA <nicola.capovilla@st.com>, Silvio Lucio OLIVA
<silvio.oliva@st.com>, "jonathan.austin@arm.com" <jonathan.austin@arm.com>
Content-Class: urn:content-classes:message
Date: Tue, 6 Oct 2015 17:56:34 +0200
Subject: RE: Arduino Compatibility of X-NUCLEO-IDB04A1

Who changed what in which revision?

UserRevisionLine numberNew 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
Wolfgang Betz 132:51056160fa4a 19 #include "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
Wolfgang Betz 132:51056160fa4a 105 #endif /* __GP_TIMER_H__ */