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 /*chipsea_ohos proguard begin*/
16 #include "cs_proguard.h"
17 /*chipsea_ohos proguard end*/
18 #include "csble_dbg.h"
19
20 uint32_t csble_dbg_area = 0x0;
21 uint32_t csble_dbg_level = 0x0;
22 uint32_t csble_dump_area = 0x0;
23
csble_set_dbgarea(uint32_t dbg_area)24 void csble_set_dbgarea(uint32_t dbg_area)
25 {
26 csble_dbg_area = dbg_area;
27 }
28
csble_set_dbglevel(uint32_t dbg_level)29 void csble_set_dbglevel(uint32_t dbg_level)
30 {
31 csble_dbg_level= dbg_level;
32 }
33
csble_set_dumparea(uint32_t dump_area)34 void csble_set_dumparea(uint32_t dump_area)
35 {
36 csble_dump_area= dump_area;
37 }
38
csble_get_dbgarea()39 uint32_t csble_get_dbgarea()
40 {
41 return csble_dbg_area;
42 }
43
csble_get_dbglevel()44 uint32_t csble_get_dbglevel()
45 {
46 return csble_dbg_level;
47 }
48
csble_get_dumparea()49 uint32_t csble_get_dumparea()
50 {
51 return csble_dump_area;
52 }
53
dump_buf(const uint8_t * buf,uint16_t len)54 void dump_buf(const uint8_t *buf, uint16_t len)
55 {
56 int i;
57
58 for (i=0;i<len;i++) {
59 if((i%8 == 0))
60 dbg(" ");
61 dbg("%02x ", buf[i]);
62 if((i+1)%16 == 0)
63 dbg("\n");
64 }
65 dbg("\n");
66 }
67
csble_dbgarea(int dbg_flags)68 char *csble_dbgarea(int dbg_flags)
69 {
70 switch (dbg_flags) {
71 case CSBLE_HCI_VAL:
72 return "[BLE_HCI]";
73 case CSBLE_L2CAP_VAL:
74 return "[BLE_L2CAP]";
75 case CSBLE_ATT_VAL:
76 return "[BLE_ATT]";
77 case CSBLE_GATT_VAL:
78 return "[BLE_GATT]";
79 case CSBLE_SMP_VAL:
80 return "[BLE_SMP]";
81 case CSBLE_GAP_VAL:
82 return "[BLE_GAP]";
83 case CSBLE_APP_VAL:
84 return "[BLE_APP]";
85 case CSBLE_PRF_VAL:
86 return "[BLE_PRF]";
87 default:
88 return "[BLE_UNKNOW]";
89 }
90 }
91
csble_dumparea(int dump_area)92 char *csble_dumparea(int dump_area)
93 {
94 switch (dump_area) {
95 case CSBLE_TX_ACL_AREA:
96 return "[TX_ACL]";
97 case CSBLE_TX_CMD_AREA:
98 return "[TX_CMD]";
99 case CSBLE_RX_EVENT_AREA:
100 return "[RX_EVENT]";
101 case CSBLE_RX_ACL_AREA:
102 return "[RX_ACL]";
103 case CSBLE_LTK_AREA:
104 return "[LTK]";
105 default:
106 return "[UNKNOW]";
107 }
108 }
109
csble_dbg_hex_dump(int area,const void * data,size_t size)110 void csble_dbg_hex_dump(int area, const void *data, size_t size)
111 {
112 dbg("%s============== Hex Data Begin ==============\n",
113 csble_dumparea(area));
114 dump_buf(data, size);
115 dbg("%s============== Hex Data End ================\n",
116 csble_dumparea(area));
117 }
118
119