BLE UART example

Fork of Nucleo_BLE_BlueNRG by ST Americas mbed Team

Committer:
sjallouli
Date:
Sun Jan 03 16:05:38 2016 +0000
Revision:
3:104f1bba39ca
Parent:
0:a948f5f3904c
test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sjallouli 0:a948f5f3904c 1 /******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
sjallouli 0:a948f5f3904c 2 * File Name : link_layer.h
sjallouli 0:a948f5f3904c 3 * Author : AMS - HEA&RF BU
sjallouli 0:a948f5f3904c 4 * Version : V1.0.0
sjallouli 0:a948f5f3904c 5 * Date : 19-July-2012
sjallouli 0:a948f5f3904c 6 * Description : Header file for BlueNRG's link layer. It contains
sjallouli 0:a948f5f3904c 7 * definition of functions for link layer, most of which are
sjallouli 0:a948f5f3904c 8 * mapped to HCI commands.
sjallouli 0:a948f5f3904c 9 ********************************************************************************
sjallouli 0:a948f5f3904c 10 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
sjallouli 0:a948f5f3904c 11 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
sjallouli 0:a948f5f3904c 12 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
sjallouli 0:a948f5f3904c 13 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
sjallouli 0:a948f5f3904c 14 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
sjallouli 0:a948f5f3904c 15 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
sjallouli 0:a948f5f3904c 16 *******************************************************************************/
sjallouli 0:a948f5f3904c 17
sjallouli 0:a948f5f3904c 18 #ifndef _LINK_LAYER_H
sjallouli 0:a948f5f3904c 19 #define _LINK_LAYER_H
sjallouli 0:a948f5f3904c 20
sjallouli 0:a948f5f3904c 21 #include <ble_status.h>
sjallouli 0:a948f5f3904c 22
sjallouli 0:a948f5f3904c 23 /******************************************************************************
sjallouli 0:a948f5f3904c 24 * Types
sjallouli 0:a948f5f3904c 25 *****************************************************************************/
sjallouli 0:a948f5f3904c 26
sjallouli 0:a948f5f3904c 27 /**
sjallouli 0:a948f5f3904c 28 * advertising policy for filtering (white list related)
sjallouli 0:a948f5f3904c 29 */
sjallouli 0:a948f5f3904c 30 typedef tHalUint8 tAdvPolicy;
sjallouli 0:a948f5f3904c 31 #define NO_WHITE_LIST_USE (0X00)
sjallouli 0:a948f5f3904c 32 #define WHITE_LIST_FOR_ONLY_SCAN (0X01)
sjallouli 0:a948f5f3904c 33 #define WHITE_LIST_FOR_ONLY_CONN (0X02)
sjallouli 0:a948f5f3904c 34 #define WHITE_LIST_FOR_ALL (0X03)
sjallouli 0:a948f5f3904c 35
sjallouli 0:a948f5f3904c 36 /**
sjallouli 0:a948f5f3904c 37 * Bluetooth 48 bit address (in little-endian order).
sjallouli 0:a948f5f3904c 38 */
sjallouli 0:a948f5f3904c 39 typedef tHalUint8 tBDAddr[6];
sjallouli 0:a948f5f3904c 40
sjallouli 0:a948f5f3904c 41
sjallouli 0:a948f5f3904c 42 /**
sjallouli 0:a948f5f3904c 43 * Bluetooth address type
sjallouli 0:a948f5f3904c 44 */
sjallouli 0:a948f5f3904c 45 typedef tHalUint8 tAddrType;
sjallouli 0:a948f5f3904c 46 #define RANDOM_ADDR (1)
sjallouli 0:a948f5f3904c 47 #define PUBLIC_ADDR (0)
sjallouli 0:a948f5f3904c 48
sjallouli 0:a948f5f3904c 49 /**
sjallouli 0:a948f5f3904c 50 * Advertising type
sjallouli 0:a948f5f3904c 51 */
sjallouli 0:a948f5f3904c 52 typedef tHalUint8 tAdvType;
sjallouli 0:a948f5f3904c 53 /**
sjallouli 0:a948f5f3904c 54 * undirected scannable and connectable
sjallouli 0:a948f5f3904c 55 */
sjallouli 0:a948f5f3904c 56 #define ADV_IND (0x00)
sjallouli 0:a948f5f3904c 57
sjallouli 0:a948f5f3904c 58 /**
sjallouli 0:a948f5f3904c 59 * directed non scannable
sjallouli 0:a948f5f3904c 60 */
sjallouli 0:a948f5f3904c 61 #define ADV_DIRECT_IND (0x01)
sjallouli 0:a948f5f3904c 62
sjallouli 0:a948f5f3904c 63 /**
sjallouli 0:a948f5f3904c 64 * scannable non connectable
sjallouli 0:a948f5f3904c 65 */
sjallouli 0:a948f5f3904c 66 #define ADV_SCAN_IND (0x02)
sjallouli 0:a948f5f3904c 67
sjallouli 0:a948f5f3904c 68 /**
sjallouli 0:a948f5f3904c 69 * non-connectable and no scan response (used for passive scan)
sjallouli 0:a948f5f3904c 70 */
sjallouli 0:a948f5f3904c 71 #define ADV_NONCONN_IND (0x03)
sjallouli 0:a948f5f3904c 72
sjallouli 0:a948f5f3904c 73
sjallouli 0:a948f5f3904c 74 /* 0X04-0XFF RESERVED */
sjallouli 0:a948f5f3904c 75
sjallouli 0:a948f5f3904c 76
sjallouli 0:a948f5f3904c 77 /**
sjallouli 0:a948f5f3904c 78 * lowest allowed interval value for connectable types(20ms)..multiple of 625us
sjallouli 0:a948f5f3904c 79 */
sjallouli 0:a948f5f3904c 80 #define ADV_INTERVAL_LOWEST_CONN (0X0020)
sjallouli 0:a948f5f3904c 81
sjallouli 0:a948f5f3904c 82 /**
sjallouli 0:a948f5f3904c 83 * highest allowed interval value (10.24s)..multiple of 625us.
sjallouli 0:a948f5f3904c 84 */
sjallouli 0:a948f5f3904c 85 #define ADV_INTERVAL_HIGHEST (0X4000)
sjallouli 0:a948f5f3904c 86
sjallouli 0:a948f5f3904c 87 /**
sjallouli 0:a948f5f3904c 88 * lowest allowed interval value for non connectable types
sjallouli 0:a948f5f3904c 89 * (100ms)..multiple of 625us.
sjallouli 0:a948f5f3904c 90 */
sjallouli 0:a948f5f3904c 91 #define ADV_INTERVAL_LOWEST_NONCONN (0X00a0)
sjallouli 0:a948f5f3904c 92
sjallouli 0:a948f5f3904c 93 /**
sjallouli 0:a948f5f3904c 94 * Default value of advertising interval for both min/max values.
sjallouli 0:a948f5f3904c 95 * This will be used if host does not specify any advertising parameters
sjallouli 0:a948f5f3904c 96 * including advIntervalMax and advIntervalMin
sjallouli 0:a948f5f3904c 97 * value = 1.28 sec (in units of 625 us)
sjallouli 0:a948f5f3904c 98 */
sjallouli 0:a948f5f3904c 99 #define ADV_INTERVAL_DEFAULT (0x0800)
sjallouli 0:a948f5f3904c 100
sjallouli 0:a948f5f3904c 101 #define ADV_CH_37 0x01
sjallouli 0:a948f5f3904c 102 #define ADV_CH_38 0x02
sjallouli 0:a948f5f3904c 103 #define ADV_CH_39 0x04
sjallouli 0:a948f5f3904c 104
sjallouli 0:a948f5f3904c 105
sjallouli 0:a948f5f3904c 106
sjallouli 0:a948f5f3904c 107 #endif /* _LINK_LAYER_H */