Library files for ADT74xx, ADT73xx famile of products.

Dependents:  

Embed: (wiki syntax)

« Back to documentation index

adt7420.c File Reference

adt7420.c File Reference

Implementation of ADT7420 Driver. More...

Go to the source code of this file.

Functions

uint16_t get_register_value (struct adt7420_dev *dev, uint8_t register_address)
 Reads the value of a register SPI/I2C.
uint16_t adt7420_get_register_value (struct adt7420_dev *dev, uint8_t register_address)
 Reads the value of a register SPI/I2C interface.
uint16_t set_shift_reg (struct adt7420_dev *dev, uint8_t register_address, uint8_t *data)
 Write to input shift register SPI interface.
void set_register_value (struct adt7420_dev *dev, uint8_t register_address, uint8_t num_data_bytes, uint8_t *data)
 Sets the value of a register SPI/I2C.
int32_t adt7420_init (struct adt7420_dev **device, struct adt7420_init_param init_param)
 Initializes the communication peripheral and checks if the device is present.
int32_t adt7420_remove (struct adt7420_dev *dev)
 Free the resources allocated by adt7420_init().
void adt7420_set_operation_mode (struct adt7420_dev *dev, uint8_t mode)
 Sets the operational mode for ADT7420/ADT7320.
void adt7420_set_resolution (struct adt7420_dev *dev, uint8_t resolution)
 Sets the resolution for ADT7420/ADT7320.
void adt7420_reset_interface (struct adt7420_dev *dev)
 Resets the SPI or I2C inteface for the ADT7420/ADT7320.
float adt7420_get_temperature (struct adt7420_dev *dev)
 Reads the temperature data and converts it to Celsius degrees.
uint8_t adt7420_wr_setpoint_reg (struct adt7420_dev *dev, uint8_t register_value, uint16_t data)
 Write to a setpoint register.
void adt7420_set_fault_queue (struct adt7420_dev *dev, uint8_t mode)
 Sets the Fault Queue option for ADT7420/ADT7320.
void adt7420_set_ct_int_mode (struct adt7420_dev *dev, uint8_t setting)
 Sets comparator/interrupt (CT/INT) mode for ADT7420/ADT7320.
void adt7420_set_ct_int_polarity (struct adt7420_dev *dev, uint8_t polarity)
 Sets output polarity for the pins CT/INT (Critical Temp - Over/Under Temp).

Detailed Description

Implementation of ADT7420 Driver.

Author:
DBogdan (dragos.bogdan@analog.com)

Copyright 2012, 2019(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:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of Analog Devices, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
  • The use of this software may or may not infringe the patent rights of one or more patent holders. This license does not release you from the requirement that you obtain separate licenses from these patent holders to use this software.
  • Use of the software either in source or binary form, must be run on or directly connected to an Analog Devices Inc. component.

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.

Definition in file adt7420.c.


Function Documentation

uint16_t adt7420_get_register_value ( struct adt7420_dev *  dev,
uint8_t  register_address 
)

Reads the value of a register SPI/I2C interface.

Parameters:
dev- The device structure.
register_address- Address of the register.
Returns:
register_value - Value of the register.

Definition at line 136 of file adt7420.c.

float adt7420_get_temperature ( struct adt7420_dev *  dev )

Reads the temperature data and converts it to Celsius degrees.

Parameters:
dev- The device structure.
Returns:
temperature - Temperature in degrees Celsius.

Negative temperature

Positive temperature

Negative temperature

Positive temperature

Definition at line 420 of file adt7420.c.

int32_t adt7420_init ( struct adt7420_dev **  device,
struct adt7420_init_param  init_param 
)

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:
status - The result of the initialization procedure. Example: -1 - I2C peripheral was not initialized or the device is not present. 0 - I2C peripheral was initialized and the device is present.

Definition at line 279 of file adt7420.c.

int32_t adt7420_remove ( struct adt7420_dev *  dev )

Free the resources allocated by adt7420_init().

Parameters:
dev- The device structure.
Returns:
ret - The result of the remove procedure.

Definition at line 330 of file adt7420.c.

void adt7420_reset_interface ( struct adt7420_dev *  dev )

Resets the SPI or I2C inteface for the ADT7420/ADT7320.

Parameters:
dev- The device structure.
Returns:
None.

Definition at line 397 of file adt7420.c.

void adt7420_set_ct_int_mode ( struct adt7420_dev *  dev,
uint8_t  setting 
)

Sets comparator/interrupt (CT/INT) mode for ADT7420/ADT7320.

Parameters:
dev- The device structure.
setting- Mode selection. Example: 0 - Interrupt (default). 1 - Comparator.
Returns:
None.

Definition at line 527 of file adt7420.c.

void adt7420_set_ct_int_polarity ( struct adt7420_dev *  dev,
uint8_t  polarity 
)

Sets output polarity for the pins CT/INT (Critical Temp - Over/Under Temp).

Parameters:
dev- The device structure.
polarity- Polarity selection. Example: 0 - Active Low (default). 1 - Active High.
Returns:
None.

Definition at line 551 of file adt7420.c.

void adt7420_set_fault_queue ( struct adt7420_dev *  dev,
uint8_t  mode 
)

Sets the Fault Queue option for ADT7420/ADT7320.

Parameters:
dev- The device structure.
mode- Fault Queue selection. Example: 1 - 1 fault (default). 2 - 2 faults. 3 - 3 faults. 4 - 4 faults.
Returns:
None.

Definition at line 503 of file adt7420.c.

void adt7420_set_operation_mode ( struct adt7420_dev *  dev,
uint8_t  mode 
)

Sets the operational mode for ADT7420/ADT7320.

Parameters:
dev- The device structure.
mode- Operation mode. Example: ADT7420_OP_MODE_CONT_CONV - continuous conversion; ADT7420_OP_MODE_ONE_SHOT - one shot; ADT7420_OP_MODE_1_SPS - 1 SPS mode; ADT7420_OP_MODE_SHUTDOWN - shutdown.
Returns:
None.

Definition at line 352 of file adt7420.c.

void adt7420_set_resolution ( struct adt7420_dev *  dev,
uint8_t  resolution 
)

Sets the resolution for ADT7420/ADT7320.

Parameters:
dev- The device structure.
resolution- Resolution. Example: 0 - 13-bit resolution; 1 - 16-bit resolution.
Returns:
None.

Definition at line 375 of file adt7420.c.

uint8_t adt7420_wr_setpoint_reg ( struct adt7420_dev *  dev,
uint8_t  register_value,
uint16_t  data 
)

Write to a setpoint register.

Parameters:
dev- The device structure.
register_value- Command control bits.
data- Data to be written in input register.
Returns:
read_back_data - value read from register.

Definition at line 456 of file adt7420.c.

uint16_t get_register_value ( struct adt7420_dev *  dev,
uint8_t  register_address 
)

Reads the value of a register SPI/I2C.

Parameters:
dev- The device structure.
register_address- Address of the register.
Returns:
register_value - Value of the register.

Definition at line 79 of file adt7420.c.

void set_register_value ( struct adt7420_dev *  dev,
uint8_t  register_address,
uint8_t  num_data_bytes,
uint8_t *  data 
)

Sets the value of a register SPI/I2C.

Parameters:
dev- The device structure.
register_address- Address of the register.
num_data_bytes- Number of bytes.
data- Data to be written in input register.
Returns:
None.

Definition at line 216 of file adt7420.c.

uint16_t set_shift_reg ( struct adt7420_dev *  dev,
uint8_t  register_address,
uint8_t *  data 
)

Write to input shift register SPI interface.

Parameters:
dev- The device structure.
register_address- Command control bits.
data- Data to be written in input register.
Returns:
read_back_data - value read from register.

Definition at line 172 of file adt7420.c.