Forked repository for Analog Devices EVAL-TempSense-ARDZ

Dependencies:   platform_drivers

Committer:
Janani Sunil
Date:
Thu Sep 23 12:40:39 2021 +0530
Revision:
7:a3472d023b12
1.) Updated the project repository structure
2.) Made modifications in the code to align with the latest no-OS drivers and the platform drivers

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Janani Sunil 7:a3472d023b12 1 /*****************************************************************************
Janani Sunil 7:a3472d023b12 2 * @file adt7xxx_support.h
Janani Sunil 7:a3472d023b12 3 * @brief Support Header File for adt7xxx
Janani Sunil 7:a3472d023b12 4 ******************************************************************************
Janani Sunil 7:a3472d023b12 5 * Copyright (c) 2021 Analog Devices, Inc.
Janani Sunil 7:a3472d023b12 6 * All rights reserved.
Janani Sunil 7:a3472d023b12 7 *
Janani Sunil 7:a3472d023b12 8 * This software is proprietary to Analog Devices, Inc. and its licensors.
Janani Sunil 7:a3472d023b12 9 * By using this software you agree to the terms of the associated
Janani Sunil 7:a3472d023b12 10 * Analog Devices Software License Agreement.
Janani Sunil 7:a3472d023b12 11 *****************************************************************************/
Janani Sunil 7:a3472d023b12 12
Janani Sunil 7:a3472d023b12 13 #ifndef _ADT7XXX_SUPPORT_H
Janani Sunil 7:a3472d023b12 14 #define _ADT7XXX_SUPPORT_H
Janani Sunil 7:a3472d023b12 15
Janani Sunil 7:a3472d023b12 16 /* ADT7420 bit mask */
Janani Sunil 7:a3472d023b12 17 #define ADT7420_LSB_MASK 0x00FF
Janani Sunil 7:a3472d023b12 18 #define ADT7420_MSB_MASK 0xFF00
Janani Sunil 7:a3472d023b12 19 #define ADT7420_LSB_OFFSET 0
Janani Sunil 7:a3472d023b12 20 #define ADT7420_MSB_OFFSET 8
Janani Sunil 7:a3472d023b12 21 #define ADT7420_CONFIG_CT_POL BIT(2)
Janani Sunil 7:a3472d023b12 22 #define ADT7420_CONFIG_FAULT_QUEUE(x) ((x) & 0x3)
Janani Sunil 7:a3472d023b12 23 #define ADT7420_CONFIG_INT_POL BIT(3)
Janani Sunil 7:a3472d023b12 24 #define ADT7420_CONFIG_INT_CT_MODE BIT(4)
Janani Sunil 7:a3472d023b12 25 #define ADT7420_MASK_SET_PT_REGISTER 0x00
Janani Sunil 7:a3472d023b12 26
Janani Sunil 7:a3472d023b12 27 /* ADT7420_CONFIG_FAULT_QUEUE(x) options */
Janani Sunil 7:a3472d023b12 28 #define ADT7420_FAULT_QUEUE_1_FAULT 0
Janani Sunil 7:a3472d023b12 29 #define ADT7420_FAULT_QUEUE_2_FAULTS 1
Janani Sunil 7:a3472d023b12 30 #define ADT7420_FAULT_QUEUE_3_FAULTS 2
Janani Sunil 7:a3472d023b12 31 #define ADT7420_FAULT_QUEUE_4_FAULTS 3
Janani Sunil 7:a3472d023b12 32
Janani Sunil 7:a3472d023b12 33 /* ADT7xxx default ID */
Janani Sunil 7:a3472d023b12 34 #define ADT7320_DEFAULT_ID 0xC3
Janani Sunil 7:a3472d023b12 35 #define ADT7420_DEFAULT_ID 0xCB
Janani Sunil 7:a3472d023b12 36
Janani Sunil 7:a3472d023b12 37 typedef enum {
Janani Sunil 7:a3472d023b12 38 REG_TEMP, // Temperature value
Janani Sunil 7:a3472d023b12 39 REG_STATUS, // status info
Janani Sunil 7:a3472d023b12 40 REG_CONFIG, // Configuration
Janani Sunil 7:a3472d023b12 41 REG_T_CRIT, // Temperature CRIT setpoint (147'C)
Janani Sunil 7:a3472d023b12 42 REG_HIST, // Temperature HYST setpoint (5'C)
Janani Sunil 7:a3472d023b12 43 REG_T_HIGH, // Temperature HIGH setpoint (64'C)
Janani Sunil 7:a3472d023b12 44 REG_T_LOW, // Temperature LOW setpoint (10'C)
Janani Sunil 7:a3472d023b12 45 REG_ID, // ID value
Janani Sunil 7:a3472d023b12 46 REG_RESET
Janani Sunil 7:a3472d023b12 47 } registers_e;
Janani Sunil 7:a3472d023b12 48
Janani Sunil 7:a3472d023b12 49
Janani Sunil 7:a3472d023b12 50 /*! Sets the Fault Queue option for ADT7420/ADT7320.*/
Janani Sunil 7:a3472d023b12 51 void adt7420_set_fault_queue(struct adt7420_dev *dev,
Janani Sunil 7:a3472d023b12 52 uint8_t mode);
Janani Sunil 7:a3472d023b12 53
Janani Sunil 7:a3472d023b12 54 /*! Sets comparator/interrupt (CT/INT) mode for ADT7420/ADT7320.*/
Janani Sunil 7:a3472d023b12 55 void adt7420_set_ct_int_mode(struct adt7420_dev *dev,
Janani Sunil 7:a3472d023b12 56 uint8_t setting);
Janani Sunil 7:a3472d023b12 57
Janani Sunil 7:a3472d023b12 58 /*! Sets output polarity for the pins CT/INT (Critical Temp - Over/Under Temp).*/
Janani Sunil 7:a3472d023b12 59 void adt7420_set_ct_int_polarity(struct adt7420_dev *dev,
Janani Sunil 7:a3472d023b12 60 uint8_t polarity);
Janani Sunil 7:a3472d023b12 61
Janani Sunil 7:a3472d023b12 62 /*! Writes data to temperature registers*/
Janani Sunil 7:a3472d023b12 63 uint8_t adt7420_wr_setpoint_reg(struct adt7420_dev *device,
Janani Sunil 7:a3472d023b12 64 uint8_t register_value,
Janani Sunil 7:a3472d023b12 65 uint16_t data);
Janani Sunil 7:a3472d023b12 66
Janani Sunil 7:a3472d023b12 67 /*! Get the register address of write type registers */
Janani Sunil 7:a3472d023b12 68 uint16_t configure_write_type_registers(struct adt7420_dev *dev,
Janani Sunil 7:a3472d023b12 69 uint8_t register_address);
Janani Sunil 7:a3472d023b12 70
Janani Sunil 7:a3472d023b12 71 /*! Get the register address based on the register type enum- registers_e */
Janani Sunil 7:a3472d023b12 72 uint16_t adt7420_get_register_address_and_value(struct adt7420_dev *dev,
Janani Sunil 7:a3472d023b12 73 uint8_t register_address);
Janani Sunil 7:a3472d023b12 74 #endif // _ADT7XXX_SUPPORT_H