![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Forked repository for Analog Devices EVAL-TempSense-ARDZ
Dependencies: platform_drivers
app/adt7xxx_support.h@7:a3472d023b12, 2021-09-23 (annotated)
- 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?
User | Revision | Line number | New 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 |