1 /**
2   ******************************************************************************
3   * @file    hw.h
4   * @author  MCD Application Team
5   * @brief   Hardware
6   ******************************************************************************
7    * @attention
8   *
9   * Copyright (c) 2018-2021 STMicroelectronics.
10   * All rights reserved.
11   *
12   * This software is licensed under terms that can be found in the LICENSE file
13   * in the root directory of this software component.
14   * If no LICENSE file comes with this software, it is provided AS-IS.
15   *
16   ******************************************************************************
17  */
18 
19 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef __HW_H
22 #define __HW_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28   /* Includes ------------------------------------------------------------------*/
29 
30   /******************************************************************************
31    * HW IPCC
32    ******************************************************************************/
33   void HW_IPCC_Enable( void );
34   void HW_IPCC_Init( void );
35   void HW_IPCC_Rx_Handler( void );
36   void HW_IPCC_Tx_Handler( void );
37 
38   void HW_IPCC_BLE_Init( void );
39   void HW_IPCC_BLE_SendCmd( void );
40   void HW_IPCC_MM_SendFreeBuf( void (*cb)( void ) );
41   void HW_IPCC_BLE_RxEvtNot( void );
42   void HW_IPCC_BLE_SendAclData( void );
43   void HW_IPCC_BLE_AclDataAckNot( void );
44 
45   void HW_IPCC_SYS_Init( void );
46   void HW_IPCC_SYS_SendCmd( void );
47   void HW_IPCC_SYS_CmdEvtNot( void );
48   void HW_IPCC_SYS_EvtNot( void );
49 
50   void HW_IPCC_THREAD_Init( void );
51   void HW_IPCC_OT_SendCmd( void );
52   void HW_IPCC_CLI_SendCmd( void );
53   void HW_IPCC_THREAD_SendAck( void );
54   void HW_IPCC_OT_CmdEvtNot( void );
55   void HW_IPCC_CLI_CmdEvtNot( void );
56   void HW_IPCC_THREAD_EvtNot( void );
57   void HW_IPCC_THREAD_CliSendAck( void );
58   void HW_IPCC_THREAD_CliEvtNot( void );
59 
60 
61   void HW_IPCC_LLDTESTS_Init( void );
62   void HW_IPCC_LLDTESTS_SendCliCmd( void );
63   void HW_IPCC_LLDTESTS_ReceiveCliRsp( void );
64   void HW_IPCC_LLDTESTS_SendCliRspAck( void );
65   void HW_IPCC_LLDTESTS_ReceiveM0Cmd( void );
66   void HW_IPCC_LLDTESTS_SendM0CmdAck( void );
67 
68 
69   void HW_IPCC_BLE_LLD_Init( void );
70   void HW_IPCC_BLE_LLD_SendCliCmd( void );
71   void HW_IPCC_BLE_LLD_ReceiveCliRsp( void );
72   void HW_IPCC_BLE_LLD_SendCliRspAck( void );
73   void HW_IPCC_BLE_LLD_ReceiveM0Cmd( void );
74   void HW_IPCC_BLE_LLD_SendM0CmdAck( void );
75   void HW_IPCC_BLE_LLD_SendCmd( void );
76   void HW_IPCC_BLE_LLD_ReceiveRsp( void );
77   void HW_IPCC_BLE_LLD_SendRspAck( void );
78 
79 
80   void HW_IPCC_TRACES_Init( void );
81   void HW_IPCC_TRACES_EvtNot( void );
82 
83   void HW_IPCC_MAC_802_15_4_Init( void );
84   void HW_IPCC_MAC_802_15_4_SendCmd( void );
85   void HW_IPCC_MAC_802_15_4_SendAck( void );
86   void HW_IPCC_MAC_802_15_4_CmdEvtNot( void );
87   void HW_IPCC_MAC_802_15_4_EvtNot( void );
88 
89   void HW_IPCC_ZIGBEE_Init( void );
90 
91   void HW_IPCC_ZIGBEE_SendM4RequestToM0(void); /* M4 Request to M0 */
92   void HW_IPCC_ZIGBEE_RecvAppliAckFromM0(void); /* Request ACK from M0 */
93 
94   void HW_IPCC_ZIGBEE_RecvM0NotifyToM4(void); /* M0 Notify to M4 */
95   void HW_IPCC_ZIGBEE_SendM4AckToM0Notify(void); /* Notify ACK from M4 */
96   void HW_IPCC_ZIGBEE_RecvM0RequestToM4(void); /* M0 Request to M4 */
97   void HW_IPCC_ZIGBEE_SendM4AckToM0Request(void); /* Request ACK from M4 */
98 
99 
100 #ifdef __cplusplus
101 }
102 #endif
103 
104 #endif /*__HW_H */
105 
106