NUCLEO-F401RE + BlueNRG shield client test (TI Sensortag reading)

Dependencies:   mbed-src

Revision:
0:aa1e012ec210
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bluenrg/SimpleBlueNRG_HCI/includes/hal.h	Sat Aug 16 11:00:04 2014 +0000
@@ -0,0 +1,90 @@
+/******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
+* File Name          : hal.h
+* Author             : AMS - HEA&RF BU
+* Version            : V1.0.0
+* Date               : 19-July-2012
+* Description        : Header file which defines Hardware abstraction layer APIs
+*                       used by the BLE stack. It defines the set of functions
+*                       which needs to be ported to the target platform.
+********************************************************************************
+* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
+* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
+* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
+* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*******************************************************************************/
+#ifndef __HAL_H__
+#define __HAL_H__
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+/******************************************************************************
+ * Includes
+ *****************************************************************************/
+#include <hal_types.h>
+#include <ble_status.h>
+
+/******************************************************************************
+ * Macros
+ *****************************************************************************/
+/* Little Endian buffer to Controller Byte order conversion */
+#define LE_TO_NRG_16(ptr)  (uint16) ( ((uint16) \
+                                           *((tHalUint8 *)ptr)) | \
+                                          ((tHalUint16) \
+                                           *((tHalUint8 *)ptr + 1) << 8 ) )
+
+#define LE_TO_NRG_32(ptr)   (tHalUint32) ( ((tHalUint32) \
+                                           *((tHalUint8 *)ptr)) | \
+                                           ((tHalUint32) \
+                                            *((tHalUint8 *)ptr + 1) << 8)  | \
+                                           ((tHalUint32) \
+                                            *((tHalUint8 *)ptr + 2) << 16) | \
+                                           ((tHalUint32) \
+                                            *((tHalUint8 *)ptr + 3) << 24) )
+											
+/* Store Value into a buffer in Little Endian Format */
+#define STORE_LE_16(buf, val)    ( ((buf)[0] =  (tHalUint8) (val)    ) , \
+                                   ((buf)[1] =  (tHalUint8) (val>>8) ) )
+
+#define STORE_LE_32(buf, val)    ( ((buf)[0] =  (tHalUint8) (val)     ) , \
+                                   ((buf)[1] =  (tHalUint8) (val>>8)  ) , \
+                                   ((buf)[2] =  (tHalUint8) (val>>16) ) , \
+                                   ((buf)[3] =  (tHalUint8) (val>>24) ) ) 
+ 
+/******************************************************************************
+ * Types
+ *****************************************************************************/
+
+/******************************************************************************
+ * Function Prototypes
+ *****************************************************************************/
+
+/**
+ * Writes data to a serial interface.
+ *
+ * @param[in]  data1    1st buffer
+ * @param[in]  data2    2nd buffer
+ * @param[in]  n_bytes1 number of bytes in 1st buffer
+ * @param[in]  n_bytes2 number of bytes in 2nd buffer
+ */
+void Hal_Write_Serial(const void* data1, const void* data2, tHalInt32 n_bytes1, tHalInt32 n_bytes2);
+
+/**
+ * Enable interrupts from HCI controller.
+ */
+void Enable_SPI_IRQ(void);
+
+/**
+ * Disable interrupts from BLE controller.
+ */
+void Disable_SPI_IRQ(void);
+
+ 
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __HAL_H__ */
+