![]() |
Synergy Software Package User's Manual
|
#include <r_transfer_api.h>
Data Fields | |
| ssp_err_t(* | open )(transfer_ctrl_t *const p_ctrl, transfer_cfg_t const *const p_cfg) |
| ssp_err_t(* | reset )(transfer_ctrl_t *const p_ctrl, void const *p_src, void *p_dest, uint16_t const num_transfers) |
| ssp_err_t(* | enable )(transfer_ctrl_t *const p_ctrl) |
| ssp_err_t(* | disable )(transfer_ctrl_t *const p_ctrl) |
| ssp_err_t(* | start )(transfer_ctrl_t *const p_ctrl, transfer_start_mode_t mode) |
| ssp_err_t(* | stop )(transfer_ctrl_t *const p_ctrl) |
| ssp_err_t(* | infoGet )(transfer_ctrl_t *const p_ctrl, transfer_properties_t *const p_info) |
| ssp_err_t(* | close )(transfer_ctrl_t *const p_ctrl) |
| ssp_err_t(* | versionGet )(ssp_version_t *const p_version) |
| ssp_err_t(* | blockReset )(transfer_ctrl_t *const p_ctrl, void const *p_src, void *p_dest, uint16_t const length, transfer_size_t size, uint16_t const num_transfers) |
| ssp_err_t(* | Stop_ActivationRequest )(transfer_ctrl_t *const p_ctrl) |
Transfer functions implemented at the HAL layer will follow this API.
| ssp_err_t(* transfer_api_t::blockReset) (transfer_ctrl_t *const p_ctrl, void const *p_src, void *p_dest, uint16_t const length, transfer_size_t size, uint16_t const num_transfers) |
Reset source address pointer, destination address pointer, and/or length, for block transfer keeping all other settings the same. Enable the transfer if p_src, p_dest, and length are valid.
| [in] | p_ctrl | Control block set in transfer_api_t::open call for this transfer. |
| [in] | p_src | Pointer to source. Set to NULL if source pointer should not change. |
| [in] | p_dest | Pointer to destination. Set to NULL if destination pointer should not change. |
| [in] | length | Transfer length in block mode.In DMAC only. |
| [in] | size | Transfer size in block mode. In DMAC only. |
| [in] | num_transfers | number of blocks in block mode. In DMAC only. |
| ssp_err_t(* transfer_api_t::close) (transfer_ctrl_t *const p_ctrl) |
Releases hardware lock. This allows a transfer to be reconfigured using transfer_api_t::open.
| [in] | p_ctrl | Control block set in transfer_api_t::open call for this transfer. |
| ssp_err_t(* transfer_api_t::disable) (transfer_ctrl_t *const p_ctrl) |
Disable transfer. Transfers do not occur after the transfer_info_t::activation source event (or when transfer_api_t::start is called if ELC_EVENT_ELC_SOFTWARE_EVENT_0 or ELC_EVENT_ELC_SOFTWARE_EVENT_0 is chosen as transfer_info_t::activation_source).
| [in] | p_ctrl | Control block set in transfer_api_t::open call for this transfer. |
| ssp_err_t(* transfer_api_t::enable) (transfer_ctrl_t *const p_ctrl) |
Enable transfer. Transfers occur after the activation source event (or when transfer_api_t::start is called if ELC_EVENT_ELC_SOFTWARE_EVENT_0 or ELC_EVENT_ELC_SOFTWARE_EVENT_0 is chosen as activation source).
| [in] | p_ctrl | Control block set in transfer_api_t::open call for this transfer. |
| ssp_err_t(* transfer_api_t::infoGet) (transfer_ctrl_t *const p_ctrl, transfer_properties_t *const p_info) |
Provides information about this transfer.
| [in] | p_ctrl | Control block set in transfer_api_t::open call for this transfer. |
| [out] | p_info | Driver specific information. |
| ssp_err_t(* transfer_api_t::open) (transfer_ctrl_t *const p_ctrl, transfer_cfg_t const *const p_cfg) |
Initial configuration. Enables the transfer if auto_enable is true and p_src, p_dest, and length are valid. Transfers can also be enabled using transfer_api_t::enable or transfer_api_t::reset.
| [in,out] | p_ctrl | Pointer to control block. Must be declared by user. Elements set here. |
| [in] | p_cfg | Pointer to configuration structure. All elements of this structure must be set by user. |
| ssp_err_t(* transfer_api_t::reset) (transfer_ctrl_t *const p_ctrl, void const *p_src, void *p_dest, uint16_t const num_transfers) |
Reset source address pointer, destination address pointer, and/or length, keeping all other settings the same. Enable the transfer if p_src, p_dest, and length are valid.
| [in] | p_ctrl | Control block set in transfer_api_t::open call for this transfer. |
| [in] | p_src | Pointer to source. Set to NULL if source pointer should not change. |
| [in] | p_dest | Pointer to destination. Set to NULL if destination pointer should not change. |
| [in] | num_transfers | Transfer length in normal mode or number of blocks in block mode. In DMAC only, resets number of repeats (initially stored in transfer_info_t::num_blocks) in repeat mode. Not used in repeat mode for DTC. |
| ssp_err_t(* transfer_api_t::start) (transfer_ctrl_t *const p_ctrl, transfer_start_mode_t mode) |
Start transfer in software.
| [in] | p_ctrl | Control block set in transfer_api_t::open call for this transfer. |
| [in] | mode | Select mode from transfer_start_mode_t. |
| ssp_err_t(* transfer_api_t::stop) (transfer_ctrl_t *const p_ctrl) |
Stop transfer in software. The transfer will stop after completion of the current transfer.
| [in] | p_ctrl | Control block set in transfer_api_t::open call for this transfer. |
| ssp_err_t(* transfer_api_t::Stop_ActivationRequest) (transfer_ctrl_t *const p_ctrl) |
Clears the DMA activation request with a DMA dummy transfer as per flowchart in the hardware manual. Implements transfer_api_t::Stop_ActivationRequest.
| [in] | p_ctrl | Control block set in transfer_api_t::open call for this transfer. |
| ssp_err_t(* transfer_api_t::versionGet) (ssp_version_t *const p_version) |
Gets version and stores it in provided pointer p_version.
| [out] | p_version | Code and API version used. |