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

Implementation of adrf6780 Driver. More...

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

Functions

int adrf6780_spi_write (struct adrf6780_dev *dev, uint8_t reg_addr, uint16_t data)
 Writes data to ADRF6780 over SPI.
 
int adrf6780_spi_read (struct adrf6780_dev *dev, uint8_t reg_addr, uint16_t *data)
 Reads data from ADRF6780 over SPI.
 
int adrf6780_spi_update_bits (struct adrf6780_dev *dev, uint8_t reg_addr, uint16_t mask, uint16_t data)
 Update ADRF6780 register.
 
int adrf6780_set_rdac_linearize (struct adrf6780_dev *dev, uint8_t rdac_lin)
 Set IMD Performance Improvement.
 
int adrf6780_get_rdac_linearize (struct adrf6780_dev *dev, uint8_t *rdac_lin)
 Get IMD Performance Improvement.
 
int adrf6780_set_cdac_iq_phase_accuracy (struct adrf6780_dev *dev, uint8_t i_data, uint8_t q_data)
 Set I/Q Phase Accuracy.
 
int adrf6780_get_cdac_iq_phase_accuracy (struct adrf6780_dev *dev, uint8_t *i_data, uint8_t *q_data)
 Get I/Q Phase Accuracy.
 
int adrf6780_read_adc_raw (struct adrf6780_dev *dev, uint16_t *data)
 Read ADC raw data.
 
int adrf6780_soft_reset (struct adrf6780_dev *dev)
 Software Reset.
 
int adrf6780_init (struct adrf6780_dev **device, struct adrf6780_init_param *init_param)
 Initializes the adrf6780.
 
int adrf6780_remove (struct adrf6780_dev *dev)
 ADRF6780 Resources Deallocation.
 

Detailed Description

Implementation of adrf6780 Driver.

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

Copyright 2022(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Function Documentation

◆ adrf6780_get_cdac_iq_phase_accuracy()

int adrf6780_get_cdac_iq_phase_accuracy ( struct adrf6780_dev * dev,
uint8_t * i_data,
uint8_t * q_data )

Get I/Q Phase Accuracy.

Parameters
dev- The device structure.
i_data- I Phase Accuracy.
q_data- Q Phase Accuracy.
Returns
Returns 0 in case of success or negative error code otherwise.

◆ adrf6780_get_rdac_linearize()

int adrf6780_get_rdac_linearize ( struct adrf6780_dev * dev,
uint8_t * rdac_lin )

Get IMD Performance Improvement.

Parameters
dev- The device structure.
rdac_lin- RDAC 8bits data.
Returns
Returns 0 in case of success or negative error code otherwise.

◆ adrf6780_init()

int adrf6780_init ( struct adrf6780_dev ** device,
struct adrf6780_init_param * init_param )

Initializes the adrf6780.

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.

◆ adrf6780_read_adc_raw()

int adrf6780_read_adc_raw ( struct adrf6780_dev * dev,
uint16_t * data )

Read ADC raw data.

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

◆ adrf6780_remove()

int adrf6780_remove ( struct adrf6780_dev * dev)

ADRF6780 Resources Deallocation.

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

◆ adrf6780_set_cdac_iq_phase_accuracy()

int adrf6780_set_cdac_iq_phase_accuracy ( struct adrf6780_dev * dev,
uint8_t i_data,
uint8_t q_data )

Set I/Q Phase Accuracy.

Parameters
dev- The device structure.
i_data- I Phase Accuracy.
q_data- Q Phase Accuracy.
Returns
Returns 0 in case of success or negative error code otherwise.

◆ adrf6780_set_rdac_linearize()

int adrf6780_set_rdac_linearize ( struct adrf6780_dev * dev,
uint8_t rdac_lin )

Set IMD Performance Improvement.

Parameters
dev- The device structure.
rdac_lin- RDAC 8bits data.
Returns
Returns 0 in case of success or negative error code otherwise.

◆ adrf6780_soft_reset()

int adrf6780_soft_reset ( struct adrf6780_dev * dev)

Software Reset.

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

◆ adrf6780_spi_read()

int adrf6780_spi_read ( struct adrf6780_dev * dev,
uint8_t reg_addr,
uint16_t * data )

Reads data from ADRF6780 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.

◆ adrf6780_spi_update_bits()

int adrf6780_spi_update_bits ( struct adrf6780_dev * dev,
uint8_t reg_addr,
uint16_t mask,
uint16_t data )

Update ADRF6780 register.

Parameters
dev- The device structure.
reg_addr- The register address.
mask- Mask for specific register bits to be updated.
data- Data written to the device (requires prior bit shifting).
Returns
Returns 0 in case of success or negative error code otherwise.

◆ adrf6780_spi_write()

int adrf6780_spi_write ( struct adrf6780_dev * dev,
uint8_t reg_addr,
uint16_t data )

Writes data to ADRF6780 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.