no-OS
Loading...
Searching...
No Matches
ada4250.c File Reference

Implementation of ADA4250 Driver. More...

#include <stdlib.h>
#include "ada4250.h"
#include "no_os_delay.h"
#include "no_os_error.h"
#include "no_os_alloc.h"
Include dependency graph for ada4250.c:

Functions

int32_t ada4250_write (struct ada4250_dev *dev, uint8_t reg_addr, uint8_t data)
 Writes data to ada4250 over SPI.
 
int32_t ada4250_read (struct ada4250_dev *dev, uint8_t reg_addr, uint8_t *data)
 Reads data from ada4250 over SPI.
 
int32_t ada4250_update (struct ada4250_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
 Update ADA4250 register.
 
int32_t ada4250_update_desc (struct ada4250_dev *dev)
 Update ADA4250 device descriptor.
 
int32_t ada4250_soft_reset (struct ada4250_dev *dev)
 Software reset.
 
int32_t ada4250_en_refbuf (struct ada4250_dev *dev, bool refbuf)
 Enable/Disable Reference Buffer.
 
int32_t ada4250_set_bias (struct ada4250_dev *dev, enum ada4250_bias bias)
 Set current bias for ADA4250.
 
int32_t ada4250_set_gain (struct ada4250_dev *dev, enum ada4250_gain gain)
 Set gain for ADA4250.
 
int32_t ada4250_set_offset (struct ada4250_dev *dev, int64_t offset)
 Set offset value for ADA4250.
 
int32_t ada4250_set_bandwidth (struct ada4250_dev *dev, enum ada4250_bandwidth bw)
 Set the bandwidth value for ADA4250.
 
int32_t ada4250_set_slp_shtdwn_mode (struct ada4250_dev *dev, enum ada4250_power_mode pwrmode)
 Set the ADA4250 into sleep or shutdown mode.
 
int32_t ada4250_set_normal_mode (struct ada4250_dev *dev, bool reconfig)
 Sets the ADA4250 into normal mode and reconfigures it according to the user input.
 
int32_t ada4250_init (struct ada4250_dev **device, struct ada4250_init_param *init_param)
 Initialize the ADA4250 device.
 
int32_t ada4250_remove (struct ada4250_dev *dev)
 Free resoulces allocated for ADA4250.
 

Detailed Description

Implementation of ADA4250 Driver.

Author
Antoniu Miclaus (anton.nosp@m.iu.m.nosp@m.iclau.nosp@m.s@an.nosp@m.alog..nosp@m.com)

Copyright 2021(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Function Documentation

◆ ada4250_en_refbuf()

int32_t ada4250_en_refbuf ( struct ada4250_dev * dev,
bool refbuf )

Enable/Disable Reference Buffer.

Parameters
dev- The device structure.
refbuf- REFBUF enable/disable.
Returns
Returns 0 in case of success or negative error code.

◆ ada4250_init()

int32_t ada4250_init ( struct ada4250_dev ** device,
struct ada4250_init_param * init_param )

Initialize the ADA4250 device.

Parameters
device- The device structure.
init_param- The structure containing the device initial parameters.
Returns
Returns 0 in case of success or negative error code.

◆ ada4250_read()

int32_t ada4250_read ( struct ada4250_dev * dev,
uint8_t reg_addr,
uint8_t * data )

Reads data from ada4250 over SPI.

Parameters
dev- The device structure.
reg_addr- The register address.
data- Data read from the device.
Returns
Returns 0 in case of success or negative error code otherwise.

◆ ada4250_remove()

int32_t ada4250_remove ( struct ada4250_dev * dev)

Free resoulces allocated for ADA4250.

Parameters
dev- The device structure.
Returns
Returns 0 in case of success or negative error code.

◆ ada4250_set_bandwidth()

int32_t ada4250_set_bandwidth ( struct ada4250_dev * dev,
enum ada4250_bandwidth bw )

Set the bandwidth value for ADA4250.

Parameters
dev- The device structure.
bw- Bandwidth value.
Returns
Returns 0 in case of success or negative error code.

◆ ada4250_set_bias()

int32_t ada4250_set_bias ( struct ada4250_dev * dev,
enum ada4250_bias bias )

Set current bias for ADA4250.

Parameters
dev- The device structure.
bias- Current bias option.
Returns
Returns 0 in case of success or negative error code.

◆ ada4250_set_gain()

int32_t ada4250_set_gain ( struct ada4250_dev * dev,
enum ada4250_gain gain )

Set gain for ADA4250.

Parameters
dev- The device structure.
gain- Gain Value.
Returns
Returns 0 in case of success or negative error code.

◆ ada4250_set_normal_mode()

int32_t ada4250_set_normal_mode ( struct ada4250_dev * dev,
bool reconfig )

Sets the ADA4250 into normal mode and reconfigures it according to the user input.

Parameters
dev- The device structure.
reconfig- Reconfiguration enable/disable.
Returns
Returns 0 in case of success or negative error code.

◆ ada4250_set_offset()

int32_t ada4250_set_offset ( struct ada4250_dev * dev,
int64_t offset )

Set offset value for ADA4250.

Parameters
dev- The device structure.
offset- Offset Value in nV.
Returns
Returns 0 in case of success or negative error code.

◆ ada4250_set_slp_shtdwn_mode()

int32_t ada4250_set_slp_shtdwn_mode ( struct ada4250_dev * dev,
enum ada4250_power_mode pwrmode )

Set the ADA4250 into sleep or shutdown mode.

Parameters
dev- The device structure.
pwrmode- Power mode option.
Returns
Returns 0 in case of success or negative error code.

◆ ada4250_soft_reset()

int32_t ada4250_soft_reset ( struct ada4250_dev * dev)

Software reset.

Parameters
dev- The device structure.
Returns
Returns 0 in case of success or negative error code.

◆ ada4250_update()

int32_t ada4250_update ( struct ada4250_dev * dev,
uint8_t reg_addr,
uint8_t mask,
uint8_t data )

Update ADA4250 register.

Parameters
dev- The device structure.
reg_addr- The register address.
mask- Mask for specific register bits to be updated.
data- Data read from the device.
Returns
Returns 0 in case of success or negative error code otherwise.

◆ ada4250_update_desc()

int32_t ada4250_update_desc ( struct ada4250_dev * dev)

Update ADA4250 device descriptor.

Parameters
dev- The device structure.
Returns
Returns 0 in case of success or negative error code otherwise.

◆ ada4250_write()

int32_t ada4250_write ( struct ada4250_dev * dev,
uint8_t reg_addr,
uint8_t data )

Writes data to ada4250 over SPI.

Parameters
dev- The device structure.
reg_addr- The register address.
data- Data value to write.
Returns
Returns 0 in case of success or negative error code otherwise.