no-OS
Classes | Macros | Functions
ad7780.h File Reference

AD7780 header file. More...

#include <stdint.h>
#include "no-os/gpio.h"
#include "no-os/spi.h"
Include dependency graph for ad7780.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ad7780_dev
 
struct  ad7780_init_param
 

Macros

#define AD7780_RDY_STATE(value)
 
#define AD7780_PDRST_PIN_OUT
 
#define AD7780_PDRST_HIGH
 
#define AD7780_PDRST_LOW
 
#define AD7780_FILTER_PIN_OUT
 
#define AD7780_FILTER_HIGH
 
#define AD7780_FILTER_LOW
 
#define AD7780_GAIN_PIN_OUT
 
#define AD7780_GAIN_HIGH
 
#define AD7780_GAIN_LOW
 
#define AD7780_STAT_RDY   (1 << 7)
 
#define AD7780_STAT_FILTER   (1 << 6)
 
#define AD7780_STAT_ERR   (1 << 5)
 
#define AD7780_STAT_ID1   (1 << 4)
 
#define AD7780_STAT_ID0   (1 << 3)
 
#define AD7780_STAT_GAIN   (1 << 2)
 
#define AD7780_STAT_PAT1   (1 << 1)
 
#define AD7780_STAT_PAT0   (1 << 0)
 
#define AD7780_ID_NUMBER   0x08
 

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

AD7780 header file.

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.

Macro Definition Documentation

◆ AD7780_FILTER_HIGH

#define AD7780_FILTER_HIGH
Value:
gpio_set_value(dev->gpio_filter, \

◆ AD7780_FILTER_LOW

#define AD7780_FILTER_LOW
Value:
gpio_set_value(dev->gpio_filter, \

◆ AD7780_FILTER_PIN_OUT

#define AD7780_FILTER_PIN_OUT
Value:
gpio_direction_output(dev->gpio_filter, \

◆ AD7780_GAIN_HIGH

#define AD7780_GAIN_HIGH
Value:
gpio_set_value(dev->gpio_gain, \

◆ AD7780_GAIN_LOW

#define AD7780_GAIN_LOW
Value:
gpio_set_value(dev->gpio_gain, \

◆ AD7780_GAIN_PIN_OUT

#define AD7780_GAIN_PIN_OUT
Value:

◆ AD7780_ID_NUMBER

#define AD7780_ID_NUMBER   0x08

◆ AD7780_PDRST_HIGH

#define AD7780_PDRST_HIGH
Value:
gpio_set_value(dev->gpio_pdrst, \

◆ AD7780_PDRST_LOW

#define AD7780_PDRST_LOW
Value:
gpio_set_value(dev->gpio_pdrst, \

◆ AD7780_PDRST_PIN_OUT

#define AD7780_PDRST_PIN_OUT
Value:

◆ AD7780_RDY_STATE

#define AD7780_RDY_STATE (   value)
Value:
gpio_get_value(dev->gpio_miso, \
&value)

◆ AD7780_STAT_ERR

#define AD7780_STAT_ERR   (1 << 5)

◆ AD7780_STAT_FILTER

#define AD7780_STAT_FILTER   (1 << 6)

◆ AD7780_STAT_GAIN

#define AD7780_STAT_GAIN   (1 << 2)

◆ AD7780_STAT_ID0

#define AD7780_STAT_ID0   (1 << 3)

◆ AD7780_STAT_ID1

#define AD7780_STAT_ID1   (1 << 4)

◆ AD7780_STAT_PAT0

#define AD7780_STAT_PAT0   (1 << 0)

◆ AD7780_STAT_PAT1

#define AD7780_STAT_PAT1   (1 << 1)

◆ AD7780_STAT_RDY

#define AD7780_STAT_RDY   (1 << 7)

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.

Converts the 24-bit raw value to volts.

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.

Initializes the communication peripheral 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.

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().

Free the resources allocated by ad7780_init().

Parameters
dev- The device structure.
Returns
SUCCESS 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.

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:
gpio_direction_output
int32_t gpio_direction_output(struct gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: gpio.c:124
GPIO_LOW
@ GPIO_LOW
Definition: gpio.h:99
gpio_set_value
int32_t gpio_set_value(struct gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition: gpio.c:160
GPIO_HIGH
@ GPIO_HIGH
Definition: gpio.h:101
iio_app_device::dev
void * dev
Definition: iio_app.h:60
gpio_get_value
int32_t gpio_get_value(struct gpio_desc *desc, uint8_t *value)
Get the value of the specified GPIO.
Definition: gpio.c:177