1 /*
2  * Copyright (C) 2015-2020 Alibaba Group Holding Limited
3  */
4 #ifndef A7_CMD_H
5 #define A7_CMD_H
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #define A7_CMD_MAX_LEN  120
11 typedef enum {
12     AUD_DUMP_SRC_BEFORE_ALG,
13     AUD_DUMP_SRC_INTER_ALG,
14     AUD_DUMP_SRC_AFTER_ALG,
15 
16     AUD_DUMP_SRC_NUM,
17 }AUD_DUMP_SRC_T;
18 
19 typedef enum {
20     A7_CMD_TYPE_DEBUG_MM,
21     A7_CMD_TYPE_AUDIO_DUMP,
22     A7_CMD_TYPE_UART2_TRACE,
23     A7_CMD_TYPE_STATPRINT,
24     A7_CMD_TYPE_PANIC,
25     A7_CMD_TYPE_HEAP_INIT,
26     A7_CMD_TYPE_HANDSHAKE,
27     A7_CMD_TYPE_DUMP_CFG,
28     A7_CMD_TYPE_AISPEECH,
29     A7_CMD_TYPE_USER,
30     A7_CMD_TYPE_NUM,
31 }A7_CMD_TYPE_T;
32 
33 typedef struct {
34     A7_CMD_TYPE_T type;
35     unsigned int p1;
36     unsigned int p2;
37 }A7_CMD_T;
38 
39 typedef void (* a7_cmd_callback_t)(char *data, int len);
40 
41 void a7_cmd_init(void);
42 void a7_cmd_send(void *data, int len);
43 void mcu_cmd_send(A7_CMD_T *cmd);
44 void a7_cmd_send2(A7_CMD_T *cmd);
45 void a7_cmd_recv_init(void);
46 void set_a7_cmd_callback_handler (a7_cmd_callback_t callback);
47 
48 #ifdef __cplusplus
49 }
50 #endif
51 
52 #endif
53