WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
log_oam_msg.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2018-2020. All rights reserved.
3 * Description: LOG oam message recv MODULE
4 */
5
6#ifndef LOG_OAM_MSG_H
7#define LOG_OAM_MSG_H
8
9#include "product.h"
10#include "chip_definitions.h"
17#if SYS_DEBUG_MODE_ENABLE == YES
18
19#ifndef LIB_LOG_READER_LOG_OAM_MSG_H
20#define LIB_LOG_READER_LOG_OAM_MSG_H
21#include "string.h"
22#ifdef SUPPORT_IPC
23#include "ipc.h"
24#endif
25#if CORE != GNSS
26#include "uart.h"
27#endif
28
29#define LOG_OML_HEADER_PRIME_ID_MASK (0x0F)
30#ifdef USE_GPIO_SIMULATE_SSI
31#define LOG_OAM_RX_BUFF_LEN (0x420)
32#else
33#define LOG_OAM_RX_BUFF_LEN (300)
34#endif
35#define LOG_OAM_RX_BUFF_NUM (2)
36#define REGMEM_ADDR_AND_VALUE_MAX_LEN (2)
37
41typedef enum {
42 OAM_RET_OK, // !< operation successful.
43 OAM_ERR_POINT_NULL, // !< operation fail as point to NULL.
44 OAM_ERR_LEN_ERR, // !< operation fail as the len is error.
45 OAM_ERR_OP_ERR, // !< operation fail as the operation field is error.
46 OAM_ERR_SIZE_ERR, // !< operation fail as the size is error.
47 OAM_ERR_VALUE_ERR, // !< operation fail as the value is error.
48} oam_ret_t;
49
56
63
68
69typedef enum {
72 OML_BUFF_USED, /* There is already a complete oml command in this buff */
75
76typedef void (*ramfunc_oml_csstat_cmd)(uint8_t *, uint8_t);
77typedef void (*oam_cmd_handle_callback)(uint8_t *, uint16_t);
78
79typedef struct {
81 uint8_t uc_reserv;
83 uint8_t auc_buff[LOG_OAM_RX_BUFF_LEN];
85
86typedef struct {
87 uint8_t mode;
88 uint8_t reg_mem_size;
89 uint32_t reg_mem_addr_value[REGMEM_ADDR_AND_VALUE_MAX_LEN];
91
99uint32_t parse_reg_or_mem_cmd_operate(const uint8_t *data, uint32_t len, rw_reg_mem_cmd_t *reg_mem_cmd);
100
108uint32_t parse_reg_or_mem_cmd_size(const uint8_t *data, uint32_t len, rw_reg_mem_cmd_t *reg_mem_cmd);
109
117uint32_t parse_reg_or_mem_cmd_addr_value(const uint8_t *data, uint32_t len, rw_reg_mem_cmd_t *reg_mem_cmd);
118
119#ifdef SUPPORT_IPC
129bool ap_bt_hook_data_action_handler(ipc_action_t message,
130 const volatile ipc_payload *payload_p, cores_t src, uint32_t id);
131#endif
132
133#ifdef SUPPORT_IPC
142void send_bt_ap_hook_data(ipc_bt_ap_hook_type_e hook_type, uint32_t addr, uint32_t len, uint32_t value);
143#endif
144#if CORE != GNSS
145void log_uart_rx_callback(const void *buffer, uint16_t length, bool remaining);
146#endif
147bool log_oam_register_handler_callback(uint8_t message_type, oam_cmd_handle_callback callback);
148void log_oam_prase_message(void);
149void oml_msg_parse(uint8_t *data, uint16_t data_len);
150#ifdef SUPPORT_IPC
151bool get_hci_data_action_handler(ipc_action_t message,
152 const volatile ipc_payload *payload_p, cores_t src, uint32_t id);
153#endif
154
155#endif
156
157#else /* SYS_DEBUG_MODE_ENABLE == NO */
158
159#ifndef LIB_LOG_READER_LOG_OAM_MSG_H
160#define LIB_LOG_READER_LOG_OAM_MSG_H
161// This branch should be deleted after the code of BTC has been finished.
162#include <stdint.h>
163#include <stdbool.h>
164#include "log_oam_msg.h"
165#ifdef SUPPORT_IPC
166#include "ipc_actions.h"
167#include "ipc.h"
168#endif
169
170#if (defined CONFIG_DFX_SUPPORT_CUSTOM_LOG) && (CONFIG_DFX_SUPPORT_CUSTOM_LOG == DFX_YES)
171#include "dfx_adapt_typedef.h"
172#endif
173
174typedef void (*oam_cmd_handle_callback)(uint8_t *, uint16_t);
175
185#ifdef SUPPORT_IPC
186void send_bt_ap_hook_data(ipc_bt_ap_hook_type_e hook_type, uint32_t addr, uint32_t len, uint32_t value);
187bool get_hci_data_action_handler(ipc_action_t message,
188 const volatile ipc_payload *payload_p, cores_t src, uint32_t id);
189#endif
190bool log_oam_register_handler_callback(uint8_t message_type, oam_cmd_handle_callback callback);
191#endif
192
193#endif
194
198#endif
cores_t
Generic enum to specify the required core. By using an enum, type safety can be enforced at compile t...
Definition platform_types.h:21
#define REGMEM_ADDR_AND_VALUE_MAX_LEN
Definition log_oam_msg.h:36
oam_ret_t
Definitions of the operation result
Definition log_oam_msg.h:41
OM_TXQUEUE_NODE_STATUS
Definition log_oam_msg.h:64
OM_LOG_CONFIG_RESULT_ENUM
Definition log_oam_msg.h:50
void(* ramfunc_oml_csstat_cmd)(uint8_t *, uint8_t)
Definition log_oam_msg.h:76
bool log_oam_register_handler_callback(uint8_t message_type, oam_cmd_handle_callback callback)
Definition log_oam_msg.c:343
void log_oam_prase_message(void)
Definition log_oam_msg.c:508
uint32_t parse_reg_or_mem_cmd_operate(const uint8_t *data, uint32_t len, rw_reg_mem_cmd_t *reg_mem_cmd)
Parse the opetaion in the command.
Definition log_oam_msg.c:188
#define LOG_OAM_RX_BUFF_LEN
Definition log_oam_msg.h:33
uint32_t parse_reg_or_mem_cmd_size(const uint8_t *data, uint32_t len, rw_reg_mem_cmd_t *reg_mem_cmd)
Parse the value size in the command.
Definition log_oam_msg.c:210
uint32_t parse_reg_or_mem_cmd_addr_value(const uint8_t *data, uint32_t len, rw_reg_mem_cmd_t *reg_mem_cmd)
Parse the addr and value in the command.
Definition log_oam_msg.c:232
OM_IF_TYPE_ENUM
Definition log_oam_msg.h:57
void(* oam_cmd_handle_callback)(uint8_t *, uint16_t)
Definition log_oam_msg.h:77
void oml_msg_parse(uint8_t *data, uint16_t data_len)
Definition log_oam_msg.c:537
oml_buff_status_t
Definition log_oam_msg.h:69
@ OAM_ERR_POINT_NULL
Definition log_oam_msg.h:43
@ OAM_ERR_OP_ERR
Definition log_oam_msg.h:45
@ OAM_RET_OK
Definition log_oam_msg.h:42
@ OAM_ERR_SIZE_ERR
Definition log_oam_msg.h:46
@ OAM_ERR_VALUE_ERR
Definition log_oam_msg.h:47
@ OAM_ERR_LEN_ERR
Definition log_oam_msg.h:44
@ OM_TXQUEUE_NODE_INVALID
Definition log_oam_msg.h:65
@ OM_TXQUEUE_NODE_VALID
Definition log_oam_msg.h:66
@ OM_LOG_CONFIG_RESULT_BUTT
Definition log_oam_msg.h:54
@ OM_LOG_CONFIG_FAIL
Definition log_oam_msg.h:52
@ OM_LOG_CONFIG_SUCCESS
Definition log_oam_msg.h:51
@ OM_IF_UART
Definition log_oam_msg.h:58
@ OM_IF_SDIO
Definition log_oam_msg.h:59
@ OM_IF_TYPE_BUTT
Definition log_oam_msg.h:61
@ OML_BUFF_USING
Definition log_oam_msg.h:71
@ OML_BUFF_NOT_USED
Definition log_oam_msg.h:70
@ OML_BUFF_USED
Definition log_oam_msg.h:72
@ OML_BUFF_BUTT
Definition log_oam_msg.h:73
Definition log_oam_msg.h:79
uint8_t uc_reserv
Definition log_oam_msg.h:81
uint8_t uc_buff_state
Definition log_oam_msg.h:80
uint16_t s_buff_used_len
Definition log_oam_msg.h:82
Definition log_oam_msg.h:86
uint8_t reg_mem_size
Definition log_oam_msg.h:88
uint8_t mode
Definition log_oam_msg.h:87
Definition hal_uart_v151_regs_def.h:38