![]() |
RZG Flexible Software Package Documentation
Release v3.1.0
|
|
Interface for Message Handling Unit.
The Message Handling Unit interface provides a common API for MHU HAL drivers. The Message Handling Unit interface supports:
Data Structures | |
| struct | mhu_callback_args_t |
| struct | mhu_cfg_t |
| struct | mhu_api_t |
| struct | mhu_instance_t |
Typedefs | |
| typedef void | mhu_ctrl_t |
Enumerations | |
| enum | mhu_send_type_t |
| struct mhu_callback_args_t |
MHU callback parameter definition
| Data Fields | ||
|---|---|---|
| void const * | p_context |
Placeholder for user data. Set in mhu_api_t::open function in mhu_cfg_t. |
| uint32_t | channel | Channel where the receive interrupt occurred. |
| uint32_t | msg | 32-bit received data. |
| struct mhu_cfg_t |
MHU configuration block
Data Fields | |
| uint32_t | channel |
| Identifier recognizable by implementation. More... | |
| uint8_t | rx_ipl |
| Receive interrupt priority. | |
| IRQn_Type | rx_irq |
| Receive interrupt ID. | |
| void(* | p_callback )(mhu_callback_args_t *p_args) |
| Pointer to callback function. More... | |
| void const * | p_shared_memory |
| Pointer to 64-bit send/receive data buffer. | |
| void const * | p_context |
| void const * | p_extend |
| Extension parameter for hardware specific settings. | |
| uint32_t mhu_cfg_t::channel |
Identifier recognizable by implementation.
Generic configuration
| void(* mhu_cfg_t::p_callback) (mhu_callback_args_t *p_args) |
Pointer to callback function.
Parameters to control software behavior
| void const* mhu_cfg_t::p_context |
Placeholder for user data. Passed to the user callback in mhu_callback_args_t.
| struct mhu_api_t |
Interface definition for MHU
Data Fields | |
| fsp_err_t(* | open )(mhu_ctrl_t *const p_ctrl, mhu_cfg_t const *const p_cfg) |
| fsp_err_t(* | msgSend )(mhu_ctrl_t *const p_ctrl, uint32_t const msg) |
| fsp_err_t(* | callbackSet )(mhu_ctrl_t *const p_ctrl, void(*p_callback)(mhu_callback_args_t *), void const *const p_context, mhu_callback_args_t *const p_callback_memory) |
| fsp_err_t(* | close )(mhu_ctrl_t *const p_ctrl) |
| fsp_err_t(* mhu_api_t::open) (mhu_ctrl_t *const p_ctrl, mhu_cfg_t const *const p_cfg) |
Opens the MHU driver and initializes the hardware.
| [in] | p_ctrl | Pointer to control block. Must be declared by user. Elements are set here. |
| [in] | p_cfg | Pointer to configuration structure. |
| fsp_err_t(* mhu_api_t::msgSend) (mhu_ctrl_t *const p_ctrl, uint32_t const msg) |
Performs a send operation on an MHU device.
| [in] | p_ctrl | Pointer to control block set in mhu_api_t::open call. |
| [in] | msg | 32bit send data. |
| fsp_err_t(* mhu_api_t::callbackSet) (mhu_ctrl_t *const p_ctrl, void(*p_callback)(mhu_callback_args_t *), void const *const p_context, mhu_callback_args_t *const p_callback_memory) |
Specify callback function and optional context pointer and working memory pointer.
| [in] | p_ctrl | Control block set in mhu_api_t::open call for this channel. |
| [in] | p_callback | Callback function to register |
| [in] | p_context | Pointer to send to callback function |
| [in] | p_callback_memory | Pointer to volatile memory where callback structure can be allocated. Callback arguments allocated here are only valid during the callback. |
| fsp_err_t(* mhu_api_t::close) (mhu_ctrl_t *const p_ctrl) |
Closes the driver and releases the MHU device.
| [in] | p_ctrl | Pointer to control block set in mhu_api_t::open call. |
| struct mhu_instance_t |
This structure encompasses everything that is needed to use an instance of this interface.
| Data Fields | ||
|---|---|---|
| mhu_ctrl_t * | p_ctrl | Pointer to the control structure for this instance. |
| mhu_cfg_t const * | p_cfg | Pointer to the configuration structure for this instance. |
| mhu_api_t const * | p_api | Pointer to the API structure for this instance. |
| typedef void mhu_ctrl_t |
MHU control block. Allocate an instance specific control block to pass into the MHU API calls.
| enum mhu_send_type_t |