(Working) Code to interface 3 LoadCells to ADISense1000 and display values using the Labview code.

Fork of 4Bridge_ADISense1000_Example_copy by CAC_smartcushion

Files at this revision

API Documentation at this revision

Comitter:
RGurav
Date:
Wed Aug 08 08:08:53 2018 +0000
Parent:
2:2f9f9f7f0243
Commit message:
(Working); Code to interface 3 loadCell to ADISense1000 and display using Labview code.

Changed in this revision

sample_lut_data.c Show annotated file Show diff for this revision Revisions of this file
sensor2_bridge-6w-pressure_config.c Show annotated file Show diff for this revision Revisions of this file
--- a/sample_lut_data.c	Thu Jul 19 13:25:33 2018 +0000
+++ b/sample_lut_data.c	Wed Aug 08 08:08:53 2018 +0000
@@ -1,23 +1,24 @@
+/*
+ * File: sample_lut_data.c
+ * The following example illustrates how individual tables can be declared, and
+ * later assembled into a complete LUT data structure using adi_sense_1000_AssembleLutData().
+ * That LUT data structure can then be written to the ADI Sense 1000 device 
+ * using adi_sense_1000_SetLutData().
+ */
+
 #include "adi_sense_1000_lut_data.h"
 #include "adi_sense_1000_sensor_types.h"
 
 /*
- * The following example illustrates how individual tables can be declared, and
- * later assembled into a complete LUT data structure using
- * adi_sense_1000_AssembleLutData().  That LUT data structure can then be
- * written to the ADI Sense 1000 device using adi_sense_1000_SetLutData().
- */
-
-
-
-/*
  * The following table provide linearisation data for a 4-wire bridge sensor
  * identified with the ADI_SENSE_1000_ADC_SENSOR_BRIDGE_4WIRE_1_DEF_L2
  * sensor type.  The Look-Up Table provided maps a range of input (X)
  * values to a corresponding range of output (Y) values.  In this example,
  * the bridge sensor input in millivolts is effectively translated to volts.
  */
-ADI_SENSE_1000_LUT_DESCRIPTOR bridge_4wire_1_def_l2_range1_desc = {
+
+ADI_SENSE_1000_LUT_DESCRIPTOR bridge_4wire_1_def_l2_range1_desc = 
+{
     .geometry = ADI_SENSE_1000_LUT_GEOMETRY_NES_1D,
     .equation = ADI_SENSE_1000_LUT_EQUATION_LUT,
     .dir = ADI_SENSE_1000_LUT_TC_DIRECTION_FORWARD,
@@ -26,13 +27,16 @@
     .length = 0, /* Filled by adi_sense_1000_AssembleLutData() */
     .crc16 = 0   /* Filled by adi_sense_1000_AssembleLutData() */
 };
-ADI_SENSE_1000_LUT_1D_NES bridge_4wire_1_def_l2_range1_data = {
+
+ADI_SENSE_1000_LUT_1D_NES bridge_4wire_1_def_l2_range1_data = 
+{
     .nElements = 2,
-    .lut = {
+    .lut = 
+    {
         -3300.0f, /* x(min) */
         +3300.0f, /* x(max) */
-        -3.3f,    /* y(min) */
-        +3.3f,    /* y(max) */
+        -3300.0f,    /* y(min) */
+        +3300.0f,    /* y(max) */
     },
 };
 
@@ -40,13 +44,15 @@
  * The following variables can be passed as parameters to
  * adi_sense_1000_AssembleLutData()
  */
-ADI_SENSE_1000_LUT_DESCRIPTOR *sample_lut_desc_list[] = {
+ADI_SENSE_1000_LUT_DESCRIPTOR *sample_lut_desc_list[] = 
+{
 
     &bridge_4wire_1_def_l2_range1_desc,
     
 };
 
-ADI_SENSE_1000_LUT_TABLE_DATA *sample_lut_data_list[] = {
+ADI_SENSE_1000_LUT_TABLE_DATA *sample_lut_data_list[] = 
+{
     
     (ADI_SENSE_1000_LUT_TABLE_DATA *) &bridge_4wire_1_def_l2_range1_data,
     
--- a/sensor2_bridge-6w-pressure_config.c	Thu Jul 19 13:25:33 2018 +0000
+++ b/sensor2_bridge-6w-pressure_config.c	Wed Aug 08 08:08:53 2018 +0000
@@ -1,78 +1,105 @@
-/*
-Copyright 2017 (c) 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.
-  - 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.
-  - Use of the software either in source or binary form, must be run
-    on or directly connected to an Analog Devices Inc. component.
-
-THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, 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.
- *
- *****************************************************************************/
 
 /*!
  ******************************************************************************
- * @file:
- * @brief:
+ * @file: sensor2_bridge_6w_pressure_config
+ * @brief: Initilize the sensor configuration
  *-----------------------------------------------------------------------------
  */
 #include "adi_sense_config_types.h"
 
-ADI_SENSE_CONFIG sensor2_bridge_6w_pressure_config = {
+ADI_SENSE_CONFIG sensor2_bridge_6w_pressure_config = 
+{
     .versionId = { .major = 1, .minor = 4 },
     .productId = ADI_SENSE_PRODUCT_ID_1000,
-    .adisense1000 = {
-        .power = {
+    .adisense1000 = 
+        {
+        .power = 
+        {
             .powerMode = ADI_SENSE_1000_POWER_MODE_FULL,
         },
-        .measurement = {
+        .measurement = 
+        {
             .operatingMode = ADI_SENSE_1000_OPERATING_MODE_CONTINUOUS,
             .dataReadyMode = ADI_SENSE_1000_DATAREADY_PER_CYCLE,
         },
-        .channels = {
-            [ADI_SENSE_1000_CHANNEL_ID_SENSOR_2] = {
+    
+    /*
+        Define the channels and operating mode
+    */
+        .channels = 
+        {
+            [ADI_SENSE_1000_CHANNEL_ID_SENSOR_2] = 
+            {
                 .enableChannel = true,
                 .disablePublishing = false,
                 .compensationChannel = ADI_SENSE_1000_CHANNEL_ID_NONE,
                 .measurementsPerCycle = 1,
                 .extraSettlingTime = 20000,
-                .adcChannelConfig = {
+                .adcChannelConfig = 
+                {
                     .sensor = ADI_SENSE_1000_ADC_SENSOR_BRIDGE_4WIRE_2_DEF_L2,
                     .gain = ADI_SENSE_1000_ADC_GAIN_1X,
-                    .filter = {
+                    .filter = 
+                        {
                         .type = ADI_SENSE_1000_ADC_FILTER_FIR_25SPS,
-                    },
-                    .reference = {
+                        },
+                    .reference = 
+                        {
                         .type = ADI_SENSE_1000_ADC_REFERENCE_BRIDGE_EXCITATION,
                         .disableBuffer = false,
-                    },
+                        },
                     .enableVbias = false,
                 },
             },
+            
+            [ADI_SENSE_1000_CHANNEL_ID_SENSOR_1] = 
+            {
+                .enableChannel = true,
+                .disablePublishing = false,
+                .compensationChannel = ADI_SENSE_1000_CHANNEL_ID_NONE,
+                .measurementsPerCycle = 1,
+                .extraSettlingTime = 20000,
+                .adcChannelConfig = 
+                {
+                    .sensor = ADI_SENSE_1000_ADC_SENSOR_BRIDGE_4WIRE_2_DEF_L2,
+                    .gain = ADI_SENSE_1000_ADC_GAIN_1X,
+                    .filter = 
+                        {
+                        .type = ADI_SENSE_1000_ADC_FILTER_FIR_25SPS,
+                        },
+                    .reference = 
+                        {
+                        .type = ADI_SENSE_1000_ADC_REFERENCE_BRIDGE_EXCITATION,
+                        .disableBuffer = false,
+                        },
+                    .enableVbias = false,
+                },
+            },
+            
+            [ADI_SENSE_1000_CHANNEL_ID_SENSOR_0] = 
+            {
+                .enableChannel = true,
+                .disablePublishing = false,
+                .compensationChannel = ADI_SENSE_1000_CHANNEL_ID_NONE,
+                .measurementsPerCycle = 1,
+                .extraSettlingTime = 20000,
+                .adcChannelConfig = 
+                {
+                    .sensor = ADI_SENSE_1000_ADC_SENSOR_BRIDGE_4WIRE_2_DEF_L2,
+                    .gain = ADI_SENSE_1000_ADC_GAIN_1X,
+                    .filter = 
+                        {
+                        .type = ADI_SENSE_1000_ADC_FILTER_FIR_25SPS,
+                        },
+                    .reference = 
+                        {
+                        .type = ADI_SENSE_1000_ADC_REFERENCE_BRIDGE_EXCITATION,
+                        .disableBuffer = false,
+                        },
+                    .enableVbias = false,
+                },
+            },
+            
         },
     },
 };