Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: platform_drivers AD7124_no_OS adi_console_menu tempsensors_prv
Diff: app/ad7124_regs_configs.h
- Revision:
- 0:08ba94bc5a30
- Child:
- 5:90166c496b01
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/app/ad7124_regs_configs.h Fri Feb 19 16:26:06 2021 +0530
@@ -0,0 +1,188 @@
+/***************************************************************************//*
+ * @file ad7124_reg_app_config.h
+ * @brief Register configurations global defines
+ * @details
+******************************************************************************
+ * Copyright (c) 2021 Analog Devices, Inc. All Rights Reserved.
+ *
+ * This software is proprietary to Analog Devices, Inc. and its licensors.
+ * By using this software you agree to the terms of the associated
+ * Analog Devices Software License Agreement.
+******************************************************************************/
+
+#ifndef AD7124_REGS_CONFIGS_H_
+#define AD7124_REGS_CONFIGS_H_
+
+/******************************************************************************/
+/***************************** Include Files **********************************/
+/******************************************************************************/
+
+#include "app_config.h"
+#include "ad7124.h"
+
+/******************************************************************************/
+/********************* Macros and Constants Definitions ***********************/
+/******************************************************************************/
+
+/* 2-wire RTD configurations */
+#define RTD1_2WIRE_IOUT0 0 // AIN0
+#define RTD2_2WIRE_IOUT0 1 // AIN1
+#define RTD3_2WIRE_IOUT0 8 // AIN8
+#define RTD4_2WIRE_IOUT0 11 // AIN11
+#define RTD5_2WIRE_IOUT0 14 // AIN14
+
+#define RTD1_2WIRE_AINP 2 // AIN2
+#define RTD2_2WIRE_AINP 4 // AIN4
+#define RTD3_2WIRE_AINP 6 // AIN6
+#define RTD4_2WIRE_AINP 9 // AIN9
+#define RTD5_2WIRE_AINP 12 // AIN12
+
+#define RTD1_2WIRE_AINM 3 // AIN3
+#define RTD2_2WIRE_AINM 5 // AIN5
+#define RTD3_2WIRE_AINM 7 // AIN7
+#define RTD4_2WIRE_AINM 10 // AIN10
+#define RTD5_2WIRE_AINM 13 // AIN13
+
+/* 3-wire RTD configurations */
+#define RTD1_3WIRE_IOUT0 0 // AIN0
+#define RTD2_3WIRE_IOUT0 6 // AIN6
+#define RTD3_3WIRE_IOUT0 10 // AIN10
+#define RTD4_3WIRE_IOUT0 14 // AIN14
+
+#define RTD1_3WIRE_IOUT1 1 // AIN1
+#define RTD2_3WIRE_IOUT1 7 // AIN7
+#define RTD3_3WIRE_IOUT1 11 // AIN11
+#define RTD4_3WIRE_IOUT1 15 // AIN15
+
+#define RTD1_3WIRE_AINP 2 // AIN2
+#define RTD2_3WIRE_AINP 4 // AIN4
+#define RTD3_3WIRE_AINP 8 // AIN8
+#define RTD4_3WIRE_AINP 12 // AIN12
+
+#define RTD1_3WIRE_AINM 3 // AIN3
+#define RTD2_3WIRE_AINM 5 // AIN5
+#define RTD3_3WIRE_AINM 9 // AIN9
+#define RTD4_3WIRE_AINM 13 // AIN13
+
+#define RTD_3WIRE_IOUT_MEASURE_CALIB_TYPE_GAIN 0 // Gain=1
+#define RTD_3WIRE_IOUT_CHOPPING_CALIB_TYPE_GAIN 5 // Gain=32
+
+/* 3-wire RTD excitation current measurement inputs (for calibration) */
+#if defined(AD7124_8)
+#define RTD_3WIRE_EXC_MEASURE_AINP 14 // AIN14
+#define RTD_3WIRE_EXC_MEASURE_AINM 15 // AIN15
+#else
+#define RTD_3WIRE_EXC_MEASURE_AINP 6 // AIN6
+#define RTD_3WIRE_EXC_MEASURE_AINM 7 // AIN7
+#endif
+
+
+/* 4-wire RTD configurations */
+#define RTD1_4WIRE_IOUT0 0 // AIN0
+#define RTD2_4WIRE_IOUT0 1 // AIN1
+#define RTD3_4WIRE_IOUT0 8 // AIN8
+#define RTD4_4WIRE_IOUT0 11 // AIN11
+#define RTD5_4WIRE_IOUT0 14 // AIN14
+
+#define RTD1_4WIRE_AINP 2 // AIN2
+#define RTD2_4WIRE_AINP 4 // AIN4
+#define RTD3_4WIRE_AINP 6 // AIN6
+#define RTD4_4WIRE_AINP 9 // AIN9
+#define RTD5_4WIRE_AINP 12 // AIN12
+
+#define RTD1_4WIRE_AINM 3 // AIN3
+#define RTD2_4WIRE_AINM 5 // AIN5
+#define RTD3_4WIRE_AINM 7 // AIN7
+#define RTD4_4WIRE_AINM 10 // AIN10
+#define RTD5_4WIRE_AINM 13 // AIN13
+
+/* RTD common configurations */
+#define RTD_IOUT0_500UA_EXC 4 // 500uA IOUT0 excitation current
+#define RTD_IOUT1_500UA_EXC 4 // 500uA IOUT1 excitation current
+#define RTD_IOUT0_250UA_EXC 3 // 250uA IOUT0 excitation current
+#define RTD_IOUT1_250UA_EXC 3 // 250uA IOUT1 excitation current
+#define RTD_IOUT_EXC_OFF 0 // Excitation current is off
+#define RTD_GAIN_VALUE 4 // Gain=16
+
+
+/* NTC Thermistor configurations */
+#define NTC1_THERMISTOR_AINP 0 // AIN0
+#define NTC2_THERMISTOR_AINP 2 // AIN2
+#define NTC3_THERMISTOR_AINP 4 // AIN4
+#define NTC4_THERMISTOR_AINP 6 // AIN6
+#define NTC5_THERMISTOR_AINP 8 // AIN8
+#define NTC6_THERMISTOR_AINP 10 // AIN10
+#define NTC7_THERMISTOR_AINP 12 // AIN12
+#define NTC8_THERMISTOR_AINP 14 // AIN14
+
+#define NTC1_THERMISTOR_AINM 1 // AIN1
+#define NTC2_THERMISTOR_AINM 3 // AIN3
+#define NTC3_THERMISTOR_AINM 5 // AIN5
+#define NTC4_THERMISTOR_AINM 7 // AIN7
+#define NTC5_THERMISTOR_AINM 9 // AIN9
+#define NTC6_THERMISTOR_AINM 11 // AIN11
+#define NTC7_THERMISTOR_AINM 13 // AIN13
+#define NTC8_THERMISTOR_AINM 15 // AIN15
+
+/* NTC Thermistor common configurations */
+#define THERMISTOR_GAIN_VALUE 0 // Gain=1
+
+
+/* Thermocouple configurations */
+#define THERMOCOUPLE1_AINP 2 // AIN2
+#define THERMOCOUPLE2_AINP 6 // AIN6
+#define THERMOCOUPLE3_AINP 8 // AIN8
+#define THERMOCOUPLE4_AINP 10 // AIN10
+#define THERMOCOUPLE5_AINP 12 // AIN12
+#define THERMOCOUPLE6_AINP 14 // AIN14
+
+#define THERMOCOUPLE1_AINM 3 // AIN3
+#define THERMOCOUPLE2_AINM 7 // AIN7
+#define THERMOCOUPLE3_AINM 9 // AIN9
+#define THERMOCOUPLE4_AINM 11 // AIN11
+#define THERMOCOUPLE5_AINM 13 // AIN13
+#define THERMOCOUPLE6_AINM 15 // AIN15
+
+/* Thermocouple common configurations */
+#define THERMOCOUPLE_GAIN_VALUE 7 // Gain=128
+
+/* Cold Junction configurations for thermocouple compensation */
+#define CJC_4WIRE_RTD_AINP 4 // AIN4
+#define CJC_4WIRE_RTD_AINM 5 // AIN5
+#define CJC_4WIRE_RTD_IOUT0 1 // AIN1
+#define CJC_4WIRE_RTD_IOUT0_EXC RTD_IOUT0_500UA_EXC // 500uA
+
+#define CJC_PTC_THERMISTOR_AINP 4 // AIN4
+#define CJC_PTC_THERMISTOR_AINM 5 // AIN5
+#define CJC_PTC_THERMISTOR_IOUT0 1 // AIN1
+#define CJC_PTC_THERMISTOR_IOUT0_EXC 4 // 500uA
+
+/* ADC internal calibration configurations */
+#define ADC_CALIBRATION_GAIN 1 // Gain = 2
+#define ADC_CALIBRATION_PWR_MODE 0 // Low power mode
+#define ADC_CALIBRATION_REF_SRC 2 // Internal Vref
+
+/* CJC sensor types supported for thermocouple measurement */
+typedef enum {
+ PT100_4WIRE_RTD,
+ THERMISTOR_PTC_KY81_110,
+ PT1000_4WIRE_RTD,
+ NUM_OF_CJC_SENSORS
+} cjc_sensor_type;
+
+/******************************************************************************/
+/********************** Public/Extern Declarations ****************************/
+/******************************************************************************/
+
+/*
+ * Arrays holding the info for the AD7124 registers - address, initial value,
+ * size and access type.
+ */
+extern const struct ad7124_st_reg ad7124_regs_config_2wire_rtd[AD7124_REG_NO];
+extern const struct ad7124_st_reg ad7124_regs_config_3wire_rtd[AD7124_REG_NO];
+extern const struct ad7124_st_reg ad7124_regs_config_4wire_rtd[AD7124_REG_NO];
+extern const struct ad7124_st_reg ad7124_regs_config_thermistor[AD7124_REG_NO];
+extern const struct ad7124_st_reg
+ ad7124_regs_config_thermocouple[AD7124_REG_NO];
+
+#endif /* AD7124_REGS_CONFIGS_H_ */