Library files for ADT74xx, ADT73xx famile of products.

Dependents:  

Committer:
EndaKilgarriff
Date:
Wed Aug 28 15:37:55 2019 +0000
Revision:
1:a86efb0ef0ad
Initial Commit of ADT7420 noOS software

Who changed what in which revision?

UserRevisionLine numberNew contents of line
EndaKilgarriff 1:a86efb0ef0ad 1 /***************************************************************************//**
EndaKilgarriff 1:a86efb0ef0ad 2 * @file adt7420.h
EndaKilgarriff 1:a86efb0ef0ad 3 * @brief Header file of ADT7420 Driver.
EndaKilgarriff 1:a86efb0ef0ad 4 * @author DBogdan (dragos.bogdan@analog.com)
EndaKilgarriff 1:a86efb0ef0ad 5 ********************************************************************************
EndaKilgarriff 1:a86efb0ef0ad 6 * Copyright 2012, 2019(c) Analog Devices, Inc.
EndaKilgarriff 1:a86efb0ef0ad 7 *
EndaKilgarriff 1:a86efb0ef0ad 8 * All rights reserved.
EndaKilgarriff 1:a86efb0ef0ad 9 *
EndaKilgarriff 1:a86efb0ef0ad 10 * Redistribution and use in source and binary forms, with or without
EndaKilgarriff 1:a86efb0ef0ad 11 * modification, are permitted provided that the following conditions are met:
EndaKilgarriff 1:a86efb0ef0ad 12 * - Redistributions of source code must retain the above copyright
EndaKilgarriff 1:a86efb0ef0ad 13 * notice, this list of conditions and the following disclaimer.
EndaKilgarriff 1:a86efb0ef0ad 14 * - Redistributions in binary form must reproduce the above copyright
EndaKilgarriff 1:a86efb0ef0ad 15 * notice, this list of conditions and the following disclaimer in
EndaKilgarriff 1:a86efb0ef0ad 16 * the documentation and/or other materials provided with the
EndaKilgarriff 1:a86efb0ef0ad 17 * distribution.
EndaKilgarriff 1:a86efb0ef0ad 18 * - Neither the name of Analog Devices, Inc. nor the names of its
EndaKilgarriff 1:a86efb0ef0ad 19 * contributors may be used to endorse or promote products derived
EndaKilgarriff 1:a86efb0ef0ad 20 * from this software without specific prior written permission.
EndaKilgarriff 1:a86efb0ef0ad 21 * - The use of this software may or may not infringe the patent rights
EndaKilgarriff 1:a86efb0ef0ad 22 * of one or more patent holders. This license does not release you
EndaKilgarriff 1:a86efb0ef0ad 23 * from the requirement that you obtain separate licenses from these
EndaKilgarriff 1:a86efb0ef0ad 24 * patent holders to use this software.
EndaKilgarriff 1:a86efb0ef0ad 25 * - Use of the software either in source or binary form, must be run
EndaKilgarriff 1:a86efb0ef0ad 26 * on or directly connected to an Analog Devices Inc. component.
EndaKilgarriff 1:a86efb0ef0ad 27 *
EndaKilgarriff 1:a86efb0ef0ad 28 * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
EndaKilgarriff 1:a86efb0ef0ad 29 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
EndaKilgarriff 1:a86efb0ef0ad 30 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
EndaKilgarriff 1:a86efb0ef0ad 31 * IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
EndaKilgarriff 1:a86efb0ef0ad 32 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
EndaKilgarriff 1:a86efb0ef0ad 33 * LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR
EndaKilgarriff 1:a86efb0ef0ad 34 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
EndaKilgarriff 1:a86efb0ef0ad 35 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
EndaKilgarriff 1:a86efb0ef0ad 36 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
EndaKilgarriff 1:a86efb0ef0ad 37 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
EndaKilgarriff 1:a86efb0ef0ad 38 *******************************************************************************/
EndaKilgarriff 1:a86efb0ef0ad 39 #ifndef __ADT7420_H__
EndaKilgarriff 1:a86efb0ef0ad 40 #define __ADT7420_H__
EndaKilgarriff 1:a86efb0ef0ad 41
EndaKilgarriff 1:a86efb0ef0ad 42 /******************************************************************************/
EndaKilgarriff 1:a86efb0ef0ad 43 /************************** ADT7420 Definitions *******************************/
EndaKilgarriff 1:a86efb0ef0ad 44 /******************************************************************************/
EndaKilgarriff 1:a86efb0ef0ad 45
EndaKilgarriff 1:a86efb0ef0ad 46 /* ADT7420 address */
EndaKilgarriff 1:a86efb0ef0ad 47 #define ADT7420_A0_PIN(x) (((x) & 0x1) << 0) // I2C Serial Bus Address Selection Pin
EndaKilgarriff 1:a86efb0ef0ad 48 #define ADT7420_A1_PIN(x) (((x) & 0x1) << 1) // I2C Serial Bus Address Selection Pin
EndaKilgarriff 1:a86efb0ef0ad 49 #define ADT7420_ADDRESS(x,y) (0x48 + ADT7420_A1_PIN(x) + ADT7420_A0_PIN(y))
EndaKilgarriff 1:a86efb0ef0ad 50
EndaKilgarriff 1:a86efb0ef0ad 51 /* ADT7320 (SPI) registers */
EndaKilgarriff 1:a86efb0ef0ad 52 #define ADT7320_REG_STATUS 0x00 // Status
EndaKilgarriff 1:a86efb0ef0ad 53 #define ADT7320_REG_CONFIG 0x01 // Configuration
EndaKilgarriff 1:a86efb0ef0ad 54 #define ADT7320_REG_TEMP 0x02 // Temperature value
EndaKilgarriff 1:a86efb0ef0ad 55 #define ADT7320_REG_ID 0x03 // ID
EndaKilgarriff 1:a86efb0ef0ad 56 #define ADT7320_REG_T_CRIT 0x04 // Temperature CRIT setpoint (147'C)
EndaKilgarriff 1:a86efb0ef0ad 57 #define ADT7320_REG_HIST 0x05 // Temperature HYST setpoint (5'C)
EndaKilgarriff 1:a86efb0ef0ad 58 #define ADT7320_REG_T_HIGH 0x06 // Temperature HIGH setpoint (64'C)
EndaKilgarriff 1:a86efb0ef0ad 59 #define ADT7320_REG_T_LOW 0x07 // Temperature LOW setpoint (10'C)
EndaKilgarriff 1:a86efb0ef0ad 60
EndaKilgarriff 1:a86efb0ef0ad 61 /* ADT7320 SPI command byte */
EndaKilgarriff 1:a86efb0ef0ad 62 #define ADT7320_WRITE_MASK_CMD 0b00111000 // SPI write command
EndaKilgarriff 1:a86efb0ef0ad 63 #define ADT7320_READ_CMD 0b01000000 // SPI read command
EndaKilgarriff 1:a86efb0ef0ad 64
EndaKilgarriff 1:a86efb0ef0ad 65 /* ADT7420 (I2C) registers */
EndaKilgarriff 1:a86efb0ef0ad 66 #define ADT7420_REG_TEMP_MSB 0x00 // Temperature value MSB
EndaKilgarriff 1:a86efb0ef0ad 67 #define ADT7420_REG_TEMP_LSB 0x01 // Temperature value LSB
EndaKilgarriff 1:a86efb0ef0ad 68 #define ADT7420_REG_STATUS 0x02 // Status
EndaKilgarriff 1:a86efb0ef0ad 69 #define ADT7420_REG_CONFIG 0x03 // Configuration
EndaKilgarriff 1:a86efb0ef0ad 70 #define ADT7420_REG_T_HIGH_MSB 0x04 // Temperature HIGH setpoint MSB
EndaKilgarriff 1:a86efb0ef0ad 71 #define ADT7420_REG_T_HIGH_LSB 0x05 // Temperature HIGH setpoint LSB
EndaKilgarriff 1:a86efb0ef0ad 72 #define ADT7420_REG_T_LOW_MSB 0x06 // Temperature LOW setpoint MSB
EndaKilgarriff 1:a86efb0ef0ad 73 #define ADT7420_REG_T_LOW_LSB 0x07 // Temperature LOW setpoint LSB
EndaKilgarriff 1:a86efb0ef0ad 74 #define ADT7420_REG_T_CRIT_MSB 0x08 // Temperature CRIT setpoint MSB
EndaKilgarriff 1:a86efb0ef0ad 75 #define ADT7420_REG_T_CRIT_LSB 0x09 // Temperature CRIT setpoint LSB
EndaKilgarriff 1:a86efb0ef0ad 76 #define ADT7420_REG_HIST 0x0A // Temperature HYST setpoint
EndaKilgarriff 1:a86efb0ef0ad 77 #define ADT7420_REG_ID 0x0B // ID
EndaKilgarriff 1:a86efb0ef0ad 78 #define ADT7420_REG_RESET 0x2F // Software reset
EndaKilgarriff 1:a86efb0ef0ad 79
EndaKilgarriff 1:a86efb0ef0ad 80 /* ADT7420_REG_STATUS definition */
EndaKilgarriff 1:a86efb0ef0ad 81 #define ADT7420_STATUS_T_LOW (1 << 4)
EndaKilgarriff 1:a86efb0ef0ad 82 #define ADT7420_STATUS_T_HIGH (1 << 5)
EndaKilgarriff 1:a86efb0ef0ad 83 #define ADT7420_STATUS_T_CRIT (1 << 6)
EndaKilgarriff 1:a86efb0ef0ad 84 #define ADT7420_STATUS_RDY (1 << 7)
EndaKilgarriff 1:a86efb0ef0ad 85
EndaKilgarriff 1:a86efb0ef0ad 86 /* ADT7420_REG_CONFIG definition */
EndaKilgarriff 1:a86efb0ef0ad 87 #define ADT7420_CONFIG_FAULT_QUEUE(x) (x & 0x3)
EndaKilgarriff 1:a86efb0ef0ad 88 #define ADT7420_CONFIG_CT_POL (1 << 2)
EndaKilgarriff 1:a86efb0ef0ad 89 #define ADT7420_CONFIG_INT_POL (1 << 3)
EndaKilgarriff 1:a86efb0ef0ad 90 #define ADT7420_CONFIG_INT_CT_MODE (1 << 4)
EndaKilgarriff 1:a86efb0ef0ad 91 #define ADT7420_CONFIG_OP_MODE(x) ((x & 0x3) << 5)
EndaKilgarriff 1:a86efb0ef0ad 92 #define ADT7420_CONFIG_RESOLUTION (1 << 7)
EndaKilgarriff 1:a86efb0ef0ad 93
EndaKilgarriff 1:a86efb0ef0ad 94 /* ADT7420_CONFIG_FAULT_QUEUE(x) options */
EndaKilgarriff 1:a86efb0ef0ad 95 #define ADT7420_FAULT_QUEUE_1_FAULT 0
EndaKilgarriff 1:a86efb0ef0ad 96 #define ADT7420_FAULT_QUEUE_2_FAULTS 1
EndaKilgarriff 1:a86efb0ef0ad 97 #define ADT7420_FAULT_QUEUE_3_FAULTS 2
EndaKilgarriff 1:a86efb0ef0ad 98 #define ADT7420_FAULT_QUEUE_4_FAULTS 3
EndaKilgarriff 1:a86efb0ef0ad 99
EndaKilgarriff 1:a86efb0ef0ad 100 /* ADT7420_CONFIG_OP_MODE(x) options */
EndaKilgarriff 1:a86efb0ef0ad 101 #define ADT7420_OP_MODE_CONT_CONV 0
EndaKilgarriff 1:a86efb0ef0ad 102 #define ADT7420_OP_MODE_ONE_SHOT 1
EndaKilgarriff 1:a86efb0ef0ad 103 #define ADT7420_OP_MODE_1_SPS 2
EndaKilgarriff 1:a86efb0ef0ad 104 #define ADT7420_OP_MODE_SHUTDOWN 3
EndaKilgarriff 1:a86efb0ef0ad 105
EndaKilgarriff 1:a86efb0ef0ad 106 /* ADT7420 default ID */
EndaKilgarriff 1:a86efb0ef0ad 107 #define ADT7XXX_ID_CHECK 0xC
EndaKilgarriff 1:a86efb0ef0ad 108 #define GET_MANUFACTURER_ID 4
EndaKilgarriff 1:a86efb0ef0ad 109 #define ADT7320_DEFAULT_ID 0xC3
EndaKilgarriff 1:a86efb0ef0ad 110 #define ADT7420_DEFAULT_ID 0xCB
EndaKilgarriff 1:a86efb0ef0ad 111
EndaKilgarriff 1:a86efb0ef0ad 112 /* ADT7420 bit mask */
EndaKilgarriff 1:a86efb0ef0ad 113 #define ADT7420_LSB_MASK 0x00FF
EndaKilgarriff 1:a86efb0ef0ad 114 #define ADT7420_MSB_MASK 0xFF00
EndaKilgarriff 1:a86efb0ef0ad 115 #define ADT7420_LSB_OFFSET 0
EndaKilgarriff 1:a86efb0ef0ad 116 #define ADT7420_MSB_OFFSET 8
EndaKilgarriff 1:a86efb0ef0ad 117
EndaKilgarriff 1:a86efb0ef0ad 118 /* SPI number of bytes in packet */
EndaKilgarriff 1:a86efb0ef0ad 119 #define PKT_LENGTH 3
EndaKilgarriff 1:a86efb0ef0ad 120
EndaKilgarriff 1:a86efb0ef0ad 121 #define ONE_BYTE 2
EndaKilgarriff 1:a86efb0ef0ad 122 #define TWO_BYTE 3
EndaKilgarriff 1:a86efb0ef0ad 123 #define FOUR_BYTES 4
EndaKilgarriff 1:a86efb0ef0ad 124
EndaKilgarriff 1:a86efb0ef0ad 125 #define STOP_BIT 1
EndaKilgarriff 1:a86efb0ef0ad 126 #define NO_STOP_BIT 0
EndaKilgarriff 1:a86efb0ef0ad 127
EndaKilgarriff 1:a86efb0ef0ad 128 /******************************************************************************/
EndaKilgarriff 1:a86efb0ef0ad 129 /*************************** Types Declarations *******************************/
EndaKilgarriff 1:a86efb0ef0ad 130 /******************************************************************************/
EndaKilgarriff 1:a86efb0ef0ad 131
EndaKilgarriff 1:a86efb0ef0ad 132 enum comm_type {
EndaKilgarriff 1:a86efb0ef0ad 133 SPI,
EndaKilgarriff 1:a86efb0ef0ad 134 I2C,
EndaKilgarriff 1:a86efb0ef0ad 135 };
EndaKilgarriff 1:a86efb0ef0ad 136
EndaKilgarriff 1:a86efb0ef0ad 137 struct adt7420_chip_info{
EndaKilgarriff 1:a86efb0ef0ad 138 uint8_t resolution;
EndaKilgarriff 1:a86efb0ef0ad 139 enum comm_type communication;
EndaKilgarriff 1:a86efb0ef0ad 140 };
EndaKilgarriff 1:a86efb0ef0ad 141
EndaKilgarriff 1:a86efb0ef0ad 142 enum adt7420_type {
EndaKilgarriff 1:a86efb0ef0ad 143 ID_ADT7410,
EndaKilgarriff 1:a86efb0ef0ad 144 ID_ADT7420,
EndaKilgarriff 1:a86efb0ef0ad 145 ID_ADT7422,
EndaKilgarriff 1:a86efb0ef0ad 146 ID_ADT7310,
EndaKilgarriff 1:a86efb0ef0ad 147 ID_ADT7311,
EndaKilgarriff 1:a86efb0ef0ad 148 ID_ADT7312,
EndaKilgarriff 1:a86efb0ef0ad 149 ID_ADT7320
EndaKilgarriff 1:a86efb0ef0ad 150 };
EndaKilgarriff 1:a86efb0ef0ad 151
EndaKilgarriff 1:a86efb0ef0ad 152 struct adt7420_dev {
EndaKilgarriff 1:a86efb0ef0ad 153 /* I2C */
EndaKilgarriff 1:a86efb0ef0ad 154 i2c_desc *i2c_desc;
EndaKilgarriff 1:a86efb0ef0ad 155 /* SPI */
EndaKilgarriff 1:a86efb0ef0ad 156 spi_desc *spi_desc;
EndaKilgarriff 1:a86efb0ef0ad 157 /* Device Settings */
EndaKilgarriff 1:a86efb0ef0ad 158 enum adt7420_type act_device;
EndaKilgarriff 1:a86efb0ef0ad 159 /* Device Settings */
EndaKilgarriff 1:a86efb0ef0ad 160 uint8_t resolution_setting;
EndaKilgarriff 1:a86efb0ef0ad 161
EndaKilgarriff 1:a86efb0ef0ad 162 };
EndaKilgarriff 1:a86efb0ef0ad 163
EndaKilgarriff 1:a86efb0ef0ad 164 struct adt7420_init_param {
EndaKilgarriff 1:a86efb0ef0ad 165 /* I2C */
EndaKilgarriff 1:a86efb0ef0ad 166 i2c_init_param i2c_init;
EndaKilgarriff 1:a86efb0ef0ad 167 /* SPI */
EndaKilgarriff 1:a86efb0ef0ad 168 spi_init_param spi_init;
EndaKilgarriff 1:a86efb0ef0ad 169 /* Device Settings */
EndaKilgarriff 1:a86efb0ef0ad 170 uint8_t resolution_setting;
EndaKilgarriff 1:a86efb0ef0ad 171 /* Device Settings */
EndaKilgarriff 1:a86efb0ef0ad 172 enum adt7420_type act_device;
EndaKilgarriff 1:a86efb0ef0ad 173 };
EndaKilgarriff 1:a86efb0ef0ad 174
EndaKilgarriff 1:a86efb0ef0ad 175 typedef enum {
EndaKilgarriff 1:a86efb0ef0ad 176 REG_TEMP, // Temperature value
EndaKilgarriff 1:a86efb0ef0ad 177 REG_STATUS, // status info
EndaKilgarriff 1:a86efb0ef0ad 178 REG_CONFIG, // Configuration
EndaKilgarriff 1:a86efb0ef0ad 179 REG_T_CRIT, // Temperature CRIT setpoint (147'C)
EndaKilgarriff 1:a86efb0ef0ad 180 REG_HIST, // Temperature HYST setpoint (5'C)
EndaKilgarriff 1:a86efb0ef0ad 181 REG_T_HIGH, // Temperature HIGH setpoint (64'C)
EndaKilgarriff 1:a86efb0ef0ad 182 REG_T_LOW, // Temperature LOW setpoint (10'C)
EndaKilgarriff 1:a86efb0ef0ad 183 REG_ID, // ID value
EndaKilgarriff 1:a86efb0ef0ad 184 REG_RESET
EndaKilgarriff 1:a86efb0ef0ad 185 } registers_e;
EndaKilgarriff 1:a86efb0ef0ad 186
EndaKilgarriff 1:a86efb0ef0ad 187 /******************************************************************************/
EndaKilgarriff 1:a86efb0ef0ad 188 /************************ Functions Declarations ******************************/
EndaKilgarriff 1:a86efb0ef0ad 189 /******************************************************************************/
EndaKilgarriff 1:a86efb0ef0ad 190
EndaKilgarriff 1:a86efb0ef0ad 191
EndaKilgarriff 1:a86efb0ef0ad 192
EndaKilgarriff 1:a86efb0ef0ad 193 /*! Reads the value of a register SPI/I2C.*/
EndaKilgarriff 1:a86efb0ef0ad 194 uint16_t get_register_value(struct adt7420_dev *dev,
EndaKilgarriff 1:a86efb0ef0ad 195 uint8_t register_address);
EndaKilgarriff 1:a86efb0ef0ad 196
EndaKilgarriff 1:a86efb0ef0ad 197 /*! Reads the value of a register SPI/I2C. */
EndaKilgarriff 1:a86efb0ef0ad 198 uint16_t adt7420_get_register_value(struct adt7420_dev *dev,
EndaKilgarriff 1:a86efb0ef0ad 199 uint8_t register_address);
EndaKilgarriff 1:a86efb0ef0ad 200
EndaKilgarriff 1:a86efb0ef0ad 201 /*! Write to input shift register SPI interface. */
EndaKilgarriff 1:a86efb0ef0ad 202 uint16_t set_shift_reg(struct adt7420_dev *dev,
EndaKilgarriff 1:a86efb0ef0ad 203 uint8_t register_address,
EndaKilgarriff 1:a86efb0ef0ad 204 uint8_t *data) ;
EndaKilgarriff 1:a86efb0ef0ad 205
EndaKilgarriff 1:a86efb0ef0ad 206 /*! Sets the value of a register.*/
EndaKilgarriff 1:a86efb0ef0ad 207 void set_register_value(struct adt7420_dev *dev,
EndaKilgarriff 1:a86efb0ef0ad 208 uint8_t register_address,
EndaKilgarriff 1:a86efb0ef0ad 209 uint8_t num_data_bytes,
EndaKilgarriff 1:a86efb0ef0ad 210 uint8_t *data);
EndaKilgarriff 1:a86efb0ef0ad 211
EndaKilgarriff 1:a86efb0ef0ad 212 /*! Initializes the comm. peripheral and checks if the device is present. */
EndaKilgarriff 1:a86efb0ef0ad 213 int32_t adt7420_init(struct adt7420_dev **device,
EndaKilgarriff 1:a86efb0ef0ad 214 struct adt7420_init_param init_param);
EndaKilgarriff 1:a86efb0ef0ad 215
EndaKilgarriff 1:a86efb0ef0ad 216 /* Free the resources allocated by adt7420_init(). */
EndaKilgarriff 1:a86efb0ef0ad 217 int32_t adt7420_remove(struct adt7420_dev *dev);
EndaKilgarriff 1:a86efb0ef0ad 218
EndaKilgarriff 1:a86efb0ef0ad 219 /*! Sets the operational mode for ADT7420. */
EndaKilgarriff 1:a86efb0ef0ad 220 void adt7420_set_operation_mode(struct adt7420_dev *dev,
EndaKilgarriff 1:a86efb0ef0ad 221 uint8_t mode);
EndaKilgarriff 1:a86efb0ef0ad 222
EndaKilgarriff 1:a86efb0ef0ad 223 /*! Sets the resolution for ADT7420. */
EndaKilgarriff 1:a86efb0ef0ad 224 void adt7420_set_resolution(struct adt7420_dev *dev,
EndaKilgarriff 1:a86efb0ef0ad 225 uint8_t resolution);
EndaKilgarriff 1:a86efb0ef0ad 226
EndaKilgarriff 1:a86efb0ef0ad 227 /*! Resets the SPI or I2C inteface for the ADT7420/ADT7320*/
EndaKilgarriff 1:a86efb0ef0ad 228 void adt7420_reset_interface(struct adt7420_dev *dev);
EndaKilgarriff 1:a86efb0ef0ad 229
EndaKilgarriff 1:a86efb0ef0ad 230 /*! Reads the temperature data and converts it to Celsius degrees. */
EndaKilgarriff 1:a86efb0ef0ad 231 float adt7420_get_temperature(struct adt7420_dev *dev);
EndaKilgarriff 1:a86efb0ef0ad 232
EndaKilgarriff 1:a86efb0ef0ad 233 /*! Writes data to temperature registers*/
EndaKilgarriff 1:a86efb0ef0ad 234 uint8_t adt7420_wr_setpoint_reg(struct adt7420_dev *device,
EndaKilgarriff 1:a86efb0ef0ad 235 uint8_t register_value,
EndaKilgarriff 1:a86efb0ef0ad 236 uint16_t data);
EndaKilgarriff 1:a86efb0ef0ad 237
EndaKilgarriff 1:a86efb0ef0ad 238 /*! Sets the Fault Queue option for ADT7420/ADT7320.*/
EndaKilgarriff 1:a86efb0ef0ad 239 void adt7420_set_fault_queue(struct adt7420_dev *dev,
EndaKilgarriff 1:a86efb0ef0ad 240 uint8_t mode);
EndaKilgarriff 1:a86efb0ef0ad 241
EndaKilgarriff 1:a86efb0ef0ad 242 /*! Sets comparator/interrupt (CT/INT) mode for ADT7420/ADT7320.*/
EndaKilgarriff 1:a86efb0ef0ad 243 void adt7420_set_ct_int_mode(struct adt7420_dev *dev,
EndaKilgarriff 1:a86efb0ef0ad 244 uint8_t setting);
EndaKilgarriff 1:a86efb0ef0ad 245
EndaKilgarriff 1:a86efb0ef0ad 246 /*! Sets output polarity for the pins CT/INT (Critical Temp - Over/Under Temp).*/
EndaKilgarriff 1:a86efb0ef0ad 247 void adt7420_set_ct_int_polarity(struct adt7420_dev *dev,
EndaKilgarriff 1:a86efb0ef0ad 248 uint8_t polarity);
EndaKilgarriff 1:a86efb0ef0ad 249
EndaKilgarriff 1:a86efb0ef0ad 250 #endif /* __ADT7420_H__ */