. Reverting Mbed firmware to support customers using ADMW1001 device firmware v82.25. 2. New Mbed firmware will be available when ADMW1001 device firmware is released to the public. 3. SPI speed is reduced to 700KHz 4.The program compiled and tested with device FW v82.25

Committer:
Vkadaba
Date:
Wed Jun 05 05:39:15 2019 +0000
Revision:
5:0728bde67bdb
Parent:
0:85855ecd3257
Child:
6:9d393a9677f4
Replaced all references to ADISense/ADISENSE1000/adi_sense with ADMW/ADMW1001/admw and the prject builds.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ADIJake 0:85855ecd3257 1 /*!
ADIJake 0:85855ecd3257 2 ******************************************************************************
ADIJake 0:85855ecd3257 3 * @file: config.c
ADIJake 0:85855ecd3257 4 * @brief:
ADIJake 0:85855ecd3257 5 *-----------------------------------------------------------------------------
ADIJake 0:85855ecd3257 6 *
ADIJake 0:85855ecd3257 7 Copyright 2017 (c) Analog Devices, Inc.
ADIJake 0:85855ecd3257 8
ADIJake 0:85855ecd3257 9 All rights reserved.
ADIJake 0:85855ecd3257 10
ADIJake 0:85855ecd3257 11 Redistribution and use in source and binary forms, with or without
ADIJake 0:85855ecd3257 12 modification, are permitted provided that the following conditions are met:
ADIJake 0:85855ecd3257 13 - Redistributions of source code must retain the above copyright
ADIJake 0:85855ecd3257 14 notice, this list of conditions and the following disclaimer.
ADIJake 0:85855ecd3257 15 - Redistributions in binary form must reproduce the above copyright
ADIJake 0:85855ecd3257 16 notice, this list of conditions and the following disclaimer in
ADIJake 0:85855ecd3257 17 the documentation and/or other materials provided with the
ADIJake 0:85855ecd3257 18 distribution.
ADIJake 0:85855ecd3257 19 - Neither the name of Analog Devices, Inc. nor the names of its
ADIJake 0:85855ecd3257 20 contributors may be used to endorse or promote products derived
ADIJake 0:85855ecd3257 21 from this software without specific prior written permission.
ADIJake 0:85855ecd3257 22 - The use of this software may or may not infringe the patent rights
ADIJake 0:85855ecd3257 23 of one or more patent holders. This license does not release you
ADIJake 0:85855ecd3257 24 from the requirement that you obtain separate licenses from these
ADIJake 0:85855ecd3257 25 patent holders to use this software.
ADIJake 0:85855ecd3257 26 - Use of the software either in source or binary form, must be run
ADIJake 0:85855ecd3257 27 on or directly connected to an Analog Devices Inc. component.
ADIJake 0:85855ecd3257 28
ADIJake 0:85855ecd3257 29 THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
ADIJake 0:85855ecd3257 30 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
ADIJake 0:85855ecd3257 31 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
ADIJake 0:85855ecd3257 32 IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
ADIJake 0:85855ecd3257 33 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
ADIJake 0:85855ecd3257 34 LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR
ADIJake 0:85855ecd3257 35 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
ADIJake 0:85855ecd3257 36 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
ADIJake 0:85855ecd3257 37 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
ADIJake 0:85855ecd3257 38 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ADIJake 0:85855ecd3257 39 *
ADIJake 0:85855ecd3257 40 *****************************************************************************/
ADIJake 0:85855ecd3257 41
Vkadaba 5:0728bde67bdb 42 #include "admw_config_types.h"
ADIJake 0:85855ecd3257 43
Vkadaba 5:0728bde67bdb 44 ADMW_CONFIG multichannel_singlecycle_config = {
ADIJake 0:85855ecd3257 45 .versionId = { .major = 1, .minor = 4 },
Vkadaba 5:0728bde67bdb 46 .productId = ADMW_PRODUCT_ID_ADMW1001,
Vkadaba 5:0728bde67bdb 47 .admw1001 = {
ADIJake 0:85855ecd3257 48 .power = {
Vkadaba 5:0728bde67bdb 49 .powerMode = ADMW1001_POWER_MODE_FULL,
ADIJake 0:85855ecd3257 50 },
ADIJake 0:85855ecd3257 51 .measurement = {
Vkadaba 5:0728bde67bdb 52 .operatingMode = ADMW1001_OPERATING_MODE_SINGLECYCLE,
Vkadaba 5:0728bde67bdb 53 .dataReadyMode = ADMW1001_DATAREADY_PER_CONVERSION,
ADIJake 0:85855ecd3257 54 },
ADIJake 0:85855ecd3257 55 .channels = {
Vkadaba 5:0728bde67bdb 56 [ADMW1001_CHANNEL_ID_CJC_0] = {
ADIJake 0:85855ecd3257 57 .enableChannel = true,
ADIJake 0:85855ecd3257 58 .disablePublishing = false,
Vkadaba 5:0728bde67bdb 59 .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
Vkadaba 5:0728bde67bdb 60 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
ADIJake 0:85855ecd3257 61 .measurementsPerCycle = 10,
ADIJake 0:85855ecd3257 62 .extraSettlingTime = 0,
ADIJake 0:85855ecd3257 63 .adcChannelConfig = {
Vkadaba 5:0728bde67bdb 64 .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
Vkadaba 5:0728bde67bdb 65 .gain = ADMW1001_ADC_GAIN_8X,
ADIJake 0:85855ecd3257 66 .current = {
Vkadaba 5:0728bde67bdb 67 .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
ADIJake 0:85855ecd3257 68 },
ADIJake 0:85855ecd3257 69 .filter = {
Vkadaba 5:0728bde67bdb 70 .type = ADMW1001_ADC_FILTER_FIR_25SPS,
ADIJake 0:85855ecd3257 71 },
ADIJake 0:85855ecd3257 72 .reference = {
Vkadaba 5:0728bde67bdb 73 .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
ADIJake 0:85855ecd3257 74 .disableBuffer = false,
ADIJake 0:85855ecd3257 75 },
ADIJake 0:85855ecd3257 76 .enableVbias = false,
ADIJake 0:85855ecd3257 77 },
ADIJake 0:85855ecd3257 78 },
Vkadaba 5:0728bde67bdb 79 [ADMW1001_CHANNEL_ID_CJC_1] = {
ADIJake 0:85855ecd3257 80 .enableChannel = true,
ADIJake 0:85855ecd3257 81 .disablePublishing = false,
Vkadaba 5:0728bde67bdb 82 .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
Vkadaba 5:0728bde67bdb 83 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
ADIJake 0:85855ecd3257 84 .measurementsPerCycle = 10,
ADIJake 0:85855ecd3257 85 .extraSettlingTime = 0,
ADIJake 0:85855ecd3257 86 .adcChannelConfig = {
Vkadaba 5:0728bde67bdb 87 .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
Vkadaba 5:0728bde67bdb 88 .gain = ADMW1001_ADC_GAIN_8X,
ADIJake 0:85855ecd3257 89 .current = {
Vkadaba 5:0728bde67bdb 90 .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
ADIJake 0:85855ecd3257 91 },
ADIJake 0:85855ecd3257 92 .filter = {
Vkadaba 5:0728bde67bdb 93 .type = ADMW1001_ADC_FILTER_FIR_25SPS,
ADIJake 0:85855ecd3257 94 },
ADIJake 0:85855ecd3257 95 .reference = {
Vkadaba 5:0728bde67bdb 96 .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
ADIJake 0:85855ecd3257 97 .disableBuffer = false,
ADIJake 0:85855ecd3257 98 },
ADIJake 0:85855ecd3257 99 .enableVbias = false,
ADIJake 0:85855ecd3257 100 },
ADIJake 0:85855ecd3257 101 },
Vkadaba 5:0728bde67bdb 102 [ADMW1001_CHANNEL_ID_SENSOR_0] = {
ADIJake 0:85855ecd3257 103 .enableChannel = true,
ADIJake 0:85855ecd3257 104 .disablePublishing = false,
Vkadaba 5:0728bde67bdb 105 .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
Vkadaba 5:0728bde67bdb 106 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
ADIJake 0:85855ecd3257 107 .measurementsPerCycle = 10,
ADIJake 0:85855ecd3257 108 .extraSettlingTime = 0,
ADIJake 0:85855ecd3257 109 .adcChannelConfig = {
Vkadaba 5:0728bde67bdb 110 .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
Vkadaba 5:0728bde67bdb 111 .gain = ADMW1001_ADC_GAIN_8X,
ADIJake 0:85855ecd3257 112 .current = {
Vkadaba 5:0728bde67bdb 113 .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
ADIJake 0:85855ecd3257 114 },
ADIJake 0:85855ecd3257 115 .filter = {
Vkadaba 5:0728bde67bdb 116 .type = ADMW1001_ADC_FILTER_FIR_25SPS,
ADIJake 0:85855ecd3257 117 },
ADIJake 0:85855ecd3257 118 .reference = {
Vkadaba 5:0728bde67bdb 119 .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
ADIJake 0:85855ecd3257 120 .disableBuffer = false,
ADIJake 0:85855ecd3257 121 },
ADIJake 0:85855ecd3257 122 .enableVbias = false,
ADIJake 0:85855ecd3257 123 },
ADIJake 0:85855ecd3257 124 },
Vkadaba 5:0728bde67bdb 125 [ADMW1001_CHANNEL_ID_SENSOR_1] = {
ADIJake 0:85855ecd3257 126 .enableChannel = true,
ADIJake 0:85855ecd3257 127 .disablePublishing = false,
Vkadaba 5:0728bde67bdb 128 .compensationChannel = ADMW1001_CHANNEL_ID_CJC_1,
Vkadaba 5:0728bde67bdb 129 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
ADIJake 0:85855ecd3257 130 .measurementsPerCycle = 10,
ADIJake 0:85855ecd3257 131 .extraSettlingTime = 0,
ADIJake 0:85855ecd3257 132 .adcChannelConfig = {
Vkadaba 5:0728bde67bdb 133 .sensor = ADMW1001_ADC_SENSOR_THERMOCOUPLE_K_DEF_L1,
Vkadaba 5:0728bde67bdb 134 .gain = ADMW1001_ADC_GAIN_32X,
ADIJake 0:85855ecd3257 135 .filter = {
Vkadaba 5:0728bde67bdb 136 .type = ADMW1001_ADC_FILTER_FIR_25SPS,
ADIJake 0:85855ecd3257 137 },
ADIJake 0:85855ecd3257 138 .reference = {
Vkadaba 5:0728bde67bdb 139 .type = ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
ADIJake 0:85855ecd3257 140 .disableBuffer = true,
ADIJake 0:85855ecd3257 141 },
ADIJake 0:85855ecd3257 142 .enableVbias = true,
ADIJake 0:85855ecd3257 143 },
ADIJake 0:85855ecd3257 144 },
Vkadaba 5:0728bde67bdb 145 [ADMW1001_CHANNEL_ID_SENSOR_2] = {
ADIJake 0:85855ecd3257 146 .enableChannel = true,
ADIJake 0:85855ecd3257 147 .disablePublishing = false,
Vkadaba 5:0728bde67bdb 148 .compensationChannel = ADMW1001_CHANNEL_ID_CJC_0,
Vkadaba 5:0728bde67bdb 149 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
ADIJake 0:85855ecd3257 150 .measurementsPerCycle = 10,
ADIJake 0:85855ecd3257 151 .extraSettlingTime = 0,
ADIJake 0:85855ecd3257 152 .adcChannelConfig = {
Vkadaba 5:0728bde67bdb 153 .sensor = ADMW1001_ADC_SENSOR_THERMOCOUPLE_T_DEF_L1,
Vkadaba 5:0728bde67bdb 154 .gain = ADMW1001_ADC_GAIN_32X,
ADIJake 0:85855ecd3257 155 .filter = {
Vkadaba 5:0728bde67bdb 156 .type = ADMW1001_ADC_FILTER_FIR_25SPS,
ADIJake 0:85855ecd3257 157 },
ADIJake 0:85855ecd3257 158 .reference = {
Vkadaba 5:0728bde67bdb 159 .type = ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
ADIJake 0:85855ecd3257 160 .disableBuffer = true,
ADIJake 0:85855ecd3257 161 },
ADIJake 0:85855ecd3257 162 .enableVbias = true,
ADIJake 0:85855ecd3257 163 },
ADIJake 0:85855ecd3257 164 },
Vkadaba 5:0728bde67bdb 165 [ADMW1001_CHANNEL_ID_SENSOR_3] = {
ADIJake 0:85855ecd3257 166 .enableChannel = true,
ADIJake 0:85855ecd3257 167 .disablePublishing = false,
Vkadaba 5:0728bde67bdb 168 .compensationChannel = ADMW1001_CHANNEL_ID_CJC_0,
Vkadaba 5:0728bde67bdb 169 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
ADIJake 0:85855ecd3257 170 .measurementsPerCycle = 10,
ADIJake 0:85855ecd3257 171 .extraSettlingTime = 0,
ADIJake 0:85855ecd3257 172 .adcChannelConfig = {
Vkadaba 5:0728bde67bdb 173 .sensor = ADMW1001_ADC_SENSOR_THERMOCOUPLE_J_DEF_L1,
Vkadaba 5:0728bde67bdb 174 .gain = ADMW1001_ADC_GAIN_32X,
ADIJake 0:85855ecd3257 175 .filter = {
Vkadaba 5:0728bde67bdb 176 .type = ADMW1001_ADC_FILTER_FIR_25SPS,
ADIJake 0:85855ecd3257 177 },
ADIJake 0:85855ecd3257 178 .reference = {
Vkadaba 5:0728bde67bdb 179 .type = ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
ADIJake 0:85855ecd3257 180 .disableBuffer = true,
ADIJake 0:85855ecd3257 181 },
ADIJake 0:85855ecd3257 182 .enableVbias = true,
ADIJake 0:85855ecd3257 183 },
ADIJake 0:85855ecd3257 184 },
Vkadaba 5:0728bde67bdb 185 [ADMW1001_CHANNEL_ID_VOLTAGE_0] = {
ADIJake 0:85855ecd3257 186 .enableChannel = true,
ADIJake 0:85855ecd3257 187 .disablePublishing = false,
Vkadaba 5:0728bde67bdb 188 .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
ADIJake 0:85855ecd3257 189 .measurementsPerCycle = 10,
ADIJake 0:85855ecd3257 190 .extraSettlingTime = 0,
ADIJake 0:85855ecd3257 191 .adcChannelConfig = {
Vkadaba 5:0728bde67bdb 192 .sensor = ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_A_DEF_L1,
Vkadaba 5:0728bde67bdb 193 .gain = ADMW1001_ADC_GAIN_2X,
ADIJake 0:85855ecd3257 194 .filter = {
Vkadaba 5:0728bde67bdb 195 .type = ADMW1001_ADC_FILTER_FIR_25SPS,
ADIJake 0:85855ecd3257 196 },
ADIJake 0:85855ecd3257 197 .reference = {
Vkadaba 5:0728bde67bdb 198 .type = ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
ADIJake 0:85855ecd3257 199 .disableBuffer = true,
ADIJake 0:85855ecd3257 200 },
ADIJake 0:85855ecd3257 201 .enableVbias = false,
ADIJake 0:85855ecd3257 202 },
ADIJake 0:85855ecd3257 203 },
Vkadaba 5:0728bde67bdb 204 [ADMW1001_CHANNEL_ID_CURRENT_0] = {
ADIJake 0:85855ecd3257 205 .enableChannel = true,
ADIJake 0:85855ecd3257 206 .disablePublishing = false,
Vkadaba 5:0728bde67bdb 207 .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
ADIJake 0:85855ecd3257 208 .measurementsPerCycle = 10,
ADIJake 0:85855ecd3257 209 .extraSettlingTime = 0,
ADIJake 0:85855ecd3257 210 .adcChannelConfig = {
Vkadaba 5:0728bde67bdb 211 .sensor = ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_A_DEF_L1,
Vkadaba 5:0728bde67bdb 212 .gain = ADMW1001_ADC_GAIN_2X,
ADIJake 0:85855ecd3257 213 .filter = {
Vkadaba 5:0728bde67bdb 214 .type = ADMW1001_ADC_FILTER_FIR_25SPS,
ADIJake 0:85855ecd3257 215 },
ADIJake 0:85855ecd3257 216 .reference = {
Vkadaba 5:0728bde67bdb 217 .type = ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
ADIJake 0:85855ecd3257 218 .disableBuffer = true,
ADIJake 0:85855ecd3257 219 },
ADIJake 0:85855ecd3257 220 .enableVbias = false,
ADIJake 0:85855ecd3257 221 },
ADIJake 0:85855ecd3257 222 },
Vkadaba 5:0728bde67bdb 223 [ADMW1001_CHANNEL_ID_I2C_0] = {
ADIJake 0:85855ecd3257 224 .enableChannel = true,
ADIJake 0:85855ecd3257 225 .disablePublishing = false,
Vkadaba 5:0728bde67bdb 226 .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
ADIJake 0:85855ecd3257 227 .measurementsPerCycle = 10,
ADIJake 0:85855ecd3257 228 .extraSettlingTime = 36500,
ADIJake 0:85855ecd3257 229 .i2cChannelConfig = {
Vkadaba 5:0728bde67bdb 230 .sensor = ADMW1001_I2C_SENSOR_HUMIDITY_A_DEF_L1,
ADIJake 0:85855ecd3257 231 .deviceAddress = 0x27,
ADIJake 0:85855ecd3257 232 },
ADIJake 0:85855ecd3257 233 },
ADIJake 0:85855ecd3257 234 },
ADIJake 0:85855ecd3257 235 },
ADIJake 0:85855ecd3257 236 };
ADIJake 0:85855ecd3257 237