• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 Chipsea Technologies (Shenzhen) Corp., Ltd. All rights reserved.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef _BLE_IP_TASK_H
17 #define _BLE_IP_TASK_H
18 
19 // Link Layer Tasks
20 #define TASK_ID_LLM (0)
21 #define TASK_ID_LLC (1)
22 #define TASK_ID_LLD (2)
23 #define TASK_ID_LLI (3)
24 #define TASK_ID_DBG (4)
25 
26 // BT Controller Tasks
27 #define TASK_ID_LM (5)
28 #define TASK_ID_LC (6)
29 #define TASK_ID_LB (7)
30 #define TASK_ID_LD (8)
31 
32 #define TASK_ID_L2CC  (10)
33 #define TASK_ID_GATTM (11)
34 #define TASK_ID_GATTC (12)
35 #define TASK_ID_GAPM  (13)
36 #define TASK_ID_GAPC  (14)
37 #define TASK_ID_APP   (15)
38 
39 #define TASK_ID_AHI     (16)
40 #define TASK_ID_HCI     (17)
41 #define TASK_ID_DISPLAY (19)
42 
43 #define TASK_ID_DISS        (20)
44 #define TASK_ID_DISC        (21)
45 #define TASK_ID_PROXM       (22)
46 #define TASK_ID_PROXR       (23)
47 #define TASK_ID_FINDL       (24)
48 #define TASK_ID_FINDT       (25)
49 #define TASK_ID_HTPC        (26)
50 #define TASK_ID_HTPT        (27)
51 #define TASK_ID_BLPS        (28)
52 #define TASK_ID_BLPC        (29)
53 #define TASK_ID_HRPS        (30)
54 #define TASK_ID_HRPC        (31)
55 #define TASK_ID_TIPS        (32)
56 #define TASK_ID_TIPC        (33)
57 #define TASK_ID_SCPPS       (34)
58 #define TASK_ID_SCPPC       (35)
59 #define TASK_ID_BASS        (36)
60 #define TASK_ID_BASC        (37)
61 #define TASK_ID_HOGPD       (38)
62 #define TASK_ID_HOGPBH      (39)
63 #define TASK_ID_HOGPRH      (40)
64 #define TASK_ID_GLPS        (41)
65 #define TASK_ID_GLPC        (42)
66 #define TASK_ID_RSCPS       (43)
67 #define TASK_ID_RSCPC       (44)
68 #define TASK_ID_CSCPS       (45)
69 #define TASK_ID_CSCPC       (46)
70 #define TASK_ID_ANPS        (47)
71 #define TASK_ID_ANPC        (48)
72 #define TASK_ID_PASPS       (49)
73 #define TASK_ID_PASPC       (50)
74 #define TASK_ID_CPPS        (51)
75 #define TASK_ID_CPPC        (52)
76 #define TASK_ID_LANS        (53)
77 #define TASK_ID_LANC        (54)
78 #define TASK_ID_IPSS        (55)
79 #define TASK_ID_IPSC        (56)
80 #define TASK_ID_ENVS        (57)
81 #define TASK_ID_ENVC        (58)
82 #define TASK_ID_WSCS        (59)
83 #define TASK_ID_WSCC        (60)
84 #define TASK_ID_UDSS        (61)
85 #define TASK_ID_UDSC        (62)
86 #define TASK_ID_BCSS        (63)
87 #define TASK_ID_BCSC        (64)
88 #define TASK_ID_SMARTCONFIG (66)
89 #define TASK_ID_AM0         (240)
90 #define TASK_ID_AM0_HAS     (241)
91 #define TASK_ID_INVALID     (0xFF)
92 
93 /// Build the first message ID of a task. (in fact a ke_msg_id_t)
94 #define TASK_FIRST_MSG(task) ((uint16_t)((task) << 8))
95 
96 /// Builds the task identifier from the type and the index of that task.
97 #define TASK_BUILD(type, index) ((uint16_t)(((index) << 8)|(type)) )
98 
99 /// Retrieves task type from task id.
100 #define TASK_TYPE_GET(ke_task_id) (((uint16_t)ke_task_id) & 0xFF)
101 
102 /// Retrieves task index number from task id.
103 #define TASK_IDX_GET(ke_task_id) ((((uint16_t)ke_task_id) >> 8) & 0xFF)
104 
105 #endif // _BLE_IP_TASK_H
106