Vybhav Kadaba / Mbed OS EV-PRO-MW1001_Development_updateFW

Files at this revision

API Documentation at this revision

Comitter:
Vkadaba
Date:
Wed Aug 07 06:46:25 2019 +0000
Parent:
16:327cea5a86e9
Child:
18:cbf514cce921
Commit message:
filter parameter - filterChop replaced with chopMode

Changed in this revision

config.c Show annotated file Show diff for this revision Revisions of this file
inc/admw1001/admw1001_config.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
sensor2_bridge_4w_load_cell_config.c Show annotated file Show diff for this revision Revisions of this file
src/admw_1001.c Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/config.c	Wed Aug 07 06:46:25 2019 +0000
@@ -0,0 +1,274 @@
+/*!
+
+ ******************************************************************************
+
+ * @file:   config.c
+
+ * @brief:
+
+ *-----------------------------------------------------------------------------
+
+ *
+
+Copyright (c) 2018 Analog Devices, Inc.
+
+
+
+All rights reserved.
+
+
+
+Redistribution and use in source and binary forms, with or without modification,
+
+are permitted provided that the following conditions are met:
+
+  - Redistributions of source code must retain the above copyright notice,
+
+    this list of conditions and the following disclaimer.
+
+  - Redistributions in binary form must reproduce the above copyright notice,
+
+    this list of conditions and the following disclaimer in the documentation
+
+    and/or other materials provided with the distribution.
+
+  - Modified versions of the software must be conspicuously marked as such.
+
+  - This software is licensed solely and exclusively for use with processors
+
+    manufactured by or for Analog Devices, Inc.
+
+  - This software may not be combined or merged with other code in any manner
+
+    that would cause the software to become subject to terms and conditions
+
+    which differ from those listed here.
+
+  - Neither the name of Analog Devices, Inc. nor the names of its
+
+    contributors may be used to endorse or promote products derived
+
+    from this software without specific prior written permission.
+
+  - The use of this software may or may not infringe the patent rights of one
+
+    or more patent holders.  This license does not release you from the
+
+    requirement that you obtain separate licenses from these patent holders
+
+    to use this software.
+
+
+
+THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. AND CONTRIBUTORS "AS IS" AND ANY
+
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
+
+TITLE, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
+
+NO EVENT SHALL ANALOG DEVICES, INC. OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, PUNITIVE OR CONSEQUENTIAL DAMAGES
+
+(INCLUDING, BUT NOT LIMITED TO, DAMAGES ARISING OUT OF CLAIMS OF INTELLECTUAL
+
+PROPERTY RIGHTS INFRINGEMENT; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ *
+
+ *****************************************************************************/
+
+
+
+#include "inc/admw_config_types.h"
+
+
+
+ADMW_CONFIG config= {
+
+    .versionId = { .major = 2, .minor = 0 },
+
+    .productId = ADMW_PRODUCT_ID_ADMW1001,
+
+    .admw1001 = {
+
+            .power = {
+
+                .powerMode = ADMW1001_POWER_MODE_ACTIVE,
+
+            },
+
+            .measurement = {
+
+                .operatingMode = ADMW1001_OPERATING_MODE_CONTINUOUS,
+
+                .dataReadyMode = ADMW1001_DATAREADY_PER_CYCLE, // FIX: Temporarily all values from json are hardcoded to this one in the Contracts.FileGenerator - > file translations!!
+
+                .cycleInterval = 0,
+
+                .vBiasEnable = true,
+
+            },
+
+            .diagnostics = {
+
+                .disableGlobalDiag = true,
+
+                .disableMeasurementDiag = true,
+
+                .osdFrequency = ADMW1001_OPEN_SENSOR_DIAGNOSTICS_DISABLED,
+
+            },
+
+            .channels = {
+
+                [ADMW1001_CH_ID_ANLG_1_UNIVERSAL] = {
+
+                    .enableChannel = true,
+
+                    .disablePublishing = false,
+
+                    .compensationChannel = ADMW1001_CH_ID_NONE,
+
+                    .lutSelect = ADMW1001_LUT_DEFAULT,
+
+                    .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
+
+                    .lowThreshold = -50,
+
+                    .highThreshold = 250,
+
+                    .offsetAdjustment = 0.0,
+
+                    .gainAdjustment = 0.0,
+
+                    .sensorParameter = 0.0,
+
+                    .measurementsPerCycle = 1,
+
+                    .cycleSkipCount = 0,
+
+                    .extraSettlingTime = 0,
+
+                    .priority = 0,
+
+                    .adcChannelConfig = {
+
+                        .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100,
+
+                        .rtdCurve = ADMW1001_ADC_RTD_CURVE_EUROPEAN,
+
+                        .gain = ADMW1001_ADC_GAIN_2X,
+
+                        .current = {
+
+                            .excitationState= ADMW1001_ADC_EXC_STATE_ALWAYS_ON,
+
+                            .outputLevel = ADMW1001_ADC_EXC_CURRENT_250uA,
+
+                            .diodeRatio = 0,
+
+                        },
+
+                        .filter = {
+
+                            .type = ADMW1001_ADC_FILTER_SINC3,
+
+                            .sf = ADMW1001_SF_8P24HZ,
+
+                            .chopMode = ADMW1001_CHOP_MD_SW,
+
+                            .notch1p2 = false,
+
+                            .groundSwitch = ADMW1001_ADC_GND_SW_OPEN
+
+                        },
+
+                        .reference = ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
+
+                    },
+
+                },
+
+                [ADMW1001_CH_ID_ANLG_1_DIFFERENTIAL] = {
+
+                    .enableChannel = true,
+
+                    .disablePublishing = false,
+
+                    .compensationChannel = ADMW1001_CH_ID_ANLG_1_UNIVERSAL,
+
+                    .lutSelect = ADMW1001_LUT_DEFAULT,
+
+                    .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
+
+                    .lowThreshold = -50,
+
+                    .highThreshold = 250,
+
+                    .offsetAdjustment = 0.0,
+
+                    .gainAdjustment = 0.0,
+
+                    .sensorParameter = 0.0,
+
+                    .measurementsPerCycle = 1,
+
+                    .cycleSkipCount = 0,
+
+                    .extraSettlingTime = 4499.99986449257,
+
+                    .priority = 0,
+
+                    .adcChannelConfig = {
+
+                        .sensor = ADMW1001_ADC_SENSOR_THERMOCOUPLE_K,
+
+                        .rtdCurve = ADMW1001_ADC_RTD_CURVE_EUROPEAN,
+
+                        .gain = 8,
+
+                        .current = {
+
+                            .excitationState= ADMW1001_ADC_EXC_STATE_CYCLE_POWER,
+
+                            .outputLevel = ADMW1001_ADC_EXC_CURRENT_EXTERNAL,
+
+                            .diodeRatio = 0,
+
+                        },
+
+                        .filter = {
+
+                            .type = ADMW1001_ADC_FILTER_SINC3,
+
+                            .sf = ADMW1001_SF_8P24HZ,
+
+                            .chopMode = ADMW1001_CHOP_MD_SW,
+
+                            .notch1p2 = false,
+
+                            .groundSwitch = ADMW1001_ADC_GND_SW_OPEN
+
+                        },
+
+                        .reference = ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
+
+                    },
+
+                },
+
+            },
+
+    },
+
+};
+
--- a/inc/admw1001/admw1001_config.h	Fri Jul 26 11:30:25 2019 +0000
+++ b/inc/admw1001/admw1001_config.h	Wed Aug 07 06:46:25 2019 +0000
@@ -525,7 +525,7 @@
     /*!< Filter type selection */
     ADMW1001_SINC_FILTER_RANGE  sf;
     /*!< SF value used along with filter type and chop mode to determine speed */
-    ADMW1001_CHOP_MD            filterChop;
+    ADMW1001_CHOP_MD            chopMode;
     /*!< Enable filter chop */
     bool                        notch1p2;
     /*!< Enable Notch 2 Filter Mode */
--- a/main.cpp	Fri Jul 26 11:30:25 2019 +0000
+++ b/main.cpp	Wed Aug 07 06:46:25 2019 +0000
@@ -92,8 +92,9 @@
 extern ADMW_CONFIG multichannel_multicycle_config;
 extern ADMW_CONFIG multichannel_singlecycle_config;
 extern ADMW_CONFIG sensor2_bridge_4w_load_cell_config;
+extern ADMW_CONFIG config;
 /* Change the following pointer to select any of the configurations above */
-static ADMW_CONFIG *pSelectedConfig = &sensor2_bridge_4w_load_cell_config;
+static ADMW_CONFIG *pSelectedConfig = &config;
 
 static ADMW_CONNECTION connectionInfo = PLATFORM_CONNECTION_INFO;
 
@@ -105,7 +106,7 @@
     ADMW_DEVICE_HANDLE hDevice;
     ADMW_MEASUREMENT_MODE eMeasurementMode = ADMW_MEASUREMENT_MODE_NORMAL;
     bool bDeviceReady;
-
+    
     /*
      * Open an ADI Sense device instance.
      */
@@ -139,7 +140,6 @@
         }
     } while (! bDeviceReady);
     ADMW_LOG_INFO("ADI Sense device ready");
-
     /*
      * Write configuration settings to the device registers.
      * Settings are not applied until admw_ApplyConfigUpdates() is called.
--- a/sensor2_bridge_4w_load_cell_config.c	Fri Jul 26 11:30:25 2019 +0000
+++ b/sensor2_bridge_4w_load_cell_config.c	Wed Aug 07 06:46:25 2019 +0000
@@ -80,7 +80,7 @@
                     .filter = {
                         .type = ADMW1001_ADC_FILTER_SINC3,
                         .sf = 125,
-                        .filterChop = true,
+                        .chopMode = true,
                         .notch1p2 = false,
                         .groundSwitch = ADMW1001_ADC_GND_SW_CLOSED,
                     },
--- a/src/admw_1001.c	Fri Jul 26 11:30:25 2019 +0000
+++ b/src/admw_1001.c	Wed Aug 07 06:46:25 2019 +0000
@@ -1538,7 +1538,7 @@
     }
     
     /* chop mod ecan be 0 (none), 1 (HW, 2 (SW, 3 (HW+SW). */
-    MeasSetupReg.Chop_Mode = pFilterConfig->filterChop;
+    MeasSetupReg.Chop_Mode = pFilterConfig->chopMode;
     
     if(pFilterConfig->notch1p2)
         MeasSetupReg.NOTCH_EN_2 = 1;