VSF Documented
Macros | Functions
adc_common.c File Reference
#include "hal/driver/driver.h"

Macros

#define VSF_ADC_CFG_FUNCTION_RENAME   DISABLED
 

Functions

vsf_err_t vsf_adc_init (vsf_adc_t *adc_ptr, vsf_adc_cfg_t *cfg_ptr)
 Initialize an ADC instance.
 
void vsf_adc_fini (vsf_adc_t *adc_ptr)
 Finalize an ADC instance.
 
vsf_err_t vsf_adc_get_configuration (vsf_adc_t *adc_ptr, vsf_adc_cfg_t *cfg_ptr)
 Get current configuration of an ADC instance.
 
fsm_rt_t vsf_adc_enable (vsf_adc_t *adc_ptr)
 Enable an ADC instance.
 
fsm_rt_t vsf_adc_disable (vsf_adc_t *adc_ptr)
 Disable an ADC instance.
 
void vsf_adc_irq_enable (vsf_adc_t *adc_ptr, vsf_adc_irq_mask_t irq_mask)
 Enable interrupt masks of ADC instance.
 
void vsf_adc_irq_disable (vsf_adc_t *adc_ptr, vsf_adc_irq_mask_t irq_mask)
 Disable interrupt masks of ADC instance.
 
vsf_adc_irq_mask_t vsf_adc_irq_clear (vsf_adc_t *adc_ptr, vsf_adc_irq_mask_t irq_mask)
 Clear interrupt flags of ADC instance and return previous state.
 
vsf_adc_status_t vsf_adc_status (vsf_adc_t *adc_ptr)
 Get the status of ADC instance.
 
vsf_adc_capability_t vsf_adc_capability (vsf_adc_t *adc_ptr)
 Get the capability of ADC instance.
 
vsf_err_t vsf_adc_channel_request_once (vsf_adc_t *adc_ptr, vsf_adc_channel_cfg_t *channel_cfg, void *buffer_ptr)
 ADC request sampling once.
 
vsf_err_t vsf_adc_channel_config (vsf_adc_t *adc_ptr, vsf_adc_channel_cfg_t *channel_cfgs_ptr, uint32_t channel_cfgs_cnt)
 ADC channel configuration.
 
vsf_err_t vsf_adc_channel_request (vsf_adc_t *adc_ptr, void *buffer_ptr, uint_fast32_t count)
 ADC channel request.
 
vsf_err_t vsf_adc_ctrl (vsf_adc_t *adc_ptr, vsf_adc_ctrl_t ctrl, void *param)
 Execute a control command on an ADC instance.
 

Macro Definition Documentation

◆ VSF_ADC_CFG_FUNCTION_RENAME

#define VSF_ADC_CFG_FUNCTION_RENAME   DISABLED

Function Documentation

◆ vsf_adc_init()

vsf_err_t vsf_adc_init ( vsf_adc_t adc_ptr,
vsf_adc_cfg_t cfg_ptr 
)

Initialize an ADC instance.

Parameters
[in]adc_ptra pointer to structure vsf_adc_t
[in]cfg_ptra pointer to structure vsf_adc_cfg_t
Returns
vsf_err_t: VSF_ERR_NONE if initialization successful, otherwise returns error code
Note
It is not necessary to call vsf_adc_fini() to deinitialize.
vsf_adc_init() should be called before any other ADC API except vsf_adc_capability().

◆ vsf_adc_fini()

void vsf_adc_fini ( vsf_adc_t adc_ptr)

Finalize an ADC instance.

Parameters
[in]adc_ptra pointer to structure vsf_adc_t
Returns
none

◆ vsf_adc_get_configuration()

vsf_err_t vsf_adc_get_configuration ( vsf_adc_t adc_ptr,
vsf_adc_cfg_t cfg_ptr 
)

Get current configuration of an ADC instance.

Parameters
[in]adc_ptrPointer to ADC instance
[out]cfg_ptrPointer to ADC configuration structure to store current settings
Returns
vsf_err_t VSF_ERR_NONE if successful, otherwise an error code
Note
This function retrieves the current configuration of the ADC instance

◆ vsf_adc_enable()

fsm_rt_t vsf_adc_enable ( vsf_adc_t adc_ptr)

Enable an ADC instance.

Parameters
[in]adc_ptra pointer to structure vsf_adc_t
Returns
fsm_rt_t: FSM_RT_CPL if ADC was enabled, FSM_RT_ON_GOING if ADC is still enabling

◆ vsf_adc_disable()

fsm_rt_t vsf_adc_disable ( vsf_adc_t adc_ptr)

Disable an ADC instance.

Parameters
[in]adc_ptra pointer to structure vsf_adc_t
Returns
fsm_rt_t: FSM_RT_CPL if ADC was disabled, FSM_RT_ON_GOING if ADC is still disabling

◆ vsf_adc_irq_enable()

void vsf_adc_irq_enable ( vsf_adc_t adc_ptr,
vsf_adc_irq_mask_t  irq_mask 
)

Enable interrupt masks of ADC instance.

Parameters
[in]adc_ptra pointer to structure vsf_adc_t
[in]irq_maskone or more values of enum vsf_adc_irq_mask_t
Returns
none
Note
All pending interrupts should be cleared before interrupts are enabled.

◆ vsf_adc_irq_disable()

void vsf_adc_irq_disable ( vsf_adc_t adc_ptr,
vsf_adc_irq_mask_t  irq_mask 
)

Disable interrupt masks of ADC instance.

Parameters
[in]adc_ptra pointer to structure vsf_adc_t
[in]irq_maskone or more values of enum vsf_adc_irq_mask_t
Returns
none

◆ vsf_adc_irq_clear()

vsf_adc_irq_mask_t vsf_adc_irq_clear ( vsf_adc_t adc_ptr,
vsf_adc_irq_mask_t  irq_mask 
)

Clear interrupt flags of ADC instance and return previous state.

Parameters
[in]adc_ptra pointer to structure vsf_adc_t
[in]irq_maskone or more values of enum vsf_adc_irq_mask_t to clear
Returns
vsf_adc_irq_mask_t: the interrupt mask state before clearing (0 if no flags were set)
Note
This function attempts to clear the specified interrupt flags if they are set, and returns the state of those flags before clearing. This is useful for polling operations and determining if interrupts occurred. Note that if interrupts are enabled and an interrupt handler is active, the interrupt handler may clear the interrupt flags automatically. In such cases, this function will return 0 even if interrupts occurred.

◆ vsf_adc_status()

vsf_adc_status_t vsf_adc_status ( vsf_adc_t adc_ptr)

Get the status of ADC instance.

Parameters
[in]adc_ptra pointer to structure vsf_adc_t
Returns
vsf_adc_status_t: All status of current ADC

◆ vsf_adc_capability()

vsf_adc_capability_t vsf_adc_capability ( vsf_adc_t adc_ptr)

Get the capability of ADC instance.

Parameters
[in]adc_ptra pointer to structure vsf_adc_t
Returns
vsf_adc_capability_t: All capabilities of current ADC vsf_adc_capability_t

◆ vsf_adc_channel_request_once()

vsf_err_t vsf_adc_channel_request_once ( vsf_adc_t adc_ptr,
vsf_adc_channel_cfg_t channel_cfg,
void *  buffer_ptr 
)

ADC request sampling once.

Parameters
[in]adc_ptra pointer to structure vsf_adc_t
[in]channel_cfga pointer to convert channel configuration
[in]buffer_ptrvalue to be converted
Returns
vsf_err_t: VSF_ERR_NONE if the request was successful, otherwise returns error code

◆ vsf_adc_channel_config()

vsf_err_t vsf_adc_channel_config ( vsf_adc_t adc_ptr,
vsf_adc_channel_cfg_t cfgs_ptr,
uint32_t  cnt 
)

ADC channel configuration.

Parameters
[in]adc_ptra pointer to structure vsf_adc_t
[in]cfgs_ptrconvert channel configuration array
[in]cntthe length of convert channel configuration array
Returns
vsf_err_t: VSF_ERR_NONE if the configuration was successful, otherwise returns error code

◆ vsf_adc_channel_request()

vsf_err_t vsf_adc_channel_request ( vsf_adc_t adc_ptr,
void *  buffer_ptr,
uint_fast32_t  count 
)

ADC channel request.

Parameters
[in]adc_ptra pointer to structure vsf_adc_t
[out]buffer_ptrconvert channel data array
[in]countthe length of convert channel configuration data array
Returns
vsf_err_t: VSF_ERR_NONE if the request was successful, otherwise returns error code

◆ vsf_adc_ctrl()

vsf_err_t vsf_adc_ctrl ( vsf_adc_t adc_ptr,
vsf_adc_ctrl_t  ctrl,
void *  param 
)

Execute a control command on an ADC instance.

Parameters
[in,out]adc_ptrpointer to ADC instance structure vsf_adc_t
[in]ctrlControl command from vsf_adc_ctrl_t enumeration
[in]paramCommand-specific parameter (can be NULL depending on command)
Returns
vsf_err_t: VSF_ERR_NONE if command executed successfully, VSF_ERR_NOT_SUPPORT if command is not supported, other error codes defined by vsf_err_t for specific failures
Note
Available commands and their parameters are hardware-dependent
Some commands may not be supported on all hardware platforms
Generated from commit: vsfteam/vsf@b2e9e8a