Host API Example for the ADMW1001

Committer:
Vkadaba
Date:
Sat Jun 15 14:30:49 2019 +0000
Revision:
6:9d393a9677f4
Parent:
5:0728bde67bdb
Child:
7:e75e825c04a4
Register map is updated and sensor config files are modified

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ADIJake 0:85855ecd3257 1 /*
ADIJake 0:85855ecd3257 2 Copyright 2017 (c) Analog Devices, Inc.
ADIJake 0:85855ecd3257 3
ADIJake 0:85855ecd3257 4 All rights reserved.
ADIJake 0:85855ecd3257 5
ADIJake 0:85855ecd3257 6 Redistribution and use in source and binary forms, with or without
ADIJake 0:85855ecd3257 7 modification, are permitted provided that the following conditions are met:
ADIJake 0:85855ecd3257 8 - Redistributions of source code must retain the above copyright
ADIJake 0:85855ecd3257 9 notice, this list of conditions and the following disclaimer.
ADIJake 0:85855ecd3257 10 - Redistributions in binary form must reproduce the above copyright
ADIJake 0:85855ecd3257 11 notice, this list of conditions and the following disclaimer in
ADIJake 0:85855ecd3257 12 the documentation and/or other materials provided with the
ADIJake 0:85855ecd3257 13 distribution.
ADIJake 0:85855ecd3257 14 - Neither the name of Analog Devices, Inc. nor the names of its
ADIJake 0:85855ecd3257 15 contributors may be used to endorse or promote products derived
ADIJake 0:85855ecd3257 16 from this software without specific prior written permission.
ADIJake 0:85855ecd3257 17 - The use of this software may or may not infringe the patent rights
ADIJake 0:85855ecd3257 18 of one or more patent holders. This license does not release you
ADIJake 0:85855ecd3257 19 from the requirement that you obtain separate licenses from these
ADIJake 0:85855ecd3257 20 patent holders to use this software.
ADIJake 0:85855ecd3257 21 - Use of the software either in source or binary form, must be run
ADIJake 0:85855ecd3257 22 on or directly connected to an Analog Devices Inc. component.
ADIJake 0:85855ecd3257 23
ADIJake 0:85855ecd3257 24 THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
ADIJake 0:85855ecd3257 25 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
ADIJake 0:85855ecd3257 26 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
ADIJake 0:85855ecd3257 27 IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
ADIJake 0:85855ecd3257 28 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
ADIJake 0:85855ecd3257 29 LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR
ADIJake 0:85855ecd3257 30 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
ADIJake 0:85855ecd3257 31 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
ADIJake 0:85855ecd3257 32 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
ADIJake 0:85855ecd3257 33 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ADIJake 0:85855ecd3257 34 *
ADIJake 0:85855ecd3257 35 *****************************************************************************/
ADIJake 0:85855ecd3257 36
ADIJake 0:85855ecd3257 37 /*!
ADIJake 0:85855ecd3257 38 ******************************************************************************
ADIJake 0:85855ecd3257 39 * @file:
ADIJake 0:85855ecd3257 40 * @brief:
ADIJake 0:85855ecd3257 41 *-----------------------------------------------------------------------------
ADIJake 0:85855ecd3257 42 */
Vkadaba 5:0728bde67bdb 43 #include "admw_config_types.h"
ADIJake 0:85855ecd3257 44
Vkadaba 5:0728bde67bdb 45 ADMW_CONFIG sensor0_typeK_cjc0_config = {
ADIJake 0:85855ecd3257 46 .versionId = { .major = 1, .minor = 4 },
Vkadaba 5:0728bde67bdb 47 .productId = ADMW_PRODUCT_ID_ADMW1001,
Vkadaba 5:0728bde67bdb 48 .admw1001 = {
ADIJake 0:85855ecd3257 49 .power = {
Vkadaba 6:9d393a9677f4 50 .powerMode = ADMW1001_POWER_MODE_ACTIVE,
ADIJake 0:85855ecd3257 51 },
ADIJake 0:85855ecd3257 52 .measurement = {
Vkadaba 5:0728bde67bdb 53 .operatingMode = ADMW1001_OPERATING_MODE_SINGLECYCLE,
Vkadaba 5:0728bde67bdb 54 .dataReadyMode = ADMW1001_DATAREADY_PER_CYCLE,
ADIJake 0:85855ecd3257 55 },
ADIJake 0:85855ecd3257 56 .channels = {
Vkadaba 6:9d393a9677f4 57 [ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL] = {
ADIJake 0:85855ecd3257 58 .enableChannel = true,
ADIJake 0:85855ecd3257 59 .disablePublishing = false,
Vkadaba 5:0728bde67bdb 60 .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
Vkadaba 5:0728bde67bdb 61 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
ADIJake 0:85855ecd3257 62 .measurementsPerCycle = 10,
ADIJake 0:85855ecd3257 63 .extraSettlingTime = 0,
ADIJake 0:85855ecd3257 64 .adcChannelConfig = {
Vkadaba 5:0728bde67bdb 65 .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
Vkadaba 5:0728bde67bdb 66 .gain = ADMW1001_ADC_GAIN_8X,
ADIJake 0:85855ecd3257 67 .current = {
Vkadaba 5:0728bde67bdb 68 .outputLevel = ADMW1001_ADC_EXC_CURRENT_250uA,
ADIJake 0:85855ecd3257 69 },
ADIJake 0:85855ecd3257 70 .filter = {
Vkadaba 6:9d393a9677f4 71 .type = ADMW1001_ADC_FILTER_SINC3,
ADIJake 0:85855ecd3257 72 },
ADIJake 0:85855ecd3257 73 .reference = {
Vkadaba 5:0728bde67bdb 74 .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
ADIJake 0:85855ecd3257 75 },
ADIJake 0:85855ecd3257 76 .enableVbias = false,
ADIJake 0:85855ecd3257 77 },
ADIJake 0:85855ecd3257 78 },
Vkadaba 6:9d393a9677f4 79 [ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL] = {
ADIJake 0:85855ecd3257 80 .enableChannel = true,
ADIJake 0:85855ecd3257 81 .disablePublishing = false,
Vkadaba 6:9d393a9677f4 82 .compensationChannel = ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL,
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_THERMOCOUPLE_K_DEF_L1,
Vkadaba 5:0728bde67bdb 88 .gain = ADMW1001_ADC_GAIN_32X,
ADIJake 0:85855ecd3257 89 .filter = {
Vkadaba 6:9d393a9677f4 90 .type = ADMW1001_ADC_FILTER_SINC3,
ADIJake 0:85855ecd3257 91 },
ADIJake 0:85855ecd3257 92 .reference = {
Vkadaba 5:0728bde67bdb 93 .type = ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
ADIJake 0:85855ecd3257 94 },
ADIJake 0:85855ecd3257 95 .enableVbias = true,
ADIJake 0:85855ecd3257 96 },
ADIJake 0:85855ecd3257 97 },
ADIJake 0:85855ecd3257 98 },
ADIJake 0:85855ecd3257 99 },
ADIJake 0:85855ecd3257 100 };
ADIJake 0:85855ecd3257 101