• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 The Android Open Source Project
3  *
4  * Copyright 2021 NXP.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * You may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *        http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 
19 /******************************************************************************
20  *
21  *  defines UCI interface messages (for DH)
22  *
23  ******************************************************************************/
24 #ifndef UWB_UCI_HMSGS_H
25 #define UWB_UCI_HMSGS_H
26 
27 #include <stdbool.h>
28 
29 #include "uci_defs.h"
30 #include "uwb_types.h"
31 
32 uint8_t uci_snd_get_device_info_cmd(void);
33 uint8_t uci_snd_device_reset_cmd(uint8_t resetConfig);
34 uint8_t uci_snd_core_set_config_cmd(uint8_t* p_param_tlvs, uint8_t tlv_size);
35 uint8_t uci_snd_core_get_config_cmd(uint8_t* param_ids, uint8_t num_ids);
36 uint8_t uci_snd_core_get_device_capability(void);
37 uint8_t uci_snd_session_init_cmd(uint32_t session_id, uint8_t session_type);
38 uint8_t uci_snd_session_deinit_cmd(uint32_t session_id);
39 uint8_t uci_snd_get_session_count_cmd(void);
40 uint8_t uci_snd_get_range_count_cmd(uint32_t session_id);
41 uint8_t uci_snd_get_session_status_cmd(uint32_t session_id);
42 uint8_t uci_snd_multicast_list_update_cmd(uint32_t session_id, uint8_t action,
43                                           uint8_t noOfControlees,
44                                           uint16_t* shortAddressList,
45                                           uint32_t* subSessionIdList);
46 uint8_t uci_snd_set_country_code_cmd(uint8_t* country_code);
47 uint8_t uci_snd_app_get_config_cmd(uint32_t session_id, uint8_t num_ids,
48                                    uint8_t length, uint8_t* param_ids);
49 uint8_t uci_snd_app_set_config_cmd(uint32_t session_id, uint8_t num_ids,
50                                    uint8_t length, uint8_t* data);
51 uint8_t uci_snd_range_start_cmd(uint32_t session_id);
52 uint8_t uci_snd_range_stop_cmd(uint32_t session_id);
53 uint8_t uci_snd_blink_data_cmd(uint32_t session_id, uint8_t repetition_count,
54                                uint8_t app_data_len, uint8_t* app_data);
55 
56 /*  APIs for UWB RF test functionality */
57 uint8_t uci_snd_test_get_config_cmd(uint32_t session_id, uint8_t num_ids,
58                                     uint8_t length, uint8_t* param_ids);
59 uint8_t uci_snd_test_set_config_cmd(uint32_t session_id, uint8_t num_ids,
60                                     uint8_t length, uint8_t* data);
61 uint8_t uci_snd_test_periodic_tx_cmd(uint16_t length, uint8_t* data);
62 uint8_t uci_snd_test_per_rx_cmd(uint16_t length, uint8_t* data);
63 uint8_t uci_snd_test_uwb_loopback_cmd(uint16_t length, uint8_t* data);
64 uint8_t uci_snd_test_stop_session_cmd(void);
65 uint8_t uci_snd_test_rx_cmd(void);
66 
67 extern void uci_proc_session_management_rsp(uint8_t op_code, uint8_t* p_buf,
68                                             uint16_t len);
69 extern void uci_proc_session_management_ntf(uint8_t op_code, uint8_t* p_buf,
70                                             uint16_t len);
71 extern void uci_proc_device_management_ntf(uint8_t op_code, uint8_t* p_buf,
72                                            uint16_t len);
73 extern void uci_proc_core_management_ntf(uint8_t op_code, uint8_t* p_buf,
74                                          uint16_t len);
75 extern void uci_proc_rang_management_rsp(uint8_t op_code, uint8_t* p_buf,
76                                          uint16_t len);
77 extern void uci_proc_rang_management_ntf(uint8_t op_code, uint8_t* p_buf,
78                                          uint16_t len);
79 extern void uci_proc_android_rsp(uint8_t op_code, uint8_t* p_buf, uint16_t len);
80 extern void uci_proc_test_management_ntf(uint8_t op_code, uint8_t* p_buf,
81                                          uint16_t len);
82 extern void uci_proc_test_management_rsp(uint8_t op_code, uint8_t* p_buf,
83                                          uint16_t len);
84 extern void uci_proc_raw_cmd_rsp(uint8_t* p_buf, uint16_t len);
85 
86 
87 extern void uci_proc_vendor_specific_ntf(uint8_t gid, uint8_t* p_buf, uint16_t len);
88 #endif /* UWB_UCI_MSGS_H */
89