-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathb_wba5m_wpan_bus.h
More file actions
128 lines (108 loc) · 3.51 KB
/
Copy pathb_wba5m_wpan_bus.h
File metadata and controls
128 lines (108 loc) · 3.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/**
******************************************************************************
* @file b_wba5m_wpan_bus.h
* @author MCD Application Team
* @brief This file contains definitions for B_WBA5M_WPAN bus.
******************************************************************************
* @attention
*
* Copyright (c) 2024 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef B_WBA5M_WPAN_BUS_H
#define B_WBA5M_WPAN_BUS_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* Includes ------------------------------------------------------------------*/
#include "b_wba5m_wpan_conf.h"
#include "b_wba5m_wpan_errno.h"
/** @addtogroup BSP
* @{
*/
/** @addtogroup B_WBA5M_WPAN
* @{
*/
/** @addtogroup B_WBA5M_WPAN_BUS
* @{
*/
/** @defgroup B_WBA5M_WPAN_BUS_Exported_Types B_WBA5M_WPAN BUS Exported Types
* @{
*/
#if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
typedef struct
{
pI2C_CallbackTypeDef pMspI2cInitCb;
pI2C_CallbackTypeDef pMspI2cDeInitCb;
} BSP_I2C_Cb_t;
#endif /* (USE_HAL_I2C_REGISTER_CALLBACKS == 1) */
/**
* @}
*/
/** @defgroup B_WBA5M_WPAN_BUS_Exported_Constants B_WBA5M_WPAN BUS Exported Constants
* @{
*/
#define BUS_I2C3 I2C3
#define BUS_I2C3_CLK_ENABLE() __HAL_RCC_I2C3_CLK_ENABLE()
#define BUS_I2C3_CLK_DISABLE() __HAL_RCC_I2C3_CLK_DISABLE()
#define BUS_I2C3_FORCE_RESET() __HAL_RCC_I2C3_FORCE_RESET()
#define BUS_I2C3_RELEASE_RESET() __HAL_RCC_I2C3_RELEASE_RESET()
#define BUS_I2C3_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
#define BUS_I2C3_SCL_GPIO_PIN GPIO_PIN_6
#define BUS_I2C3_SCL_GPIO_PORT GPIOA
#define BUS_I2C3_SCL_GPIO_AF GPIO_AF4_I2C3
#define BUS_I2C3_SDA_GPIO_PIN GPIO_PIN_7
#define BUS_I2C3_SDA_GPIO_PORT GPIOA
#define BUS_I2C3_SDA_GPIO_AF GPIO_AF4_I2C3
#define BUS_I2C3_TIMEOUT 10000U
/**
* @}
*/
/** @addtogroup B_WBA5M_WPAN_BUS_Exported_Variables
* @{
*/
extern I2C_HandleTypeDef hbus_i2c3;
/**
* @}
*/
/** @addtogroup B_WBA5M_WPAN_BUS_Exported_Functions
* @{
*/
int32_t BSP_I2C3_Init(void);
int32_t BSP_I2C3_DeInit(void);
int32_t BSP_I2C3_WriteReg(uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length);
int32_t BSP_I2C3_ReadReg(uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length);
int32_t BSP_I2C3_WriteReg16(uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length);
int32_t BSP_I2C3_ReadReg16(uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length);
int32_t BSP_I2C3_Send(uint16_t DevAddr, uint8_t *pData, uint16_t Length);
int32_t BSP_I2C3_Recv(uint16_t DevAddr, uint8_t *pData, uint16_t Length);
int32_t BSP_I2C3_IsReady(uint16_t DevAddr, uint32_t Trials);
#if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
int32_t BSP_I2C3_RegisterDefaultMspCallbacks(void);
int32_t BSP_I2C3_RegisterMspCallbacks(BSP_I2C_Cb_t *Callbacks);
#endif /* (USE_HAL_I2C_REGISTER_CALLBACKS == 1) */
HAL_StatusTypeDef MX_I2C3_Init(I2C_HandleTypeDef *hI2c, uint32_t timing);
int32_t BSP_GetTick(void);
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* B_WBA5M_WPAN_BUS_H */