no-OS
Loading...
Searching...
No Matches
ad5142.c File Reference
#include "ad5142.h"
#include "no_os_delay.h"
Include dependency graph for ad5142.c:

Functions

int ad5142_dpot_init (struct dpot_init_param *param, struct dpot_dev **desc)
 Initialize the AD5142 digital potentiometer.
 
int ad5142_dpot_remove (struct dpot_dev *desc)
 Free the memory allocated by ad5142_dpot_init().
 
int ad5142_dpot_reset (struct dpot_dev *desc)
 Reset the AD5142 digital potentiometer.
 
int ad5142_dpot_shutdown (struct dpot_dev *desc, enum dpot_chn_type chn, bool shutdown_enable)
 Shutdown the AD5142 digital potentiometer channel.
 
int ad5142_dpot_set_operating_mode (struct dpot_dev *desc, enum dpot_operating_mode operating_mode)
 Set the AD5142 digital potentiometer operating mode.
 
int ad5142_dpot_input_reg_read (struct dpot_dev *desc, enum dpot_chn_type chn, uint8_t *data)
 Read the AD5142 digital potentiometer input register.
 
int ad5142_dpot_input_reg_write (struct dpot_dev *desc, enum dpot_chn_type chn, uint8_t data)
 Write to the digital potentiometer input register.
 
int ad5142_dpot_sw_lrdac_update (struct dpot_dev *desc, enum dpot_chn_type chn)
 Copy input register to RDAC (software LRDAC).
 
int ad5142_dpot_chn_read (struct dpot_dev *desc, enum dpot_chn_type chn, uint8_t *data)
 Read the AD5142 digital potentiometer channel.
 
int ad5142_dpot_chn_write (struct dpot_dev *desc, enum dpot_chn_type chn, uint8_t data)
 Write to the digital potentiometer channel.
 
int ad5142_dpot_nvm_read (struct dpot_dev *desc, enum dpot_chn_type chn, uint8_t *data)
 Read the NVM (non-volatile) memory data.
 
int ad5142_dpot_nvm_write (struct dpot_dev *desc, enum dpot_chn_type chn, uint8_t data)
 Write data to NVM (non-volatile) memory.
 
int ad5142_dpot_copy_rdac_to_nvm (struct dpot_dev *desc, enum dpot_chn_type chn)
 Copy RDAC register to NVM/EEPROM.
 
int ad5142_dpot_copy_nvm_to_rdac (struct dpot_dev *desc, enum dpot_chn_type chn)
 Copy NVM/EEPROM data to RDAC.
 
int ad5142_dpot_rdac_linear_update (struct dpot_dev *desc, enum dpot_chn_type chn, enum dpot_rdac_linear_status status)
 Perform RDAC linear increment/decrement.
 
int ad5142_dpot_rdac_6db_update (struct dpot_dev *desc, enum dpot_chn_type chn, enum dpot_rdac_6db_status status)
 Perform RDAC 6dB increment/decrement.
 
int ad5142_dpot_send_cmd (struct dpot_dev *desc, struct dpot_command *cmd)
 Send command word to the AD5142 digital potentiometer.
 

Variables

uint8_t ad5142_dpot_cmd_addr []
 
uint8_t ad5142_dpot_cmd_nvm_addr []
 
const struct dpot_ops ad5142_dpot_ops
 

Function Documentation

◆ ad5142_dpot_chn_read()

int ad5142_dpot_chn_read ( struct dpot_dev * desc,
enum dpot_chn_type chn,
uint8_t * data )

Read the AD5142 digital potentiometer channel.

Parameters
desc- digipot descriptor.
chn- digipot channel.
data- Channel data to be read.
Returns
0 in case of success, negative error code otherwise.

◆ ad5142_dpot_chn_write()

int ad5142_dpot_chn_write ( struct dpot_dev * desc,
enum dpot_chn_type chn,
uint8_t data )

Write to the digital potentiometer channel.

Parameters
desc- digipot descriptor.
chn- digipot channel.
data- Channel data to be written.
Returns
0 in case of success, negative error code otherwise.

◆ ad5142_dpot_copy_nvm_to_rdac()

int ad5142_dpot_copy_nvm_to_rdac ( struct dpot_dev * desc,
enum dpot_chn_type chn )

Copy NVM/EEPROM data to RDAC.

Parameters
desc- digipot descriptor.
chn- digipot channel.
Returns
0 in case of success, negative error code otherwise.

◆ ad5142_dpot_copy_rdac_to_nvm()

int ad5142_dpot_copy_rdac_to_nvm ( struct dpot_dev * desc,
enum dpot_chn_type chn )

Copy RDAC register to NVM/EEPROM.

Parameters
desc- digipot descriptor.
chn- digipot channel.
Returns
0 in case of success, negative error code otherwise.

◆ ad5142_dpot_init()

int ad5142_dpot_init ( struct dpot_init_param * param,
struct dpot_dev ** desc )

Initialize the AD5142 digital potentiometer.

Parameters
param- digipot init parameters.
desc- digipot descriptor.
Returns
0 in case of success, negative error code otherwise.

◆ ad5142_dpot_input_reg_read()

int ad5142_dpot_input_reg_read ( struct dpot_dev * desc,
enum dpot_chn_type chn,
uint8_t * data )

Read the AD5142 digital potentiometer input register.

Parameters
desc- digipot descriptor.
chn- digipot channel.
data- input register data to be read.
Returns
0 in case of success, negative error code otherwise.

◆ ad5142_dpot_input_reg_write()

int ad5142_dpot_input_reg_write ( struct dpot_dev * desc,
enum dpot_chn_type chn,
uint8_t data )

Write to the digital potentiometer input register.

Parameters
desc- digipot descriptor.
chn- digipot channel.
data- input register data to be written.
Returns
0 in case of success, negative error code otherwise.

◆ ad5142_dpot_nvm_read()

int ad5142_dpot_nvm_read ( struct dpot_dev * desc,
enum dpot_chn_type chn,
uint8_t * data )

Read the NVM (non-volatile) memory data.

Parameters
desc- digipot descriptor.
chn- digipot channel.
data- NVM data to be read.
Returns
0 in case of success, negative error code otherwise.

◆ ad5142_dpot_nvm_write()

int ad5142_dpot_nvm_write ( struct dpot_dev * desc,
enum dpot_chn_type chn,
uint8_t data )

Write data to NVM (non-volatile) memory.

Parameters
desc- digipot descriptor.
chn- digipot channel.
data- NVM data to be written.
Returns
0 in case of success, negative error code otherwise.

◆ ad5142_dpot_rdac_6db_update()

int ad5142_dpot_rdac_6db_update ( struct dpot_dev * desc,
enum dpot_chn_type chn,
enum dpot_rdac_6db_status status )

Perform RDAC 6dB increment/decrement.

Parameters
desc- digipot descriptor.
chn- digipot channel.
status- 6dB increment/decrement status.
Returns
0 in case of success, negative error code otherwise.

◆ ad5142_dpot_rdac_linear_update()

int ad5142_dpot_rdac_linear_update ( struct dpot_dev * desc,
enum dpot_chn_type chn,
enum dpot_rdac_linear_status status )

Perform RDAC linear increment/decrement.

Parameters
desc- digipot descriptor.
chn- digipot channel.
status- linear increment/decrement status.
Returns
0 in case of success, negative error code otherwise.

◆ ad5142_dpot_remove()

int ad5142_dpot_remove ( struct dpot_dev * desc)

Free the memory allocated by ad5142_dpot_init().

Parameters
desc- digipot descriptor.
Returns
0 in case of success, negative error code otherwise.

◆ ad5142_dpot_reset()

int ad5142_dpot_reset ( struct dpot_dev * desc)

Reset the AD5142 digital potentiometer.

Parameters
desc- digipot descriptor.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ ad5142_dpot_send_cmd()

int ad5142_dpot_send_cmd ( struct dpot_dev * desc,
struct dpot_command * cmd )

Send command word to the AD5142 digital potentiometer.

Parameters
desc- digipot descriptor.
cmd- digipot command word
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ ad5142_dpot_set_operating_mode()

int ad5142_dpot_set_operating_mode ( struct dpot_dev * desc,
enum dpot_operating_mode operating_mode )

Set the AD5142 digital potentiometer operating mode.

Parameters
desc- digipot descriptor.
operating_mode- digipot operating mode.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ ad5142_dpot_shutdown()

int ad5142_dpot_shutdown ( struct dpot_dev * desc,
enum dpot_chn_type chn,
bool shutdown_enable )

Shutdown the AD5142 digital potentiometer channel.

Parameters
desc- digipot descriptor.
chn- digipot channel.
shutdown_enable- Shutdown enable status flag.
Returns
0 in case of success, negative error code otherwise.
Here is the caller graph for this function:

◆ ad5142_dpot_sw_lrdac_update()

int ad5142_dpot_sw_lrdac_update ( struct dpot_dev * desc,
enum dpot_chn_type chn )

Copy input register to RDAC (software LRDAC).

Parameters
desc- digipot descriptor.
chn- digipot channel.
Returns
0 in case of success, negative error code otherwise.

Variable Documentation

◆ ad5142_dpot_cmd_addr

uint8_t ad5142_dpot_cmd_addr[]
Initial value:
= {
[DPOT_CHN_RDAC1] = 0x0,
[DPOT_CHN_RDAC2] = 0x1,
[DPOT_CHN_R_AW1] = 0x4,
[DPOT_CHN_R_WB1] = 0x0,
[DPOT_CHN_R_AW2] = 0x5,
[DPOT_CHN_R_WB2] = 0x1,
}
@ DPOT_CHN_RDAC1
Definition dpot.h:83
@ DPOT_CHN_R_WB2
Definition dpot.h:92
@ DPOT_CHN_R_AW1
Definition dpot.h:89
@ DPOT_CHN_RDAC2
Definition dpot.h:84
@ DPOT_CHN_R_WB1
Definition dpot.h:90
@ DPOT_CHN_R_AW2
Definition dpot.h:91

◆ ad5142_dpot_cmd_nvm_addr

uint8_t ad5142_dpot_cmd_nvm_addr[]
Initial value:
= {
[DPOT_CHN_RDAC1] = 0x0,
[DPOT_CHN_RDAC2] = 0x2,
[DPOT_CHN_R_AW1] = 0x1,
[DPOT_CHN_R_WB1] = 0x0,
[DPOT_CHN_R_AW2] = 0x3,
[DPOT_CHN_R_WB2] = 0x2,
}

◆ ad5142_dpot_ops

const struct dpot_ops ad5142_dpot_ops
Initial value:
= {
.dpot_init = &ad5142_dpot_init,
.dpot_reset = &ad5142_dpot_reset,
.dpot_shutdown = &ad5142_dpot_shutdown,
.dpot_set_operating_mode = &ad5142_dpot_set_operating_mode,
.dpot_input_reg_read = &ad5142_dpot_input_reg_read,
.dpot_input_reg_write = &ad5142_dpot_input_reg_write,
.dpot_sw_lrdac_update = &ad5142_dpot_sw_lrdac_update,
.dpot_chn_read = &ad5142_dpot_chn_read,
.dpot_chn_write = &ad5142_dpot_chn_write,
.dpot_nvm_read = &ad5142_dpot_nvm_read,
.dpot_nvm_write = &ad5142_dpot_nvm_write,
.dpot_copy_rdac_to_nvm = &ad5142_dpot_copy_rdac_to_nvm,
.dpot_copy_nvm_to_rdac = &ad5142_dpot_copy_nvm_to_rdac,
.dpot_rdac_linear_update = &ad5142_dpot_rdac_linear_update,
.dpot_rdac_6db_update = &ad5142_dpot_rdac_6db_update,
.dpot_remove = &ad5142_dpot_remove,
}
int ad5142_dpot_input_reg_write(struct dpot_dev *desc, enum dpot_chn_type chn, uint8_t data)
Write to the digital potentiometer input register.
Definition ad5142.c:469
int ad5142_dpot_chn_read(struct dpot_dev *desc, enum dpot_chn_type chn, uint8_t *data)
Read the AD5142 digital potentiometer channel.
Definition ad5142.c:534
int ad5142_dpot_rdac_linear_update(struct dpot_dev *desc, enum dpot_chn_type chn, enum dpot_rdac_linear_status status)
Perform RDAC linear increment/decrement.
Definition ad5142.c:737
int ad5142_dpot_rdac_6db_update(struct dpot_dev *desc, enum dpot_chn_type chn, enum dpot_rdac_6db_status status)
Perform RDAC 6dB increment/decrement.
Definition ad5142.c:773
int ad5142_dpot_remove(struct dpot_dev *desc)
Free the memory allocated by ad5142_dpot_init().
Definition ad5142.c:257
int ad5142_dpot_set_operating_mode(struct dpot_dev *desc, enum dpot_operating_mode operating_mode)
Set the AD5142 digital potentiometer operating mode.
Definition ad5142.c:382
int ad5142_dpot_nvm_write(struct dpot_dev *desc, enum dpot_chn_type chn, uint8_t data)
Write data to NVM (non-volatile) memory.
Definition ad5142.c:637
int ad5142_dpot_init(struct dpot_init_param *param, struct dpot_dev **desc)
Initialize the AD5142 digital potentiometer.
Definition ad5142.c:152
int ad5142_dpot_nvm_read(struct dpot_dev *desc, enum dpot_chn_type chn, uint8_t *data)
Read the NVM (non-volatile) memory data.
Definition ad5142.c:602
int ad5142_dpot_shutdown(struct dpot_dev *desc, enum dpot_chn_type chn, bool shutdown_enable)
Shutdown the AD5142 digital potentiometer channel.
Definition ad5142.c:342
int ad5142_dpot_copy_nvm_to_rdac(struct dpot_dev *desc, enum dpot_chn_type chn)
Copy NVM/EEPROM data to RDAC.
Definition ad5142.c:705
int ad5142_dpot_reset(struct dpot_dev *desc)
Reset the AD5142 digital potentiometer.
Definition ad5142.c:289
int ad5142_dpot_copy_rdac_to_nvm(struct dpot_dev *desc, enum dpot_chn_type chn)
Copy RDAC register to NVM/EEPROM.
Definition ad5142.c:671
int ad5142_dpot_input_reg_read(struct dpot_dev *desc, enum dpot_chn_type chn, uint8_t *data)
Read the AD5142 digital potentiometer input register.
Definition ad5142.c:434
int ad5142_dpot_chn_write(struct dpot_dev *desc, enum dpot_chn_type chn, uint8_t data)
Write to the digital potentiometer channel.
Definition ad5142.c:569
int ad5142_dpot_sw_lrdac_update(struct dpot_dev *desc, enum dpot_chn_type chn)
Copy input register to RDAC (software LRDAC).
Definition ad5142.c:502