no-OS
Functions
ad7780.c File Reference

Implementation of AD7780 Driver. More...

#include <stdlib.h>
#include "ad7780.h"
#include "no_os_alloc.h"
Include dependency graph for ad7780.c:

Functions

int8_t ad7780_init (struct ad7780_dev **device, struct ad7780_init_param init_param)
 Initializes the communication peripheral and the initial Values for AD7780 Board and checks if the device is present. More...
 
int32_t ad7780_remove (struct ad7780_dev *dev)
 Free the resources allocated by ad7780_init(). More...
 
int8_t ad7780_wait_rdy_go_low (struct ad7780_dev *dev)
 Waits for DOUT/RDY pin to go low. More...
 
int32_t ad7780_read_sample (struct ad7780_dev *dev, uint8_t *p_status)
 Reads a 24-bit sample from the ADC. More...
 
float ad7780_convert_to_voltage (uint32_t raw_sample, float v_ref, uint8_t gain)
 Converts the 24-bit raw value to milivolts. More...
 

Detailed Description

Implementation of AD7780 Driver.

Author
DNechita (dan.n.nosp@m.echi.nosp@m.ta@an.nosp@m.alog.nosp@m..com)

Copyright 2012(c) Analog Devices, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Function Documentation

◆ ad7780_convert_to_voltage()

float ad7780_convert_to_voltage ( uint32_t  raw_sample,
float  v_ref,
uint8_t  gain 
)

Converts the 24-bit raw value to milivolts.

Parameters
raw_sample- 24-bit raw sample(offset binary).
v_ref- The reference voltage.
gain- The gain. Accepted values: 1, 128.
Returns
voltage - The voltage obtained from the raw value.

◆ ad7780_init()

int8_t ad7780_init ( struct ad7780_dev **  device,
struct ad7780_init_param  init_param 
)

Initializes the communication peripheral and the initial Values for AD7780 Board and checks if the device is present.

Parameters
device- The device structure.
init_param- The structure that contains the device initial parameters.
Returns
ret - The result of the initialization procedure. Example: -1 - SPI peripheral was not initialized or the device is not present. 0 - SPI peripheral was initialized and the device is present.

◆ ad7780_read_sample()

int32_t ad7780_read_sample ( struct ad7780_dev dev,
uint8_t *  p_status 
)

Reads a 24-bit sample from the ADC.

Parameters
dev- The device structure.
p_status- Stores the 8-bit status that is read for every conversion.
Returns
convSample - The 24-bit sample.
Here is the caller graph for this function:

◆ ad7780_remove()

int32_t ad7780_remove ( struct ad7780_dev dev)

Free the resources allocated by ad7780_init().

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

◆ ad7780_wait_rdy_go_low()

int8_t ad7780_wait_rdy_go_low ( struct ad7780_dev dev)

Waits for DOUT/RDY pin to go low.

Parameters
dev- The device structure.
Returns
The result of the operation. Example: -1 - DOUT/RDY pin is high. 0 - DOUT/RDY pin is low.
Here is the caller graph for this function: