forked from dsouzahansenfrancis/STBTLE
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlink_layer.h
161 lines (134 loc) · 3.58 KB
/
link_layer.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
* File Name : link_layer.h
* Author : AMS - HEA&RF BU
* Version : V1.0.0
* Date : 19-July-2012
* Description : Header file for BlueNRG's link layer. It contains
* definition of functions for link layer, most of which are
* mapped to HCI commands.
********************************************************************************
* 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 _LINK_LAYER_H
#define _LINK_LAYER_H
#include <ble_status.h>
/**
*@addtogroup GAP GAP
*@brief API for GAP layer.
*@{
*/
/**
*@name Advertising filter
*Advertising policy for filtering (white list related)
*@{
*/
#define NO_WHITE_LIST_USE (0x00) /**< Process scan and connection requests from all devices (i.e., the White List is not in use) */
#define WHITE_LIST_FOR_ONLY_SCAN (0x01) /**< Process connection requests from all devices and only scan requests from devices that are in the White List */
#define WHITE_LIST_FOR_ONLY_CONN (0x02) /**< Process scan requests from all devices and only connection requests from devices that are in the White List */
#define WHITE_LIST_FOR_ALL (0x03) /**< Process scan and connection requests only from devices in the White List. */
/**
* @}
*/
/**
* Bluetooth 48 bit address (in little-endian order).
*/
typedef uint8_t tBDAddr[6];
/**
*@name Bluetooth address types
* Bluetooth address types
*@{
*/
#define PUBLIC_ADDR (0)
#define RANDOM_ADDR (1)
#define STATIC_RANDOM_ADDR (1)
#define RESOLVABLE_PRIVATE_ADDR (2)
#define NON_RESOLVABLE_PRIVATE_ADDR (3)
/**
* @}
*/
/**
*@name Directed advertising types
* Type of advertising during directed advertising
*@{
*/
#define HIGH_DUTY_CYCLE_DIRECTED_ADV (1)
#define LOW_DUTY_CYCLE_DIRECTED_ADV (4)
/**
* @}
*/
/**
* @name Advertising type
* @{
*/
/**
* undirected scannable and connectable
*/
#define ADV_IND (0x00)
/**
* directed non scannable
*/
#define ADV_DIRECT_IND (0x01)
/**
* scannable non connectable
*/
#define ADV_SCAN_IND (0x02)
/**
* non-connectable and no scan response (used for passive scan)
*/
#define ADV_NONCONN_IND (0x03)
/**
* scan response
*/
#define SCAN_RSP (0x04)
/**
* @}
*/
/* 0X05-0XFF RESERVED */
/**
* @name Advertising ranges
* @{
*/
/**
* lowest allowed interval value for connectable types(20ms)..multiple of 625us
*/
#define ADV_INTERVAL_LOWEST_CONN (0X0020)
/**
* highest allowed interval value (10.24s)..multiple of 625us.
*/
#define ADV_INTERVAL_HIGHEST (0X4000)
/**
* lowest allowed interval value for non connectable types
* (100ms)..multiple of 625us.
*/
#define ADV_INTERVAL_LOWEST_NONCONN (0X00a0)
/**
* @}
*/
/**
* @name Advertising channels
* @{
*/
#define ADV_CH_37 0x01
#define ADV_CH_38 0x02
#define ADV_CH_39 0x04
/**
* @}
*/
/**
* @name Scan_types Scan types
* @{
*/
#define PASSIVE_SCAN 0
#define ACTIVE_SCAN 1
/**
* @}
*/
/**
* @}
*/
#endif /* _LINK_LAYER_H */