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

Fork of X_NUCLEO_IDB0XA1 by ST Expansion SW Team

Committer:
avilei
Date:
Fri Jun 17 16:07:05 2016 +0000
Revision:
232:f2a7da5d24e1
Parent:
132:51056160fa4a
Add firmware update capabilities

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 : osal.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 : This header file defines the OS abstraction layer used by
Wolfgang Betz 132:51056160fa4a 7 * the BLE stack. OSAL defines the set of functions
Wolfgang Betz 132:51056160fa4a 8 * which needs to be ported to target operating system and
Wolfgang Betz 132:51056160fa4a 9 * target platform.
Wolfgang Betz 132:51056160fa4a 10 ********************************************************************************
Wolfgang Betz 132:51056160fa4a 11 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
Wolfgang Betz 132:51056160fa4a 12 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
Wolfgang Betz 132:51056160fa4a 13 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
Wolfgang Betz 132:51056160fa4a 14 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
Wolfgang Betz 132:51056160fa4a 15 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
Wolfgang Betz 132:51056160fa4a 16 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
Wolfgang Betz 132:51056160fa4a 17 *******************************************************************************/
Wolfgang Betz 132:51056160fa4a 18
Wolfgang Betz 132:51056160fa4a 19 #ifndef __OSAL_H__
Wolfgang Betz 132:51056160fa4a 20 #define __OSAL_H__
Wolfgang Betz 132:51056160fa4a 21
Wolfgang Betz 132:51056160fa4a 22 /******************************************************************************
Wolfgang Betz 132:51056160fa4a 23 * Includes
Wolfgang Betz 132:51056160fa4a 24 *****************************************************************************/
Wolfgang Betz 132:51056160fa4a 25 #include <hal_types.h>
Wolfgang Betz 132:51056160fa4a 26 #ifdef __ICCARM__
Wolfgang Betz 132:51056160fa4a 27 #include <intrinsics.h>
Wolfgang Betz 132:51056160fa4a 28 #endif
Wolfgang Betz 132:51056160fa4a 29
Wolfgang Betz 132:51056160fa4a 30 /******************************************************************************
Wolfgang Betz 132:51056160fa4a 31 * Macros
Wolfgang Betz 132:51056160fa4a 32 *****************************************************************************/
Wolfgang Betz 132:51056160fa4a 33
Wolfgang Betz 132:51056160fa4a 34
Wolfgang Betz 132:51056160fa4a 35 /******************************************************************************
Wolfgang Betz 132:51056160fa4a 36 * Function Prototypes
Wolfgang Betz 132:51056160fa4a 37 *****************************************************************************/
Wolfgang Betz 132:51056160fa4a 38
Wolfgang Betz 132:51056160fa4a 39 /**
Wolfgang Betz 132:51056160fa4a 40 * This function copies size number of bytes from a
Wolfgang Betz 132:51056160fa4a 41 * memory location pointed by src to a destination
Wolfgang Betz 132:51056160fa4a 42 * memory location pointed by dest
Wolfgang Betz 132:51056160fa4a 43 *
Wolfgang Betz 132:51056160fa4a 44 * @param[in] dest Destination address
Wolfgang Betz 132:51056160fa4a 45 * @param[in] src Source address
Wolfgang Betz 132:51056160fa4a 46 * @param[in] size size in the bytes
Wolfgang Betz 132:51056160fa4a 47 *
Wolfgang Betz 132:51056160fa4a 48 * @return Address of the destination
Wolfgang Betz 132:51056160fa4a 49 */
Wolfgang Betz 132:51056160fa4a 50
Wolfgang Betz 132:51056160fa4a 51 extern void* Osal_MemCpy(void *dest,const void *src, unsigned int size);
Wolfgang Betz 132:51056160fa4a 52
Wolfgang Betz 132:51056160fa4a 53
Wolfgang Betz 132:51056160fa4a 54 /**
Wolfgang Betz 132:51056160fa4a 55 * This function sets first number of bytes, specified
Wolfgang Betz 132:51056160fa4a 56 * by size, to the destination memory pointed by ptr
Wolfgang Betz 132:51056160fa4a 57 * to the specified value
Wolfgang Betz 132:51056160fa4a 58 *
Wolfgang Betz 132:51056160fa4a 59 * @param[in] ptr Destination address
Wolfgang Betz 132:51056160fa4a 60 * @param[in] value Value to be set
Wolfgang Betz 132:51056160fa4a 61 * @param[in] size Size in the bytes
Wolfgang Betz 132:51056160fa4a 62 *
Wolfgang Betz 132:51056160fa4a 63 * @return Address of the destination
Wolfgang Betz 132:51056160fa4a 64 */
Wolfgang Betz 132:51056160fa4a 65
Wolfgang Betz 132:51056160fa4a 66 extern void* Osal_MemSet(void *ptr, int value, unsigned int size);
Wolfgang Betz 132:51056160fa4a 67
Wolfgang Betz 132:51056160fa4a 68 /**
Wolfgang Betz 132:51056160fa4a 69 * Osal_Get_Cur_Time
Wolfgang Betz 132:51056160fa4a 70 *
Wolfgang Betz 132:51056160fa4a 71 * returns the current time in milliseconds
Wolfgang Betz 132:51056160fa4a 72 */
Wolfgang Betz 132:51056160fa4a 73 /**
Wolfgang Betz 132:51056160fa4a 74 * Returns the number of ticks (1 tick = 1 millisecond)
Wolfgang Betz 132:51056160fa4a 75 *
Wolfgang Betz 132:51056160fa4a 76 * @return Time in milliseconds
Wolfgang Betz 132:51056160fa4a 77 */
Wolfgang Betz 132:51056160fa4a 78 uint32_t Osal_Get_Cur_Time(void);
Wolfgang Betz 132:51056160fa4a 79
Wolfgang Betz 132:51056160fa4a 80
Wolfgang Betz 132:51056160fa4a 81 #endif /* __OSAL_H__ */