initial commit

Files at this revision

API Documentation at this revision

Comitter:
Vkadaba
Date:
Thu Jun 20 18:13:57 2019 +0000
Parent:
7:e75e825c04a4
Child:
9:dc77fcfa7eba
Commit message:
admw1001 files are updated and code clean up is done. Project is building.

Changed in this revision

i2c0_sensirionSHT3X_config.c Show annotated file Show diff for this revision Revisions of this file
inc/admw1001/ADMW1001_REGISTERS.h Show annotated file Show diff for this revision Revisions of this file
inc/admw1001/ADMW1001_REGISTERS_typedefs.h Show annotated file Show diff for this revision Revisions of this file
inc/admw1001/admw1001_api.h 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
inc/admw1001/admw1001_sensor_types.h Show annotated file Show diff for this revision Revisions of this file
multichannel_continuous_config.c Show annotated file Show diff for this revision Revisions of this file
multichannel_multicycle_config.c Show diff for this revision Revisions of this file
multichannel_singlecycle_config.c Show annotated file Show diff for this revision Revisions of this file
sensor0_typeK_cjc0_config.c Show annotated file Show diff for this revision Revisions of this file
sensor1_rtd-3w-pt100_config.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
sensor2_typeT_cjc0_config.c Show annotated file Show diff for this revision Revisions of this file
sensor3_typeJ_cjc0_config.c Show annotated file Show diff for this revision Revisions of this file
spi0_adiAdxl362_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
--- a/i2c0_sensirionSHT3X_config.c	Tue Jun 18 09:28:16 2019 +0000
+++ b/i2c0_sensirionSHT3X_config.c	Thu Jun 20 18:13:57 2019 +0000
@@ -54,14 +54,14 @@
             .dataReadyMode = ADMW1001_DATAREADY_PER_CYCLE,
         },
         .channels = {
-            [ADMW1001_CHANNEL_ID_I2C_0] = {
+            [ADMW1001_CH_ID_DIG_I2C_0] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 15000,
                 .i2cChannelConfig = {
-                    .sensor = ADMW1001_I2C_SENSOR_HUMIDITY_B_DEF_L1,
+                    .sensor = ADMW1001_I2C_SENSOR_HUMIDITY_B,
                     .deviceAddress = 0x44,
                 },
             },
--- a/inc/admw1001/ADMW1001_REGISTERS.h	Tue Jun 18 09:28:16 2019 +0000
+++ b/inc/admw1001/ADMW1001_REGISTERS.h	Thu Jun 20 18:13:57 2019 +0000
@@ -4,7 +4,7 @@
      File         :   ADMW1001_REGISTERS.h
      Description  :   Register Definitions
 
-     Date         :   Apr 30, 2019
+     Date         :   Jun 19, 2019
 
      Copyright (c) 2019 Analog Devices, Inc.  All Rights Reserved.
      This software is proprietary and confidential to Analog Devices, Inc. and
@@ -27,7 +27,7 @@
 
 #define __ADI_HAS_CORE__           1
 #define __ADI_HAS_SPI__            1
-#define __ADI_HASTEST__      1
+#define __ADI_HAS_ADMW_TEST__      1
 
 /* ============================================================================================================================
         
@@ -217,10 +217,6 @@
 #define REG_CORE_POWER_CONFIG                0x00000017            /*  CORE General Configuration */
 #define REG_CORE_CYCLE_CONTROL_RESET         0x00000000            /*      Reset Value for Cycle_Control  */
 #define REG_CORE_CYCLE_CONTROL               0x00000018            /*  CORE Measurement Cycle */
-#define REG_CORE_FIFO_NUM_CYCLES_RESET       0x00000001            /*      Reset Value for Fifo_Num_Cycles  */
-#define REG_CORE_FIFO_NUM_CYCLES             0x0000001A            /*  CORE Number of Measurement Cycles to Store in FIFO */
-#define REG_CORE_MULTI_CYCLE_REPEAT_INTERVAL_RESET 0x00000000            /*      Reset Value for Multi_Cycle_Repeat_Interval  */
-#define REG_CORE_MULTI_CYCLE_REPEAT_INTERVAL 0x0000001C            /*  CORE Time Between Repeats of Multi-Cycle Conversions.... */
 #define REG_CORE_STATUS_RESET                0x00000000            /*      Reset Value for Status  */
 #define REG_CORE_STATUS                      0x00000020            /*  CORE General Status */
 #define REG_CORE_DIAGNOSTICS_STATUS_RESET    0x00000000            /*      Reset Value for Diagnostics_Status  */
@@ -243,9 +239,6 @@
 #define REG_CORE_ALERT_DETAIL_CH10_RESET     0x00000000            /*      Reset Value for REG_CORE_ALERT_DETAIL_CH10  */
 #define REG_CORE_ALERT_DETAIL_CH11_RESET     0x00000000            /*      Reset Value for REG_CORE_ALERT_DETAIL_CH11  */
 #define REG_CORE_ALERT_DETAIL_CH12_RESET     0x00000000            /*      Reset Value for REG_CORE_ALERT_DETAIL_CH12  */
-#define REG_CORE_ALERT_DETAIL_CH13_RESET     0x00000000            /*      Reset Value for REG_CORE_ALERT_DETAIL_CH13  */
-#define REG_CORE_ALERT_DETAIL_CH14_RESET     0x00000000            /*      Reset Value for REG_CORE_ALERT_DETAIL_CH14  */
-#define REG_CORE_ALERT_DETAIL_CH15_RESET     0x00000000            /*      Reset Value for REG_CORE_ALERT_DETAIL_CH15  */
 #define REG_CORE_ALERT_DETAIL_CH0            0x0000002A            /*  CORE Detailed Error Information */
 #define REG_CORE_ALERT_DETAIL_CH1            0x0000002C            /*  CORE Detailed Error Information */
 #define REG_CORE_ALERT_DETAIL_CH2            0x0000002E            /*  CORE Detailed Error Information */
@@ -259,18 +252,15 @@
 #define REG_CORE_ALERT_DETAIL_CH10           0x0000003E            /*  CORE Detailed Error Information */
 #define REG_CORE_ALERT_DETAIL_CH11           0x00000040            /*  CORE Detailed Error Information */
 #define REG_CORE_ALERT_DETAIL_CH12           0x00000042            /*  CORE Detailed Error Information */
-#define REG_CORE_ALERT_DETAIL_CH13           0x00000044            /*  CORE Detailed Error Information */
-#define REG_CORE_ALERT_DETAIL_CH14           0x00000046            /*  CORE Detailed Error Information */
-#define REG_CORE_ALERT_DETAIL_CH15           0x00000048            /*  CORE Detailed Error Information */
 #define REG_CORE_ALERT_DETAIL_CHn(i)         (REG_CORE_ALERT_DETAIL_CH0 + ((i) * 2))
-#define REG_CORE_ALERT_DETAIL_CHn_COUNT      16
+#define REG_CORE_ALERT_DETAIL_CHn_COUNT      13
 #define REG_CORE_ERROR_CODE_RESET            0x00000000            /*      Reset Value for Error_Code  */
 #define REG_CORE_ERROR_CODE                  0x0000004C            /*  CORE Code Indicating Source of Error */
 #define REG_CORE_ALERT_CODE_RESET            0x00000000            /*      Reset Value for Alert_Code  */
 #define REG_CORE_ALERT_CODE                  0x0000004E            /*  CORE Code Indicating Source of Alert */
-#define REG_CORE_EXTERNAL_REFERENCE_RESISTOR_RESET 0x447A0000            /*      Reset Value for External_Reference_Resistor  */
+#define REG_CORE_EXTERNAL_REFERENCE_RESISTOR_RESET 0x00000000            /*      Reset Value for External_Reference_Resistor  */
 #define REG_CORE_EXTERNAL_REFERENCE_RESISTOR 0x00000050            /*  CORE External Reference Information */
-#define REG_CORE_EXTERNAL_VOLTAGE_REFERENCE_RESET 0x40200000            /*      Reset Value for External_Voltage_Reference  */
+#define REG_CORE_EXTERNAL_VOLTAGE_REFERENCE_RESET 0x00000000            /*      Reset Value for External_Voltage_Reference  */
 #define REG_CORE_EXTERNAL_VOLTAGE_REFERENCE  0x00000054            /*  CORE External Reference Information */
 #define REG_CORE_DIAGNOSTICS_CONTROL_RESET   0x00000000            /*      Reset Value for Diagnostics_Control  */
 #define REG_CORE_DIAGNOSTICS_CONTROL         0x0000005C            /*  CORE Diagnostic Control */
@@ -300,6 +290,8 @@
 #define REG_CORE_CHANNEL_COUNT8_RESET        0x00000000            /*      Reset Value for REG_CORE_CHANNEL_COUNT8  */
 #define REG_CORE_CHANNEL_COUNT9_RESET        0x00000000            /*      Reset Value for REG_CORE_CHANNEL_COUNT9  */
 #define REG_CORE_CHANNEL_COUNT10_RESET       0x00000000            /*      Reset Value for REG_CORE_CHANNEL_COUNT10  */
+#define REG_CORE_CHANNEL_COUNT11_RESET       0x00000000            /*      Reset Value for REG_CORE_CHANNEL_COUNT11  */
+#define REG_CORE_CHANNEL_COUNT12_RESET       0x00000000            /*      Reset Value for REG_CORE_CHANNEL_COUNT12  */
 #define REG_CORE_CHANNEL_COUNT0              0x00000090            /*  CORE Number of Channel Occurrences per Measurement Cycle */
 #define REG_CORE_CHANNEL_COUNT1              0x000000D0            /*  CORE Number of Channel Occurrences per Measurement Cycle */
 #define REG_CORE_CHANNEL_COUNT2              0x00000110            /*  CORE Number of Channel Occurrences per Measurement Cycle */
@@ -311,8 +303,10 @@
 #define REG_CORE_CHANNEL_COUNT8              0x00000290            /*  CORE Number of Channel Occurrences per Measurement Cycle */
 #define REG_CORE_CHANNEL_COUNT9              0x000002D0            /*  CORE Number of Channel Occurrences per Measurement Cycle */
 #define REG_CORE_CHANNEL_COUNT10             0x00000310            /*  CORE Number of Channel Occurrences per Measurement Cycle */
+#define REG_CORE_CHANNEL_COUNT11             0x00000350            /*  CORE Number of Channel Occurrences per Measurement Cycle */
+#define REG_CORE_CHANNEL_COUNT12             0x00000390            /*  CORE Number of Channel Occurrences per Measurement Cycle */
 #define REG_CORE_CHANNEL_COUNTn(i)           (REG_CORE_CHANNEL_COUNT0 + ((i) * 64))
-#define REG_CORE_CHANNEL_COUNTn_COUNT        11
+#define REG_CORE_CHANNEL_COUNTn_COUNT        13
 #define REG_CORE_CHANNEL_OPTIONSn_RESET      0x00000000            /*      Reset Value for Channel_Options[n]  */
 #define REG_CORE_CHANNEL_OPTIONS0_RESET      0x00000000            /*      Reset Value for REG_CORE_CHANNEL_OPTIONS0  */
 #define REG_CORE_CHANNEL_OPTIONS1_RESET      0x00000000            /*      Reset Value for REG_CORE_CHANNEL_OPTIONS1  */
@@ -325,6 +319,8 @@
 #define REG_CORE_CHANNEL_OPTIONS8_RESET      0x00000000            /*      Reset Value for REG_CORE_CHANNEL_OPTIONS8  */
 #define REG_CORE_CHANNEL_OPTIONS9_RESET      0x00000000            /*      Reset Value for REG_CORE_CHANNEL_OPTIONS9  */
 #define REG_CORE_CHANNEL_OPTIONS10_RESET     0x00000000            /*      Reset Value for REG_CORE_CHANNEL_OPTIONS10  */
+#define REG_CORE_CHANNEL_OPTIONS11_RESET     0x00000000            /*      Reset Value for REG_CORE_CHANNEL_OPTIONS11  */
+#define REG_CORE_CHANNEL_OPTIONS12_RESET     0x00000000            /*      Reset Value for REG_CORE_CHANNEL_OPTIONS12  */
 #define REG_CORE_CHANNEL_OPTIONS0            0x00000091            /*  CORE Position of Channel Within Sequence and Enable for FFT */
 #define REG_CORE_CHANNEL_OPTIONS1            0x000000D1            /*  CORE Position of Channel Within Sequence and Enable for FFT */
 #define REG_CORE_CHANNEL_OPTIONS2            0x00000111            /*  CORE Position of Channel Within Sequence and Enable for FFT */
@@ -336,8 +332,10 @@
 #define REG_CORE_CHANNEL_OPTIONS8            0x00000291            /*  CORE Position of Channel Within Sequence and Enable for FFT */
 #define REG_CORE_CHANNEL_OPTIONS9            0x000002D1            /*  CORE Position of Channel Within Sequence and Enable for FFT */
 #define REG_CORE_CHANNEL_OPTIONS10           0x00000311            /*  CORE Position of Channel Within Sequence and Enable for FFT */
+#define REG_CORE_CHANNEL_OPTIONS11           0x00000351            /*  CORE Position of Channel Within Sequence and Enable for FFT */
+#define REG_CORE_CHANNEL_OPTIONS12           0x00000391            /*  CORE Position of Channel Within Sequence and Enable for FFT */
 #define REG_CORE_CHANNEL_OPTIONSn(i)         (REG_CORE_CHANNEL_OPTIONS0 + ((i) * 64))
-#define REG_CORE_CHANNEL_OPTIONSn_COUNT      11
+#define REG_CORE_CHANNEL_OPTIONSn_COUNT      13
 #define REG_CORE_SENSOR_TYPEn_RESET          0x00000000            /*      Reset Value for Sensor_Type[n]  */
 #define REG_CORE_SENSOR_TYPE0_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_TYPE0  */
 #define REG_CORE_SENSOR_TYPE1_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_TYPE1  */
@@ -350,6 +348,8 @@
 #define REG_CORE_SENSOR_TYPE8_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_TYPE8  */
 #define REG_CORE_SENSOR_TYPE9_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_TYPE9  */
 #define REG_CORE_SENSOR_TYPE10_RESET         0x00000000            /*      Reset Value for REG_CORE_SENSOR_TYPE10  */
+#define REG_CORE_SENSOR_TYPE11_RESET         0x00000000            /*      Reset Value for REG_CORE_SENSOR_TYPE11  */
+#define REG_CORE_SENSOR_TYPE12_RESET         0x00000000            /*      Reset Value for REG_CORE_SENSOR_TYPE12  */
 #define REG_CORE_SENSOR_TYPE0                0x00000092            /*  CORE Sensor Select */
 #define REG_CORE_SENSOR_TYPE1                0x000000D2            /*  CORE Sensor Select */
 #define REG_CORE_SENSOR_TYPE2                0x00000112            /*  CORE Sensor Select */
@@ -361,8 +361,10 @@
 #define REG_CORE_SENSOR_TYPE8                0x00000292            /*  CORE Sensor Select */
 #define REG_CORE_SENSOR_TYPE9                0x000002D2            /*  CORE Sensor Select */
 #define REG_CORE_SENSOR_TYPE10               0x00000312            /*  CORE Sensor Select */
+#define REG_CORE_SENSOR_TYPE11               0x00000352            /*  CORE Sensor Select */
+#define REG_CORE_SENSOR_TYPE12               0x00000392            /*  CORE Sensor Select */
 #define REG_CORE_SENSOR_TYPEn(i)             (REG_CORE_SENSOR_TYPE0 + ((i) * 64))
-#define REG_CORE_SENSOR_TYPEn_COUNT          11
+#define REG_CORE_SENSOR_TYPEn_COUNT          13
 #define REG_CORE_SENSOR_DETAILSn_RESET       0x000000F0            /*      Reset Value for Sensor_Details[n]  */
 #define REG_CORE_SENSOR_DETAILS0_RESET       0x000000F0            /*      Reset Value for REG_CORE_SENSOR_DETAILS0  */
 #define REG_CORE_SENSOR_DETAILS1_RESET       0x000000F0            /*      Reset Value for REG_CORE_SENSOR_DETAILS1  */
@@ -375,6 +377,8 @@
 #define REG_CORE_SENSOR_DETAILS8_RESET       0x000000F0            /*      Reset Value for REG_CORE_SENSOR_DETAILS8  */
 #define REG_CORE_SENSOR_DETAILS9_RESET       0x000000F0            /*      Reset Value for REG_CORE_SENSOR_DETAILS9  */
 #define REG_CORE_SENSOR_DETAILS10_RESET      0x000000F0            /*      Reset Value for REG_CORE_SENSOR_DETAILS10  */
+#define REG_CORE_SENSOR_DETAILS11_RESET      0x000000F0            /*      Reset Value for REG_CORE_SENSOR_DETAILS11  */
+#define REG_CORE_SENSOR_DETAILS12_RESET      0x000000F0            /*      Reset Value for REG_CORE_SENSOR_DETAILS12  */
 #define REG_CORE_SENSOR_DETAILS0             0x00000094            /*  CORE Sensor Details */
 #define REG_CORE_SENSOR_DETAILS1             0x000000D4            /*  CORE Sensor Details */
 #define REG_CORE_SENSOR_DETAILS2             0x00000114            /*  CORE Sensor Details */
@@ -386,8 +390,10 @@
 #define REG_CORE_SENSOR_DETAILS8             0x00000294            /*  CORE Sensor Details */
 #define REG_CORE_SENSOR_DETAILS9             0x000002D4            /*  CORE Sensor Details */
 #define REG_CORE_SENSOR_DETAILS10            0x00000314            /*  CORE Sensor Details */
+#define REG_CORE_SENSOR_DETAILS11            0x00000354            /*  CORE Sensor Details */
+#define REG_CORE_SENSOR_DETAILS12            0x00000394            /*  CORE Sensor Details */
 #define REG_CORE_SENSOR_DETAILSn(i)          (REG_CORE_SENSOR_DETAILS0 + ((i) * 64))
-#define REG_CORE_SENSOR_DETAILSn_COUNT       11
+#define REG_CORE_SENSOR_DETAILSn_COUNT       13
 #define REG_CORE_CHANNEL_EXCITATIONn_RESET   0x00000000            /*      Reset Value for Channel_Excitation[n]  */
 #define REG_CORE_CHANNEL_EXCITATION0_RESET   0x00000000            /*      Reset Value for REG_CORE_CHANNEL_EXCITATION0  */
 #define REG_CORE_CHANNEL_EXCITATION1_RESET   0x00000000            /*      Reset Value for REG_CORE_CHANNEL_EXCITATION1  */
@@ -400,6 +406,8 @@
 #define REG_CORE_CHANNEL_EXCITATION8_RESET   0x00000000            /*      Reset Value for REG_CORE_CHANNEL_EXCITATION8  */
 #define REG_CORE_CHANNEL_EXCITATION9_RESET   0x00000000            /*      Reset Value for REG_CORE_CHANNEL_EXCITATION9  */
 #define REG_CORE_CHANNEL_EXCITATION10_RESET  0x00000000            /*      Reset Value for REG_CORE_CHANNEL_EXCITATION10  */
+#define REG_CORE_CHANNEL_EXCITATION11_RESET  0x00000000            /*      Reset Value for REG_CORE_CHANNEL_EXCITATION11  */
+#define REG_CORE_CHANNEL_EXCITATION12_RESET  0x00000000            /*      Reset Value for REG_CORE_CHANNEL_EXCITATION12  */
 #define REG_CORE_CHANNEL_EXCITATION0         0x00000098            /*  CORE Excitation Current */
 #define REG_CORE_CHANNEL_EXCITATION1         0x000000D8            /*  CORE Excitation Current */
 #define REG_CORE_CHANNEL_EXCITATION2         0x00000118            /*  CORE Excitation Current */
@@ -411,8 +419,10 @@
 #define REG_CORE_CHANNEL_EXCITATION8         0x00000298            /*  CORE Excitation Current */
 #define REG_CORE_CHANNEL_EXCITATION9         0x000002D8            /*  CORE Excitation Current */
 #define REG_CORE_CHANNEL_EXCITATION10        0x00000318            /*  CORE Excitation Current */
+#define REG_CORE_CHANNEL_EXCITATION11        0x00000358            /*  CORE Excitation Current */
+#define REG_CORE_CHANNEL_EXCITATION12        0x00000398            /*  CORE Excitation Current */
 #define REG_CORE_CHANNEL_EXCITATIONn(i)      (REG_CORE_CHANNEL_EXCITATION0 + ((i) * 64))
-#define REG_CORE_CHANNEL_EXCITATIONn_COUNT   11
+#define REG_CORE_CHANNEL_EXCITATIONn_COUNT   13
 #define REG_CORE_SETTLING_TIMEn_RESET        0x00000000            /*      Reset Value for Settling_Time[n]  */
 #define REG_CORE_SETTLING_TIME0_RESET        0x00000000            /*      Reset Value for REG_CORE_SETTLING_TIME0  */
 #define REG_CORE_SETTLING_TIME1_RESET        0x00000000            /*      Reset Value for REG_CORE_SETTLING_TIME1  */
@@ -425,6 +435,8 @@
 #define REG_CORE_SETTLING_TIME8_RESET        0x00000000            /*      Reset Value for REG_CORE_SETTLING_TIME8  */
 #define REG_CORE_SETTLING_TIME9_RESET        0x00000000            /*      Reset Value for REG_CORE_SETTLING_TIME9  */
 #define REG_CORE_SETTLING_TIME10_RESET       0x00000000            /*      Reset Value for REG_CORE_SETTLING_TIME10  */
+#define REG_CORE_SETTLING_TIME11_RESET       0x00000000            /*      Reset Value for REG_CORE_SETTLING_TIME11  */
+#define REG_CORE_SETTLING_TIME12_RESET       0x00000000            /*      Reset Value for REG_CORE_SETTLING_TIME12  */
 #define REG_CORE_SETTLING_TIME0              0x0000009A            /*  CORE Settling Time */
 #define REG_CORE_SETTLING_TIME1              0x000000DA            /*  CORE Settling Time */
 #define REG_CORE_SETTLING_TIME2              0x0000011A            /*  CORE Settling Time */
@@ -436,8 +448,10 @@
 #define REG_CORE_SETTLING_TIME8              0x0000029A            /*  CORE Settling Time */
 #define REG_CORE_SETTLING_TIME9              0x000002DA            /*  CORE Settling Time */
 #define REG_CORE_SETTLING_TIME10             0x0000031A            /*  CORE Settling Time */
+#define REG_CORE_SETTLING_TIME11             0x0000035A            /*  CORE Settling Time */
+#define REG_CORE_SETTLING_TIME12             0x0000039A            /*  CORE Settling Time */
 #define REG_CORE_SETTLING_TIMEn(i)           (REG_CORE_SETTLING_TIME0 + ((i) * 64))
-#define REG_CORE_SETTLING_TIMEn_COUNT        11
+#define REG_CORE_SETTLING_TIMEn_COUNT        13
 #define REG_CORE_MEASUREMENT_SETUPn_RESET    0x00000000            /*      Reset Value for Measurement_Setup[n]  */
 #define REG_CORE_MEASUREMENT_SETUP0_RESET    0x00000000            /*      Reset Value for REG_CORE_MEASUREMENT_SETUP0  */
 #define REG_CORE_MEASUREMENT_SETUP1_RESET    0x00000000            /*      Reset Value for REG_CORE_MEASUREMENT_SETUP1  */
@@ -450,6 +464,8 @@
 #define REG_CORE_MEASUREMENT_SETUP8_RESET    0x00000000            /*      Reset Value for REG_CORE_MEASUREMENT_SETUP8  */
 #define REG_CORE_MEASUREMENT_SETUP9_RESET    0x00000000            /*      Reset Value for REG_CORE_MEASUREMENT_SETUP9  */
 #define REG_CORE_MEASUREMENT_SETUP10_RESET   0x00000000            /*      Reset Value for REG_CORE_MEASUREMENT_SETUP10  */
+#define REG_CORE_MEASUREMENT_SETUP11_RESET   0x00000000            /*      Reset Value for REG_CORE_MEASUREMENT_SETUP11  */
+#define REG_CORE_MEASUREMENT_SETUP12_RESET   0x00000000            /*      Reset Value for REG_CORE_MEASUREMENT_SETUP12  */
 #define REG_CORE_MEASUREMENT_SETUP0          0x0000009C            /*  CORE ADC Digital Filter Selection */
 #define REG_CORE_MEASUREMENT_SETUP1          0x000000DC            /*  CORE ADC Digital Filter Selection */
 #define REG_CORE_MEASUREMENT_SETUP2          0x0000011C            /*  CORE ADC Digital Filter Selection */
@@ -461,20 +477,24 @@
 #define REG_CORE_MEASUREMENT_SETUP8          0x0000029C            /*  CORE ADC Digital Filter Selection */
 #define REG_CORE_MEASUREMENT_SETUP9          0x000002DC            /*  CORE ADC Digital Filter Selection */
 #define REG_CORE_MEASUREMENT_SETUP10         0x0000031C            /*  CORE ADC Digital Filter Selection */
+#define REG_CORE_MEASUREMENT_SETUP11         0x0000035C            /*  CORE ADC Digital Filter Selection */
+#define REG_CORE_MEASUREMENT_SETUP12         0x0000039C            /*  CORE ADC Digital Filter Selection */
 #define REG_CORE_MEASUREMENT_SETUPn(i)       (REG_CORE_MEASUREMENT_SETUP0 + ((i) * 64))
-#define REG_CORE_MEASUREMENT_SETUPn_COUNT    11
-#define REG_CORE_HIGH_THRESHOLD_LIMITn_RESET 0x7F800000            /*      Reset Value for High_Threshold_Limit[n]  */
-#define REG_CORE_HIGH_THRESHOLD_LIMIT0_RESET 0x7F800000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT0  */
-#define REG_CORE_HIGH_THRESHOLD_LIMIT1_RESET 0x7F800000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT1  */
-#define REG_CORE_HIGH_THRESHOLD_LIMIT2_RESET 0x7F800000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT2  */
-#define REG_CORE_HIGH_THRESHOLD_LIMIT3_RESET 0x7F800000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT3  */
-#define REG_CORE_HIGH_THRESHOLD_LIMIT4_RESET 0x7F800000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT4  */
-#define REG_CORE_HIGH_THRESHOLD_LIMIT5_RESET 0x7F800000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT5  */
-#define REG_CORE_HIGH_THRESHOLD_LIMIT6_RESET 0x7F800000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT6  */
-#define REG_CORE_HIGH_THRESHOLD_LIMIT7_RESET 0x7F800000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT7  */
-#define REG_CORE_HIGH_THRESHOLD_LIMIT8_RESET 0x7F800000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT8  */
-#define REG_CORE_HIGH_THRESHOLD_LIMIT9_RESET 0x7F800000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT9  */
-#define REG_CORE_HIGH_THRESHOLD_LIMIT10_RESET 0x7F800000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT10  */
+#define REG_CORE_MEASUREMENT_SETUPn_COUNT    13
+#define REG_CORE_HIGH_THRESHOLD_LIMITn_RESET 0x00000000            /*      Reset Value for High_Threshold_Limit[n]  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT0_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT0  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT1_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT1  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT2_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT2  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT3_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT3  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT4_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT4  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT5_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT5  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT6_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT6  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT7_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT7  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT8_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT8  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT9_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT9  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT10_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT10  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT11_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT11  */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT12_RESET 0x00000000            /*      Reset Value for REG_CORE_HIGH_THRESHOLD_LIMIT12  */
 #define REG_CORE_HIGH_THRESHOLD_LIMIT0       0x000000A0            /*  CORE High Threshold */
 #define REG_CORE_HIGH_THRESHOLD_LIMIT1       0x000000E0            /*  CORE High Threshold */
 #define REG_CORE_HIGH_THRESHOLD_LIMIT2       0x00000120            /*  CORE High Threshold */
@@ -486,20 +506,24 @@
 #define REG_CORE_HIGH_THRESHOLD_LIMIT8       0x000002A0            /*  CORE High Threshold */
 #define REG_CORE_HIGH_THRESHOLD_LIMIT9       0x000002E0            /*  CORE High Threshold */
 #define REG_CORE_HIGH_THRESHOLD_LIMIT10      0x00000320            /*  CORE High Threshold */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT11      0x00000360            /*  CORE High Threshold */
+#define REG_CORE_HIGH_THRESHOLD_LIMIT12      0x000003A0            /*  CORE High Threshold */
 #define REG_CORE_HIGH_THRESHOLD_LIMITn(i)    (REG_CORE_HIGH_THRESHOLD_LIMIT0 + ((i) * 64))
-#define REG_CORE_HIGH_THRESHOLD_LIMITn_COUNT 11
-#define REG_CORE_LOW_THRESHOLD_LIMITn_RESET  0xFF800000            /*      Reset Value for Low_Threshold_Limit[n]  */
-#define REG_CORE_LOW_THRESHOLD_LIMIT0_RESET  0xFF800000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT0  */
-#define REG_CORE_LOW_THRESHOLD_LIMIT1_RESET  0xFF800000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT1  */
-#define REG_CORE_LOW_THRESHOLD_LIMIT2_RESET  0xFF800000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT2  */
-#define REG_CORE_LOW_THRESHOLD_LIMIT3_RESET  0xFF800000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT3  */
-#define REG_CORE_LOW_THRESHOLD_LIMIT4_RESET  0xFF800000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT4  */
-#define REG_CORE_LOW_THRESHOLD_LIMIT5_RESET  0xFF800000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT5  */
-#define REG_CORE_LOW_THRESHOLD_LIMIT6_RESET  0xFF800000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT6  */
-#define REG_CORE_LOW_THRESHOLD_LIMIT7_RESET  0xFF800000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT7  */
-#define REG_CORE_LOW_THRESHOLD_LIMIT8_RESET  0xFF800000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT8  */
-#define REG_CORE_LOW_THRESHOLD_LIMIT9_RESET  0xFF800000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT9  */
-#define REG_CORE_LOW_THRESHOLD_LIMIT10_RESET 0xFF800000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT10  */
+#define REG_CORE_HIGH_THRESHOLD_LIMITn_COUNT 13
+#define REG_CORE_LOW_THRESHOLD_LIMITn_RESET  0x00000000            /*      Reset Value for Low_Threshold_Limit[n]  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT0_RESET  0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT0  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT1_RESET  0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT1  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT2_RESET  0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT2  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT3_RESET  0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT3  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT4_RESET  0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT4  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT5_RESET  0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT5  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT6_RESET  0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT6  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT7_RESET  0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT7  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT8_RESET  0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT8  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT9_RESET  0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT9  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT10_RESET 0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT10  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT11_RESET 0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT11  */
+#define REG_CORE_LOW_THRESHOLD_LIMIT12_RESET 0x00000000            /*      Reset Value for REG_CORE_LOW_THRESHOLD_LIMIT12  */
 #define REG_CORE_LOW_THRESHOLD_LIMIT0        0x000000A4            /*  CORE Low Threshold */
 #define REG_CORE_LOW_THRESHOLD_LIMIT1        0x000000E4            /*  CORE Low Threshold */
 #define REG_CORE_LOW_THRESHOLD_LIMIT2        0x00000124            /*  CORE Low Threshold */
@@ -511,8 +535,10 @@
 #define REG_CORE_LOW_THRESHOLD_LIMIT8        0x000002A4            /*  CORE Low Threshold */
 #define REG_CORE_LOW_THRESHOLD_LIMIT9        0x000002E4            /*  CORE Low Threshold */
 #define REG_CORE_LOW_THRESHOLD_LIMIT10       0x00000324            /*  CORE Low Threshold */
+#define REG_CORE_LOW_THRESHOLD_LIMIT11       0x00000364            /*  CORE Low Threshold */
+#define REG_CORE_LOW_THRESHOLD_LIMIT12       0x000003A4            /*  CORE Low Threshold */
 #define REG_CORE_LOW_THRESHOLD_LIMITn(i)     (REG_CORE_LOW_THRESHOLD_LIMIT0 + ((i) * 64))
-#define REG_CORE_LOW_THRESHOLD_LIMITn_COUNT  11
+#define REG_CORE_LOW_THRESHOLD_LIMITn_COUNT  13
 #define REG_CORE_SENSOR_OFFSETn_RESET        0x00000000            /*      Reset Value for Sensor_Offset[n]  */
 #define REG_CORE_SENSOR_OFFSET0_RESET        0x00000000            /*      Reset Value for REG_CORE_SENSOR_OFFSET0  */
 #define REG_CORE_SENSOR_OFFSET1_RESET        0x00000000            /*      Reset Value for REG_CORE_SENSOR_OFFSET1  */
@@ -525,6 +551,8 @@
 #define REG_CORE_SENSOR_OFFSET8_RESET        0x00000000            /*      Reset Value for REG_CORE_SENSOR_OFFSET8  */
 #define REG_CORE_SENSOR_OFFSET9_RESET        0x00000000            /*      Reset Value for REG_CORE_SENSOR_OFFSET9  */
 #define REG_CORE_SENSOR_OFFSET10_RESET       0x00000000            /*      Reset Value for REG_CORE_SENSOR_OFFSET10  */
+#define REG_CORE_SENSOR_OFFSET11_RESET       0x00000000            /*      Reset Value for REG_CORE_SENSOR_OFFSET11  */
+#define REG_CORE_SENSOR_OFFSET12_RESET       0x00000000            /*      Reset Value for REG_CORE_SENSOR_OFFSET12  */
 #define REG_CORE_SENSOR_OFFSET0              0x000000A8            /*  CORE Sensor Offset Adjustment */
 #define REG_CORE_SENSOR_OFFSET1              0x000000E8            /*  CORE Sensor Offset Adjustment */
 #define REG_CORE_SENSOR_OFFSET2              0x00000128            /*  CORE Sensor Offset Adjustment */
@@ -536,20 +564,24 @@
 #define REG_CORE_SENSOR_OFFSET8              0x000002A8            /*  CORE Sensor Offset Adjustment */
 #define REG_CORE_SENSOR_OFFSET9              0x000002E8            /*  CORE Sensor Offset Adjustment */
 #define REG_CORE_SENSOR_OFFSET10             0x00000328            /*  CORE Sensor Offset Adjustment */
+#define REG_CORE_SENSOR_OFFSET11             0x00000368            /*  CORE Sensor Offset Adjustment */
+#define REG_CORE_SENSOR_OFFSET12             0x000003A8            /*  CORE Sensor Offset Adjustment */
 #define REG_CORE_SENSOR_OFFSETn(i)           (REG_CORE_SENSOR_OFFSET0 + ((i) * 64))
-#define REG_CORE_SENSOR_OFFSETn_COUNT        11
-#define REG_CORE_SENSOR_GAINn_RESET          0x3F800000            /*      Reset Value for Sensor_Gain[n]  */
-#define REG_CORE_SENSOR_GAIN0_RESET          0x3F800000            /*      Reset Value for REG_CORE_SENSOR_GAIN0  */
-#define REG_CORE_SENSOR_GAIN1_RESET          0x3F800000            /*      Reset Value for REG_CORE_SENSOR_GAIN1  */
-#define REG_CORE_SENSOR_GAIN2_RESET          0x3F800000            /*      Reset Value for REG_CORE_SENSOR_GAIN2  */
-#define REG_CORE_SENSOR_GAIN3_RESET          0x3F800000            /*      Reset Value for REG_CORE_SENSOR_GAIN3  */
-#define REG_CORE_SENSOR_GAIN4_RESET          0x3F800000            /*      Reset Value for REG_CORE_SENSOR_GAIN4  */
-#define REG_CORE_SENSOR_GAIN5_RESET          0x3F800000            /*      Reset Value for REG_CORE_SENSOR_GAIN5  */
-#define REG_CORE_SENSOR_GAIN6_RESET          0x3F800000            /*      Reset Value for REG_CORE_SENSOR_GAIN6  */
-#define REG_CORE_SENSOR_GAIN7_RESET          0x3F800000            /*      Reset Value for REG_CORE_SENSOR_GAIN7  */
-#define REG_CORE_SENSOR_GAIN8_RESET          0x3F800000            /*      Reset Value for REG_CORE_SENSOR_GAIN8  */
-#define REG_CORE_SENSOR_GAIN9_RESET          0x3F800000            /*      Reset Value for REG_CORE_SENSOR_GAIN9  */
-#define REG_CORE_SENSOR_GAIN10_RESET         0x3F800000            /*      Reset Value for REG_CORE_SENSOR_GAIN10  */
+#define REG_CORE_SENSOR_OFFSETn_COUNT        13
+#define REG_CORE_SENSOR_GAINn_RESET          0x00000000            /*      Reset Value for Sensor_Gain[n]  */
+#define REG_CORE_SENSOR_GAIN0_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN0  */
+#define REG_CORE_SENSOR_GAIN1_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN1  */
+#define REG_CORE_SENSOR_GAIN2_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN2  */
+#define REG_CORE_SENSOR_GAIN3_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN3  */
+#define REG_CORE_SENSOR_GAIN4_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN4  */
+#define REG_CORE_SENSOR_GAIN5_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN5  */
+#define REG_CORE_SENSOR_GAIN6_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN6  */
+#define REG_CORE_SENSOR_GAIN7_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN7  */
+#define REG_CORE_SENSOR_GAIN8_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN8  */
+#define REG_CORE_SENSOR_GAIN9_RESET          0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN9  */
+#define REG_CORE_SENSOR_GAIN10_RESET         0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN10  */
+#define REG_CORE_SENSOR_GAIN11_RESET         0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN11  */
+#define REG_CORE_SENSOR_GAIN12_RESET         0x00000000            /*      Reset Value for REG_CORE_SENSOR_GAIN12  */
 #define REG_CORE_SENSOR_GAIN0                0x000000AC            /*  CORE Sensor Gain Adjustment */
 #define REG_CORE_SENSOR_GAIN1                0x000000EC            /*  CORE Sensor Gain Adjustment */
 #define REG_CORE_SENSOR_GAIN2                0x0000012C            /*  CORE Sensor Gain Adjustment */
@@ -561,8 +593,10 @@
 #define REG_CORE_SENSOR_GAIN8                0x000002AC            /*  CORE Sensor Gain Adjustment */
 #define REG_CORE_SENSOR_GAIN9                0x000002EC            /*  CORE Sensor Gain Adjustment */
 #define REG_CORE_SENSOR_GAIN10               0x0000032C            /*  CORE Sensor Gain Adjustment */
+#define REG_CORE_SENSOR_GAIN11               0x0000036C            /*  CORE Sensor Gain Adjustment */
+#define REG_CORE_SENSOR_GAIN12               0x000003AC            /*  CORE Sensor Gain Adjustment */
 #define REG_CORE_SENSOR_GAINn(i)             (REG_CORE_SENSOR_GAIN0 + ((i) * 64))
-#define REG_CORE_SENSOR_GAINn_COUNT          11
+#define REG_CORE_SENSOR_GAINn_COUNT          13
 #define REG_CORE_ALERT_CODE_CHn_RESET        0x00000000            /*      Reset Value for Alert_Code_Ch[n]  */
 #define REG_CORE_ALERT_CODE_CH0_RESET        0x00000000            /*      Reset Value for REG_CORE_ALERT_CODE_CH0  */
 #define REG_CORE_ALERT_CODE_CH1_RESET        0x00000000            /*      Reset Value for REG_CORE_ALERT_CODE_CH1  */
@@ -575,6 +609,8 @@
 #define REG_CORE_ALERT_CODE_CH8_RESET        0x00000000            /*      Reset Value for REG_CORE_ALERT_CODE_CH8  */
 #define REG_CORE_ALERT_CODE_CH9_RESET        0x00000000            /*      Reset Value for REG_CORE_ALERT_CODE_CH9  */
 #define REG_CORE_ALERT_CODE_CH10_RESET       0x00000000            /*      Reset Value for REG_CORE_ALERT_CODE_CH10  */
+#define REG_CORE_ALERT_CODE_CH11_RESET       0x00000000            /*      Reset Value for REG_CORE_ALERT_CODE_CH11  */
+#define REG_CORE_ALERT_CODE_CH12_RESET       0x00000000            /*      Reset Value for REG_CORE_ALERT_CODE_CH12  */
 #define REG_CORE_ALERT_CODE_CH0              0x000000B0            /*  CORE Per-Channel Detailed Alert-Code Information */
 #define REG_CORE_ALERT_CODE_CH1              0x000000F0            /*  CORE Per-Channel Detailed Alert-Code Information */
 #define REG_CORE_ALERT_CODE_CH2              0x00000130            /*  CORE Per-Channel Detailed Alert-Code Information */
@@ -586,8 +622,10 @@
 #define REG_CORE_ALERT_CODE_CH8              0x000002B0            /*  CORE Per-Channel Detailed Alert-Code Information */
 #define REG_CORE_ALERT_CODE_CH9              0x000002F0            /*  CORE Per-Channel Detailed Alert-Code Information */
 #define REG_CORE_ALERT_CODE_CH10             0x00000330            /*  CORE Per-Channel Detailed Alert-Code Information */
+#define REG_CORE_ALERT_CODE_CH11             0x00000370            /*  CORE Per-Channel Detailed Alert-Code Information */
+#define REG_CORE_ALERT_CODE_CH12             0x000003B0            /*  CORE Per-Channel Detailed Alert-Code Information */
 #define REG_CORE_ALERT_CODE_CHn(i)           (REG_CORE_ALERT_CODE_CH0 + ((i) * 64))
-#define REG_CORE_ALERT_CODE_CHn_COUNT        11
+#define REG_CORE_ALERT_CODE_CHn_COUNT        13
 #define REG_CORE_CHANNEL_SKIPn_RESET         0x00000000            /*      Reset Value for Channel_Skip[n]  */
 #define REG_CORE_CHANNEL_SKIP0_RESET         0x00000000            /*      Reset Value for REG_CORE_CHANNEL_SKIP0  */
 #define REG_CORE_CHANNEL_SKIP1_RESET         0x00000000            /*      Reset Value for REG_CORE_CHANNEL_SKIP1  */
@@ -600,6 +638,8 @@
 #define REG_CORE_CHANNEL_SKIP8_RESET         0x00000000            /*      Reset Value for REG_CORE_CHANNEL_SKIP8  */
 #define REG_CORE_CHANNEL_SKIP9_RESET         0x00000000            /*      Reset Value for REG_CORE_CHANNEL_SKIP9  */
 #define REG_CORE_CHANNEL_SKIP10_RESET        0x00000000            /*      Reset Value for REG_CORE_CHANNEL_SKIP10  */
+#define REG_CORE_CHANNEL_SKIP11_RESET        0x00000000            /*      Reset Value for REG_CORE_CHANNEL_SKIP11  */
+#define REG_CORE_CHANNEL_SKIP12_RESET        0x00000000            /*      Reset Value for REG_CORE_CHANNEL_SKIP12  */
 #define REG_CORE_CHANNEL_SKIP0               0x000000B2            /*  CORE Indicates If Channel Will Skip Some Measurement Cycles */
 #define REG_CORE_CHANNEL_SKIP1               0x000000F2            /*  CORE Indicates If Channel Will Skip Some Measurement Cycles */
 #define REG_CORE_CHANNEL_SKIP2               0x00000132            /*  CORE Indicates If Channel Will Skip Some Measurement Cycles */
@@ -611,20 +651,24 @@
 #define REG_CORE_CHANNEL_SKIP8               0x000002B2            /*  CORE Indicates If Channel Will Skip Some Measurement Cycles */
 #define REG_CORE_CHANNEL_SKIP9               0x000002F2            /*  CORE Indicates If Channel Will Skip Some Measurement Cycles */
 #define REG_CORE_CHANNEL_SKIP10              0x00000332            /*  CORE Indicates If Channel Will Skip Some Measurement Cycles */
+#define REG_CORE_CHANNEL_SKIP11              0x00000372            /*  CORE Indicates If Channel Will Skip Some Measurement Cycles */
+#define REG_CORE_CHANNEL_SKIP12              0x000003B2            /*  CORE Indicates If Channel Will Skip Some Measurement Cycles */
 #define REG_CORE_CHANNEL_SKIPn(i)            (REG_CORE_CHANNEL_SKIP0 + ((i) * 64))
-#define REG_CORE_CHANNEL_SKIPn_COUNT         11
-#define REG_CORE_SENSOR_PARAMETERn_RESET     0x7FC00000            /*      Reset Value for Sensor_Parameter[n]  */
-#define REG_CORE_SENSOR_PARAMETER0_RESET     0x7FC00000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER0  */
-#define REG_CORE_SENSOR_PARAMETER1_RESET     0x7FC00000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER1  */
-#define REG_CORE_SENSOR_PARAMETER2_RESET     0x7FC00000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER2  */
-#define REG_CORE_SENSOR_PARAMETER3_RESET     0x7FC00000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER3  */
-#define REG_CORE_SENSOR_PARAMETER4_RESET     0x7FC00000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER4  */
-#define REG_CORE_SENSOR_PARAMETER5_RESET     0x7FC00000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER5  */
-#define REG_CORE_SENSOR_PARAMETER6_RESET     0x7FC00000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER6  */
-#define REG_CORE_SENSOR_PARAMETER7_RESET     0x7FC00000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER7  */
-#define REG_CORE_SENSOR_PARAMETER8_RESET     0x7FC00000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER8  */
-#define REG_CORE_SENSOR_PARAMETER9_RESET     0x7FC00000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER9  */
-#define REG_CORE_SENSOR_PARAMETER10_RESET    0x7FC00000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER10  */
+#define REG_CORE_CHANNEL_SKIPn_COUNT         13
+#define REG_CORE_SENSOR_PARAMETERn_RESET     0x00000000            /*      Reset Value for Sensor_Parameter[n]  */
+#define REG_CORE_SENSOR_PARAMETER0_RESET     0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER0  */
+#define REG_CORE_SENSOR_PARAMETER1_RESET     0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER1  */
+#define REG_CORE_SENSOR_PARAMETER2_RESET     0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER2  */
+#define REG_CORE_SENSOR_PARAMETER3_RESET     0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER3  */
+#define REG_CORE_SENSOR_PARAMETER4_RESET     0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER4  */
+#define REG_CORE_SENSOR_PARAMETER5_RESET     0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER5  */
+#define REG_CORE_SENSOR_PARAMETER6_RESET     0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER6  */
+#define REG_CORE_SENSOR_PARAMETER7_RESET     0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER7  */
+#define REG_CORE_SENSOR_PARAMETER8_RESET     0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER8  */
+#define REG_CORE_SENSOR_PARAMETER9_RESET     0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER9  */
+#define REG_CORE_SENSOR_PARAMETER10_RESET    0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER10  */
+#define REG_CORE_SENSOR_PARAMETER11_RESET    0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER11  */
+#define REG_CORE_SENSOR_PARAMETER12_RESET    0x00000000            /*      Reset Value for REG_CORE_SENSOR_PARAMETER12  */
 #define REG_CORE_SENSOR_PARAMETER0           0x000000B4            /*  CORE Sensor Parameter Adjustment */
 #define REG_CORE_SENSOR_PARAMETER1           0x000000F4            /*  CORE Sensor Parameter Adjustment */
 #define REG_CORE_SENSOR_PARAMETER2           0x00000134            /*  CORE Sensor Parameter Adjustment */
@@ -636,8 +680,10 @@
 #define REG_CORE_SENSOR_PARAMETER8           0x000002B4            /*  CORE Sensor Parameter Adjustment */
 #define REG_CORE_SENSOR_PARAMETER9           0x000002F4            /*  CORE Sensor Parameter Adjustment */
 #define REG_CORE_SENSOR_PARAMETER10          0x00000334            /*  CORE Sensor Parameter Adjustment */
+#define REG_CORE_SENSOR_PARAMETER11          0x00000374            /*  CORE Sensor Parameter Adjustment */
+#define REG_CORE_SENSOR_PARAMETER12          0x000003B4            /*  CORE Sensor Parameter Adjustment */
 #define REG_CORE_SENSOR_PARAMETERn(i)        (REG_CORE_SENSOR_PARAMETER0 + ((i) * 64))
-#define REG_CORE_SENSOR_PARAMETERn_COUNT     11
+#define REG_CORE_SENSOR_PARAMETERn_COUNT     13
 #define REG_CORE_CALIBRATION_PARAMETERn_RESET 0x00000000            /*      Reset Value for Calibration_Parameter[n]  */
 #define REG_CORE_CALIBRATION_PARAMETER0_RESET 0x00000000            /*      Reset Value for REG_CORE_CALIBRATION_PARAMETER0  */
 #define REG_CORE_CALIBRATION_PARAMETER1_RESET 0x00000000            /*      Reset Value for REG_CORE_CALIBRATION_PARAMETER1  */
@@ -650,6 +696,8 @@
 #define REG_CORE_CALIBRATION_PARAMETER8_RESET 0x00000000            /*      Reset Value for REG_CORE_CALIBRATION_PARAMETER8  */
 #define REG_CORE_CALIBRATION_PARAMETER9_RESET 0x00000000            /*      Reset Value for REG_CORE_CALIBRATION_PARAMETER9  */
 #define REG_CORE_CALIBRATION_PARAMETER10_RESET 0x00000000            /*      Reset Value for REG_CORE_CALIBRATION_PARAMETER10  */
+#define REG_CORE_CALIBRATION_PARAMETER11_RESET 0x00000000            /*      Reset Value for REG_CORE_CALIBRATION_PARAMETER11  */
+#define REG_CORE_CALIBRATION_PARAMETER12_RESET 0x00000000            /*      Reset Value for REG_CORE_CALIBRATION_PARAMETER12  */
 #define REG_CORE_CALIBRATION_PARAMETER0      0x000000B8            /*  CORE Calibration Parameter Value */
 #define REG_CORE_CALIBRATION_PARAMETER1      0x000000F8            /*  CORE Calibration Parameter Value */
 #define REG_CORE_CALIBRATION_PARAMETER2      0x00000138            /*  CORE Calibration Parameter Value */
@@ -661,8 +709,10 @@
 #define REG_CORE_CALIBRATION_PARAMETER8      0x000002B8            /*  CORE Calibration Parameter Value */
 #define REG_CORE_CALIBRATION_PARAMETER9      0x000002F8            /*  CORE Calibration Parameter Value */
 #define REG_CORE_CALIBRATION_PARAMETER10     0x00000338            /*  CORE Calibration Parameter Value */
+#define REG_CORE_CALIBRATION_PARAMETER11     0x00000378            /*  CORE Calibration Parameter Value */
+#define REG_CORE_CALIBRATION_PARAMETER12     0x000003B8            /*  CORE Calibration Parameter Value */
 #define REG_CORE_CALIBRATION_PARAMETERn(i)   (REG_CORE_CALIBRATION_PARAMETER0 + ((i) * 64))
-#define REG_CORE_CALIBRATION_PARAMETERn_COUNT 11
+#define REG_CORE_CALIBRATION_PARAMETERn_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_CONFIGn_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Config[n]  */
 #define REG_CORE_DIGITAL_SENSOR_CONFIG0_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_CONFIG0  */
 #define REG_CORE_DIGITAL_SENSOR_CONFIG1_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_CONFIG1  */
@@ -675,6 +725,8 @@
 #define REG_CORE_DIGITAL_SENSOR_CONFIG8_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_CONFIG8  */
 #define REG_CORE_DIGITAL_SENSOR_CONFIG9_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_CONFIG9  */
 #define REG_CORE_DIGITAL_SENSOR_CONFIG10_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_CONFIG10  */
+#define REG_CORE_DIGITAL_SENSOR_CONFIG11_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_CONFIG11  */
+#define REG_CORE_DIGITAL_SENSOR_CONFIG12_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_CONFIG12  */
 #define REG_CORE_DIGITAL_SENSOR_CONFIG0      0x000000BC            /*  CORE Digital Sensor Data Coding */
 #define REG_CORE_DIGITAL_SENSOR_CONFIG1      0x000000FC            /*  CORE Digital Sensor Data Coding */
 #define REG_CORE_DIGITAL_SENSOR_CONFIG2      0x0000013C            /*  CORE Digital Sensor Data Coding */
@@ -686,8 +738,10 @@
 #define REG_CORE_DIGITAL_SENSOR_CONFIG8      0x000002BC            /*  CORE Digital Sensor Data Coding */
 #define REG_CORE_DIGITAL_SENSOR_CONFIG9      0x000002FC            /*  CORE Digital Sensor Data Coding */
 #define REG_CORE_DIGITAL_SENSOR_CONFIG10     0x0000033C            /*  CORE Digital Sensor Data Coding */
+#define REG_CORE_DIGITAL_SENSOR_CONFIG11     0x0000037C            /*  CORE Digital Sensor Data Coding */
+#define REG_CORE_DIGITAL_SENSOR_CONFIG12     0x000003BC            /*  CORE Digital Sensor Data Coding */
 #define REG_CORE_DIGITAL_SENSOR_CONFIGn(i)   (REG_CORE_DIGITAL_SENSOR_CONFIG0 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_CONFIGn_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_CONFIGn_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_ADDRESSn_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Address[n]  */
 #define REG_CORE_DIGITAL_SENSOR_ADDRESS0_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_ADDRESS0  */
 #define REG_CORE_DIGITAL_SENSOR_ADDRESS1_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_ADDRESS1  */
@@ -700,6 +754,8 @@
 #define REG_CORE_DIGITAL_SENSOR_ADDRESS8_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_ADDRESS8  */
 #define REG_CORE_DIGITAL_SENSOR_ADDRESS9_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_ADDRESS9  */
 #define REG_CORE_DIGITAL_SENSOR_ADDRESS10_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_ADDRESS10  */
+#define REG_CORE_DIGITAL_SENSOR_ADDRESS11_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_ADDRESS11  */
+#define REG_CORE_DIGITAL_SENSOR_ADDRESS12_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_ADDRESS12  */
 #define REG_CORE_DIGITAL_SENSOR_ADDRESS0     0x000000BE            /*  CORE Sensor Address */
 #define REG_CORE_DIGITAL_SENSOR_ADDRESS1     0x000000FE            /*  CORE Sensor Address */
 #define REG_CORE_DIGITAL_SENSOR_ADDRESS2     0x0000013E            /*  CORE Sensor Address */
@@ -711,8 +767,10 @@
 #define REG_CORE_DIGITAL_SENSOR_ADDRESS8     0x000002BE            /*  CORE Sensor Address */
 #define REG_CORE_DIGITAL_SENSOR_ADDRESS9     0x000002FE            /*  CORE Sensor Address */
 #define REG_CORE_DIGITAL_SENSOR_ADDRESS10    0x0000033E            /*  CORE Sensor Address */
+#define REG_CORE_DIGITAL_SENSOR_ADDRESS11    0x0000037E            /*  CORE Sensor Address */
+#define REG_CORE_DIGITAL_SENSOR_ADDRESS12    0x000003BE            /*  CORE Sensor Address */
 #define REG_CORE_DIGITAL_SENSOR_ADDRESSn(i)  (REG_CORE_DIGITAL_SENSOR_ADDRESS0 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_ADDRESSn_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_ADDRESSn_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDSn_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Num_Cmds[n]  */
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDS0_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_NUM_CMDS0  */
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDS1_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_NUM_CMDS1  */
@@ -725,6 +783,8 @@
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDS8_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_NUM_CMDS8  */
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDS9_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_NUM_CMDS9  */
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDS10_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_NUM_CMDS10  */
+#define REG_CORE_DIGITAL_SENSOR_NUM_CMDS11_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_NUM_CMDS11  */
+#define REG_CORE_DIGITAL_SENSOR_NUM_CMDS12_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_NUM_CMDS12  */
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDS0    0x000000BF            /*  CORE Number of Configuration, Read Commands for Digital Sensors */
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDS1    0x000000FF            /*  CORE Number of Configuration, Read Commands for Digital Sensors */
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDS2    0x0000013F            /*  CORE Number of Configuration, Read Commands for Digital Sensors */
@@ -736,8 +796,10 @@
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDS8    0x000002BF            /*  CORE Number of Configuration, Read Commands for Digital Sensors */
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDS9    0x000002FF            /*  CORE Number of Configuration, Read Commands for Digital Sensors */
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDS10   0x0000033F            /*  CORE Number of Configuration, Read Commands for Digital Sensors */
+#define REG_CORE_DIGITAL_SENSOR_NUM_CMDS11   0x0000037F            /*  CORE Number of Configuration, Read Commands for Digital Sensors */
+#define REG_CORE_DIGITAL_SENSOR_NUM_CMDS12   0x000003BF            /*  CORE Number of Configuration, Read Commands for Digital Sensors */
 #define REG_CORE_DIGITAL_SENSOR_NUM_CMDSn(i) (REG_CORE_DIGITAL_SENSOR_NUM_CMDS0 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_NUM_CMDSn_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_NUM_CMDSn_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_COMMSn_RESET 0x00000006            /*      Reset Value for Digital_Sensor_Comms[n]  */
 #define REG_CORE_DIGITAL_SENSOR_COMMS0_RESET 0x00000006            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMS0  */
 #define REG_CORE_DIGITAL_SENSOR_COMMS1_RESET 0x00000006            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMS1  */
@@ -750,6 +812,8 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMS8_RESET 0x00000006            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMS8  */
 #define REG_CORE_DIGITAL_SENSOR_COMMS9_RESET 0x00000006            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMS9  */
 #define REG_CORE_DIGITAL_SENSOR_COMMS10_RESET 0x00000006            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMS10  */
+#define REG_CORE_DIGITAL_SENSOR_COMMS11_RESET 0x00000006            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMS11  */
+#define REG_CORE_DIGITAL_SENSOR_COMMS12_RESET 0x00000006            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMS12  */
 #define REG_CORE_DIGITAL_SENSOR_COMMS0       0x000000C0            /*  CORE Digital Sensor Communication Clock Configuration */
 #define REG_CORE_DIGITAL_SENSOR_COMMS1       0x00000100            /*  CORE Digital Sensor Communication Clock Configuration */
 #define REG_CORE_DIGITAL_SENSOR_COMMS2       0x00000140            /*  CORE Digital Sensor Communication Clock Configuration */
@@ -761,8 +825,10 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMS8       0x000002C0            /*  CORE Digital Sensor Communication Clock Configuration */
 #define REG_CORE_DIGITAL_SENSOR_COMMS9       0x00000300            /*  CORE Digital Sensor Communication Clock Configuration */
 #define REG_CORE_DIGITAL_SENSOR_COMMS10      0x00000340            /*  CORE Digital Sensor Communication Clock Configuration */
+#define REG_CORE_DIGITAL_SENSOR_COMMS11      0x00000380            /*  CORE Digital Sensor Communication Clock Configuration */
+#define REG_CORE_DIGITAL_SENSOR_COMMS12      0x000003C0            /*  CORE Digital Sensor Communication Clock Configuration */
 #define REG_CORE_DIGITAL_SENSOR_COMMSn(i)    (REG_CORE_DIGITAL_SENSOR_COMMS0 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_COMMSn_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_COMMSn_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_COMMAND1n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Command1[n]  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND10_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND10  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND11_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND11  */
@@ -775,6 +841,8 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND18_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND18  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND19_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND19  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND110_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND110  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND111_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND111  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND112_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND112  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND10    0x000000C2            /*  CORE Sensor Configuration Command1 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND11    0x00000102            /*  CORE Sensor Configuration Command1 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND12    0x00000142            /*  CORE Sensor Configuration Command1 */
@@ -786,8 +854,10 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND18    0x000002C2            /*  CORE Sensor Configuration Command1 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND19    0x00000302            /*  CORE Sensor Configuration Command1 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND110   0x00000342            /*  CORE Sensor Configuration Command1 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND111   0x00000382            /*  CORE Sensor Configuration Command1 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND112   0x000003C2            /*  CORE Sensor Configuration Command1 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND1n(i) (REG_CORE_DIGITAL_SENSOR_COMMAND10 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_COMMAND1n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_COMMAND1n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_COMMAND2n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Command2[n]  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND20_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND20  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND21_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND21  */
@@ -800,6 +870,8 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND28_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND28  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND29_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND29  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND210_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND210  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND211_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND211  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND212_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND212  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND20    0x000000C3            /*  CORE Sensor Configuration Command2 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND21    0x00000103            /*  CORE Sensor Configuration Command2 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND22    0x00000143            /*  CORE Sensor Configuration Command2 */
@@ -811,8 +883,10 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND28    0x000002C3            /*  CORE Sensor Configuration Command2 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND29    0x00000303            /*  CORE Sensor Configuration Command2 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND210   0x00000343            /*  CORE Sensor Configuration Command2 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND211   0x00000383            /*  CORE Sensor Configuration Command2 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND212   0x000003C3            /*  CORE Sensor Configuration Command2 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND2n(i) (REG_CORE_DIGITAL_SENSOR_COMMAND20 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_COMMAND2n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_COMMAND2n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_COMMAND3n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Command3[n]  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND30_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND30  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND31_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND31  */
@@ -825,6 +899,8 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND38_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND38  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND39_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND39  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND310_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND310  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND311_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND311  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND312_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND312  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND30    0x000000C4            /*  CORE Sensor Configuration Command3 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND31    0x00000104            /*  CORE Sensor Configuration Command3 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND32    0x00000144            /*  CORE Sensor Configuration Command3 */
@@ -836,8 +912,10 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND38    0x000002C4            /*  CORE Sensor Configuration Command3 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND39    0x00000304            /*  CORE Sensor Configuration Command3 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND310   0x00000344            /*  CORE Sensor Configuration Command3 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND311   0x00000384            /*  CORE Sensor Configuration Command3 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND312   0x000003C4            /*  CORE Sensor Configuration Command3 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND3n(i) (REG_CORE_DIGITAL_SENSOR_COMMAND30 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_COMMAND3n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_COMMAND3n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_COMMAND4n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Command4[n]  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND40_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND40  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND41_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND41  */
@@ -850,6 +928,8 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND48_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND48  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND49_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND49  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND410_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND410  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND411_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND411  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND412_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND412  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND40    0x000000C5            /*  CORE Sensor Configuration Command4 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND41    0x00000105            /*  CORE Sensor Configuration Command4 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND42    0x00000145            /*  CORE Sensor Configuration Command4 */
@@ -861,8 +941,10 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND48    0x000002C5            /*  CORE Sensor Configuration Command4 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND49    0x00000305            /*  CORE Sensor Configuration Command4 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND410   0x00000345            /*  CORE Sensor Configuration Command4 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND411   0x00000385            /*  CORE Sensor Configuration Command4 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND412   0x000003C5            /*  CORE Sensor Configuration Command4 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND4n(i) (REG_CORE_DIGITAL_SENSOR_COMMAND40 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_COMMAND4n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_COMMAND4n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_COMMAND5n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Command5[n]  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND50_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND50  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND51_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND51  */
@@ -875,6 +957,8 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND58_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND58  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND59_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND59  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND510_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND510  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND511_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND511  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND512_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND512  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND50    0x000000C6            /*  CORE Sensor Configuration Command5 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND51    0x00000106            /*  CORE Sensor Configuration Command5 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND52    0x00000146            /*  CORE Sensor Configuration Command5 */
@@ -886,8 +970,10 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND58    0x000002C6            /*  CORE Sensor Configuration Command5 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND59    0x00000306            /*  CORE Sensor Configuration Command5 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND510   0x00000346            /*  CORE Sensor Configuration Command5 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND511   0x00000386            /*  CORE Sensor Configuration Command5 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND512   0x000003C6            /*  CORE Sensor Configuration Command5 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND5n(i) (REG_CORE_DIGITAL_SENSOR_COMMAND50 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_COMMAND5n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_COMMAND5n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_COMMAND6n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Command6[n]  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND60_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND60  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND61_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND61  */
@@ -900,6 +986,8 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND68_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND68  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND69_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND69  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND610_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND610  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND611_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND611  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND612_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND612  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND60    0x000000C7            /*  CORE Sensor Configuration Command6 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND61    0x00000107            /*  CORE Sensor Configuration Command6 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND62    0x00000147            /*  CORE Sensor Configuration Command6 */
@@ -911,8 +999,10 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND68    0x000002C7            /*  CORE Sensor Configuration Command6 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND69    0x00000307            /*  CORE Sensor Configuration Command6 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND610   0x00000347            /*  CORE Sensor Configuration Command6 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND611   0x00000387            /*  CORE Sensor Configuration Command6 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND612   0x000003C7            /*  CORE Sensor Configuration Command6 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND6n(i) (REG_CORE_DIGITAL_SENSOR_COMMAND60 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_COMMAND6n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_COMMAND6n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_COMMAND7n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Command7[n]  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND70_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND70  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND71_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND71  */
@@ -925,6 +1015,8 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND78_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND78  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND79_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND79  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND710_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND710  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND711_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND711  */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND712_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_COMMAND712  */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND70    0x000000C8            /*  CORE Sensor Configuration Command7 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND71    0x00000108            /*  CORE Sensor Configuration Command7 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND72    0x00000148            /*  CORE Sensor Configuration Command7 */
@@ -936,8 +1028,10 @@
 #define REG_CORE_DIGITAL_SENSOR_COMMAND78    0x000002C8            /*  CORE Sensor Configuration Command7 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND79    0x00000308            /*  CORE Sensor Configuration Command7 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND710   0x00000348            /*  CORE Sensor Configuration Command7 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND711   0x00000388            /*  CORE Sensor Configuration Command7 */
+#define REG_CORE_DIGITAL_SENSOR_COMMAND712   0x000003C8            /*  CORE Sensor Configuration Command7 */
 #define REG_CORE_DIGITAL_SENSOR_COMMAND7n(i) (REG_CORE_DIGITAL_SENSOR_COMMAND70 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_COMMAND7n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_COMMAND7n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD1n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Read_Cmd1[n]  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD10_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD10  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD11_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD11  */
@@ -950,6 +1044,8 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD18_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD18  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD19_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD19  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD110_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD110  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD111_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD111  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD112_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD112  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD10   0x000000C9            /*  CORE Sensor Read Command1 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD11   0x00000109            /*  CORE Sensor Read Command1 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD12   0x00000149            /*  CORE Sensor Read Command1 */
@@ -961,8 +1057,10 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD18   0x000002C9            /*  CORE Sensor Read Command1 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD19   0x00000309            /*  CORE Sensor Read Command1 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD110  0x00000349            /*  CORE Sensor Read Command1 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD111  0x00000389            /*  CORE Sensor Read Command1 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD112  0x000003C9            /*  CORE Sensor Read Command1 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD1n(i) (REG_CORE_DIGITAL_SENSOR_READ_CMD10 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_READ_CMD1n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD1n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD2n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Read_Cmd2[n]  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD20_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD20  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD21_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD21  */
@@ -975,6 +1073,8 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD28_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD28  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD29_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD29  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD210_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD210  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD211_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD211  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD212_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD212  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD20   0x000000CA            /*  CORE Sensor Read Command2 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD21   0x0000010A            /*  CORE Sensor Read Command2 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD22   0x0000014A            /*  CORE Sensor Read Command2 */
@@ -986,8 +1086,10 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD28   0x000002CA            /*  CORE Sensor Read Command2 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD29   0x0000030A            /*  CORE Sensor Read Command2 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD210  0x0000034A            /*  CORE Sensor Read Command2 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD211  0x0000038A            /*  CORE Sensor Read Command2 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD212  0x000003CA            /*  CORE Sensor Read Command2 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD2n(i) (REG_CORE_DIGITAL_SENSOR_READ_CMD20 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_READ_CMD2n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD2n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD3n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Read_Cmd3[n]  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD30_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD30  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD31_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD31  */
@@ -1000,6 +1102,8 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD38_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD38  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD39_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD39  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD310_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD310  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD311_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD311  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD312_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD312  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD30   0x000000CB            /*  CORE Sensor Read Command3 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD31   0x0000010B            /*  CORE Sensor Read Command3 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD32   0x0000014B            /*  CORE Sensor Read Command3 */
@@ -1011,8 +1115,10 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD38   0x000002CB            /*  CORE Sensor Read Command3 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD39   0x0000030B            /*  CORE Sensor Read Command3 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD310  0x0000034B            /*  CORE Sensor Read Command3 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD311  0x0000038B            /*  CORE Sensor Read Command3 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD312  0x000003CB            /*  CORE Sensor Read Command3 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD3n(i) (REG_CORE_DIGITAL_SENSOR_READ_CMD30 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_READ_CMD3n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD3n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD4n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Read_Cmd4[n]  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD40_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD40  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD41_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD41  */
@@ -1025,6 +1131,8 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD48_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD48  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD49_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD49  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD410_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD410  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD411_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD411  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD412_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD412  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD40   0x000000CC            /*  CORE Sensor Read Command4 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD41   0x0000010C            /*  CORE Sensor Read Command4 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD42   0x0000014C            /*  CORE Sensor Read Command4 */
@@ -1036,8 +1144,10 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD48   0x000002CC            /*  CORE Sensor Read Command4 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD49   0x0000030C            /*  CORE Sensor Read Command4 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD410  0x0000034C            /*  CORE Sensor Read Command4 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD411  0x0000038C            /*  CORE Sensor Read Command4 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD412  0x000003CC            /*  CORE Sensor Read Command4 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD4n(i) (REG_CORE_DIGITAL_SENSOR_READ_CMD40 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_READ_CMD4n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD4n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD5n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Read_Cmd5[n]  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD50_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD50  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD51_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD51  */
@@ -1050,6 +1160,8 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD58_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD58  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD59_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD59  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD510_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD510  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD511_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD511  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD512_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD512  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD50   0x000000CD            /*  CORE Sensor Read Command5 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD51   0x0000010D            /*  CORE Sensor Read Command5 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD52   0x0000014D            /*  CORE Sensor Read Command5 */
@@ -1061,8 +1173,10 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD58   0x000002CD            /*  CORE Sensor Read Command5 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD59   0x0000030D            /*  CORE Sensor Read Command5 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD510  0x0000034D            /*  CORE Sensor Read Command5 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD511  0x0000038D            /*  CORE Sensor Read Command5 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD512  0x000003CD            /*  CORE Sensor Read Command5 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD5n(i) (REG_CORE_DIGITAL_SENSOR_READ_CMD50 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_READ_CMD5n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD5n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD6n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Read_Cmd6[n]  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD60_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD60  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD61_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD61  */
@@ -1075,6 +1189,8 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD68_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD68  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD69_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD69  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD610_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD610  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD611_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD611  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD612_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD612  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD60   0x000000CE            /*  CORE Sensor Read Command6 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD61   0x0000010E            /*  CORE Sensor Read Command6 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD62   0x0000014E            /*  CORE Sensor Read Command6 */
@@ -1086,8 +1202,10 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD68   0x000002CE            /*  CORE Sensor Read Command6 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD69   0x0000030E            /*  CORE Sensor Read Command6 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD610  0x0000034E            /*  CORE Sensor Read Command6 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD611  0x0000038E            /*  CORE Sensor Read Command6 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD612  0x000003CE            /*  CORE Sensor Read Command6 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD6n(i) (REG_CORE_DIGITAL_SENSOR_READ_CMD60 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_READ_CMD6n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD6n_COUNT 13
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD7n_RESET 0x00000000            /*      Reset Value for Digital_Sensor_Read_Cmd7[n]  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD70_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD70  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD71_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD71  */
@@ -1100,6 +1218,8 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD78_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD78  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD79_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD79  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD710_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD710  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD711_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD711  */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD712_RESET 0x00000000            /*      Reset Value for REG_CORE_DIGITAL_SENSOR_READ_CMD712  */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD70   0x000000CF            /*  CORE Sensor Read Command7 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD71   0x0000010F            /*  CORE Sensor Read Command7 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD72   0x0000014F            /*  CORE Sensor Read Command7 */
@@ -1111,8 +1231,10 @@
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD78   0x000002CF            /*  CORE Sensor Read Command7 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD79   0x0000030F            /*  CORE Sensor Read Command7 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD710  0x0000034F            /*  CORE Sensor Read Command7 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD711  0x0000038F            /*  CORE Sensor Read Command7 */
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD712  0x000003CF            /*  CORE Sensor Read Command7 */
 #define REG_CORE_DIGITAL_SENSOR_READ_CMD7n(i) (REG_CORE_DIGITAL_SENSOR_READ_CMD70 + ((i) * 64))
-#define REG_CORE_DIGITAL_SENSOR_READ_CMD7n_COUNT 11
+#define REG_CORE_DIGITAL_SENSOR_READ_CMD7n_COUNT 13
 
 /* ============================================================================================================================
         CORE Register BitMasks, Positions & Enumerations 
@@ -1131,7 +1253,6 @@
 #define ENUM_CORE_COMMAND_POWER_DOWN         0x00000014            /*  Special_Command: Enter Low Power State */
 #define ENUM_CORE_COMMAND_LOAD_CONFIG_1      0x00000018            /*  Special_Command: Load Registers with Configuration#1 from FLASH */
 #define ENUM_CORE_COMMAND_SAVE_CONFIG_1      0x00000019            /*  Special_Command: Store Current Registers to FLASH Configuration#1 */
-#define ENUM_CORE_COMMAND_CALIBRATE_DIGITAL  0x00000020            /*  Special_Command: Performs a Calibration of Digital Sensor, if Supported & Enabled. */
 
 /* -------------------------------------------------------------------------------------------------------------------------
           CORE_MODE                            Pos/Masks         Description
@@ -1142,9 +1263,7 @@
 #define BITM_CORE_MODE_CONVERSION_MODE       0x00000003    /*  Conversion Mode */
 #define ENUM_CORE_MODE_DRDY_PER_CONVERSION   0x00000000            /*  Drdy_Mode: Data Ready Per Conversion */
 #define ENUM_CORE_MODE_DRDY_PER_CYCLE        0x00000004            /*  Drdy_Mode: Data Ready Per Cycle */
-#define ENUM_CORE_MODE_DRDY_PER_FIFO_FILL    0x00000008            /*  Drdy_Mode: Data Ready Per FIFO Fill / Multi-Cycle Burst */
 #define ENUM_CORE_MODE_SINGLECYCLE           0x00000000            /*  Conversion_Mode: Single Cycle */
-#define ENUM_CORE_MODE_MULTICYCLE            0x00000001            /*  Conversion_Mode: Multi Cycle */
 #define ENUM_CORE_MODE_CONTINUOUS            0x00000002            /*  Conversion_Mode: Continuous Conversion */
 
 /* -------------------------------------------------------------------------------------------------------------------------
@@ -1159,24 +1278,19 @@
           CORE_CYCLE_CONTROL                   Pos/Masks         Description
    ------------------------------------------------------------------------------------------------------------------------- */
 #define BITP_CORE_CYCLE_CONTROL_CYCLE_TIME_UNITS 14            /*  Units for Cycle Time */
+#define BITP_CORE_CYCLE_CONTROL_VBIAS        13            /*  Voltage Bias Global Enable */
+#define BITP_CORE_CYCLE_CONTROL_CYCLE_TYPE   12            /*  Type of Measurement Cycle */
 #define BITP_CORE_CYCLE_CONTROL_CYCLE_TIME    0            /*  Duration of a Full Measurement Cycle */
 #define BITM_CORE_CYCLE_CONTROL_CYCLE_TIME_UNITS 0x0000C000    /*  Units for Cycle Time */
+#define BITM_CORE_CYCLE_CONTROL_VBIAS        0x00002000    /*  Voltage Bias Global Enable */
+#define BITM_CORE_CYCLE_CONTROL_CYCLE_TYPE   0x00001000    /*  Type of Measurement Cycle */
 #define BITM_CORE_CYCLE_CONTROL_CYCLE_TIME   0x00000FFF    /*  Duration of a Full Measurement Cycle */
-#define ENUM_CORE_CYCLE_CONTROL_MICROSECONDS 0x00000000            /*  Cycle_Time_Units: Micro-Seconds */
-#define ENUM_CORE_CYCLE_CONTROL_MILLISECONDS 0x00004000            /*  Cycle_Time_Units: Milli-Seconds */
-#define ENUM_CORE_CYCLE_CONTROL_SECONDS      0x00008000            /*  Cycle_Time_Units: Seconds */
-
-/* -------------------------------------------------------------------------------------------------------------------------
-          CORE_FIFO_NUM_CYCLES                 Pos/Masks         Description
-   ------------------------------------------------------------------------------------------------------------------------- */
-#define BITP_CORE_FIFO_NUM_CYCLES_FIFO_NUM_CYCLES  0            /*  How Many Cycles to Fill FIFO */
-#define BITM_CORE_FIFO_NUM_CYCLES_FIFO_NUM_CYCLES 0x000000FF    /*  How Many Cycles to Fill FIFO */
-
-/* -------------------------------------------------------------------------------------------------------------------------
-          CORE_MULTI_CYCLE_REPEAT_INTERVAL     Pos/Masks         Description
-   ------------------------------------------------------------------------------------------------------------------------- */
-#define BITP_CORE_MULTI_CYCLE_REPEAT_INTERVAL_MULTI_CYCLE_REPEAT_INTERVAL  0            /*  Defines Time Between Repetitions of Measurement Cycles. */
-#define BITM_CORE_MULTI_CYCLE_REPEAT_INTERVAL_MULTI_CYCLE_REPEAT_INTERVAL 0x00FFFFFF    /*  Defines Time Between Repetitions of Measurement Cycles. */
+#define ENUM_CORE_CYCLE_CONTROL_MILLISECONDS 0x00000000            /*  Cycle_Time_Units: Milli-Seconds */
+#define ENUM_CORE_CYCLE_CONTROL_SECONDS      0x00004000            /*  Cycle_Time_Units: Seconds */
+#define ENUM_CORE_CYCLE_CONTROL_VBIAS_DISABLE 0x00000000            /*  Vbias: Vbias Disabled */
+#define ENUM_CORE_CYCLE_CONTROL_VBIAS_ENABLE 0x00002000            /*  Vbias: Enable Vbias Output For the Duration of a Cycle */
+#define ENUM_CORE_CYCLE_CONTROL_SWITCH       0x00000000            /*  Cycle_Type: Switch Channels After Every Conversion */
+#define ENUM_CORE_CYCLE_CONTROL_FULL         0x00001000            /*  Cycle_Type: Perform Full Number Of Conversions On A Channel Consecutively */
 
 /* -------------------------------------------------------------------------------------------------------------------------
           CORE_STATUS                          Pos/Masks         Description
@@ -1298,13 +1412,13 @@
           CORE_EXTERNAL_REFERENCE_RESISTOR     Pos/Masks         Description
    ------------------------------------------------------------------------------------------------------------------------- */
 #define BITP_CORE_EXTERNAL_REFERENCE_RESISTOR_EXT_REFIN1_VALUE  0            /*  Refin1 Value */
-#define BITM_CORE_EXTERNAL_REFERENCE_RESISTOR_EXT_REFIN1_VALUE 0xFFFFFFFF    /*  Refin1 Value */
+#define BITM_CORE_EXTERNAL_REFERENCE_RESISTOR_EXT_REFIN1_VALUE 0x00000000    /*  Refin1 Value */
 
 /* -------------------------------------------------------------------------------------------------------------------------
           CORE_EXTERNAL_VOLTAGE_REFERENCE      Pos/Masks         Description
    ------------------------------------------------------------------------------------------------------------------------- */
 #define BITP_CORE_EXTERNAL_VOLTAGE_REFERENCE_EXT_REFIN2_VALUE  0            /*  Refin2 Value */
-#define BITM_CORE_EXTERNAL_VOLTAGE_REFERENCE_EXT_REFIN2_VALUE 0xFFFFFFFF    /*  Refin2 Value */
+#define BITM_CORE_EXTERNAL_VOLTAGE_REFERENCE_EXT_REFIN2_VALUE 0x00000000    /*  Refin2 Value */
 
 /* -------------------------------------------------------------------------------------------------------------------------
           CORE_DIAGNOSTICS_CONTROL             Pos/Masks         Description
@@ -1330,7 +1444,7 @@
           CORE_DEBUG_CODE                      Pos/Masks         Description
    ------------------------------------------------------------------------------------------------------------------------- */
 #define BITP_CORE_DEBUG_CODE_DEBUG_CODE       0            /*  Additional Information on Source of Alert or Errors */
-#define BITM_CORE_DEBUG_CODE_DEBUG_CODE      0xFFFFFFFF    /*  Additional Information on Source of Alert or Errors */
+#define BITM_CORE_DEBUG_CODE_DEBUG_CODE      0x00000000    /*  Additional Information on Source of Alert or Errors */
 
 /* -------------------------------------------------------------------------------------------------------------------------
           CORE_ADVANCED_SENSOR_ACCESS          Pos/Masks         Description
@@ -1424,18 +1538,16 @@
 #define BITP_CORE_SENSOR_DETAILS_RTD_CURVE   27            /*  Select RTD Curve for Linearisation */
 #define BITP_CORE_SENSOR_DETAILS_PGA_GAIN    24            /*  PGA Gain */
 #define BITP_CORE_SENSOR_DETAILS_REFERENCE_SELECT 20            /*  Reference Selection */
-#define BITP_CORE_SENSOR_DETAILS_VBIAS       19            /*  Controls ADC Vbias Output */
 #define BITP_CORE_SENSOR_DETAILS_DO_NOT_PUBLISH 17            /*  Do Not Publish Channel Result */
-#define BITP_CORE_SENSOR_DETAILS_UNITY_LUT_SELECT 16            /*  Selects Unity Transfer Function Instead of Sensor Default */
+#define BITP_CORE_SENSOR_DETAILS_LUT_SELECT  15            /*  Lookup Table Select */
 #define BITP_CORE_SENSOR_DETAILS_COMPENSATION_CHANNEL  4            /*  Indicates Which Channel is Used to Compensate Sensor Result */
 #define BITP_CORE_SENSOR_DETAILS_MEASUREMENT_UNITS  0            /*  Units of Sensor Measurement */
 #define BITM_CORE_SENSOR_DETAILS_COMPENSATION_DISABLE 0x80000000    /*  Indicates Compensation Data Should Not Be Used */
 #define BITM_CORE_SENSOR_DETAILS_RTD_CURVE   0x18000000    /*  Select RTD Curve for Linearisation */
 #define BITM_CORE_SENSOR_DETAILS_PGA_GAIN    0x07000000    /*  PGA Gain */
 #define BITM_CORE_SENSOR_DETAILS_REFERENCE_SELECT 0x00F00000    /*  Reference Selection */
-#define BITM_CORE_SENSOR_DETAILS_VBIAS       0x00080000    /*  Controls ADC Vbias Output */
 #define BITM_CORE_SENSOR_DETAILS_DO_NOT_PUBLISH 0x00020000    /*  Do Not Publish Channel Result */
-#define BITM_CORE_SENSOR_DETAILS_UNITY_LUT_SELECT 0x00010000    /*  Selects Unity Transfer Function Instead of Sensor Default */
+#define BITM_CORE_SENSOR_DETAILS_LUT_SELECT  0x00018000    /*  Lookup Table Select */
 #define BITM_CORE_SENSOR_DETAILS_COMPENSATION_CHANNEL 0x000000F0    /*  Indicates Which Channel is Used to Compensate Sensor Result */
 #define BITM_CORE_SENSOR_DETAILS_MEASUREMENT_UNITS 0x0000000F    /*  Units of Sensor Measurement */
 #define ENUM_CORE_SENSOR_DETAILS_EUROPEAN_CURVE 0x00000000            /*  RTD_Curve: European Curve */
@@ -1452,8 +1564,11 @@
 #define ENUM_CORE_SENSOR_DETAILS_PGA_GAIN_128 0x07000000            /*  PGA_Gain: Gain of 128 */
 #define ENUM_CORE_SENSOR_DETAILS_REF_VINT    0x00000000            /*  Reference_Select: Internal voltage reference (1.2V) */
 #define ENUM_CORE_SENSOR_DETAILS_REF_VEXT1   0x00100000            /*  Reference_Select: External Voltage reference applied to VERF+ and VREF- */
-#define ENUM_CORE_SENSOR_DETAILS_REF_REXT    0x00200000            /*  Reference_Select: External Reference Resistor Applied Across RSENSE+/-, Reference Resistor Register Used to Specify Value */
 #define ENUM_CORE_SENSOR_DETAILS_REF_AVDD    0x00300000            /*  Reference_Select: AVDD Supply Used as Excitation and Internally applied as Reference */
+#define ENUM_CORE_SENSOR_DETAILS_LUT_DEFAULT 0x00000000            /*  LUT_Select: Default Lookup Table for Selected Sensor Type */
+#define ENUM_CORE_SENSOR_DETAILS_LUT_UNITY   0x00008000            /*  LUT_Select: Unity Lookup Table. 1:1 Mapping From Input to Output */
+#define ENUM_CORE_SENSOR_DETAILS_LUT_CUSTOM  0x00010000            /*  LUT_Select: User Defined Custom Lookup Table. */
+#define ENUM_CORE_SENSOR_DETAILS_LUT_RESERVED 0x00018000            /*  LUT_Select: Reserved */
 #define ENUM_CORE_SENSOR_DETAILS_UNITS_UNSPECIFIED 0x00000000            /*  Measurement_Units: Not Specified */
 #define ENUM_CORE_SENSOR_DETAILS_UNITS_RESERVED 0x00000001            /*  Measurement_Units: Reserved */
 #define ENUM_CORE_SENSOR_DETAILS_UNITS_DEGC  0x00000002            /*  Measurement_Units: Degrees C */
@@ -1498,6 +1613,7 @@
 /* -------------------------------------------------------------------------------------------------------------------------
           CORE_MEASUREMENT_SETUP[n]            Pos/Masks         Description
    ------------------------------------------------------------------------------------------------------------------------- */
+#define BITP_CORE_MEASUREMENT_SETUP_BUFFER_BYPASS 15            /*  Disable Buffers */
 #define BITP_CORE_MEASUREMENT_SETUP_GND_SW   13            /*  GND_SW */
 #define BITP_CORE_MEASUREMENT_SETUP_ADC_FILTER_TYPE 12            /*  ADC Digital Filter Type */
 #define BITP_CORE_MEASUREMENT_SETUP_CHOP_MODE 10            /*  Enabled and Disable Chop Mode */
@@ -1505,6 +1621,7 @@
 #define BITP_CORE_MEASUREMENT_SETUP_NOTCH_EN_2  8            /*  Enable Notch 2 Filter Mode */
 #define BITP_CORE_MEASUREMENT_SETUP_CUSTOM_CALIBRATION  7            /*  Enables Custom Calibration for Selected Sensor */
 #define BITP_CORE_MEASUREMENT_SETUP_ADC_SF    0            /*  ADC Digital Filter Select */
+#define BITM_CORE_MEASUREMENT_SETUP_BUFFER_BYPASS 0x00008000    /*  Disable Buffers */
 #define BITM_CORE_MEASUREMENT_SETUP_GND_SW   0x00006000    /*  GND_SW */
 #define BITM_CORE_MEASUREMENT_SETUP_ADC_FILTER_TYPE 0x00001000    /*  ADC Digital Filter Type */
 #define BITM_CORE_MEASUREMENT_SETUP_CHOP_MODE 0x00000C00    /*  Enabled and Disable Chop Mode */
@@ -1512,12 +1629,18 @@
 #define BITM_CORE_MEASUREMENT_SETUP_NOTCH_EN_2 0x00000100    /*  Enable Notch 2 Filter Mode */
 #define BITM_CORE_MEASUREMENT_SETUP_CUSTOM_CALIBRATION 0x00000080    /*  Enables Custom Calibration for Selected Sensor */
 #define BITM_CORE_MEASUREMENT_SETUP_ADC_SF   0x0000007F    /*  ADC Digital Filter Select */
+#define ENUM_CORE_MEASUREMENT_SETUP_BUFFERS_ENABLED 0x00000000
+#define ENUM_CORE_MEASUREMENT_SETUP_BUFFERS_DISABLED 0x00008000
 #define ENUM_CORE_MEASUREMENT_SETUP_GND_SW_OPEN 0x00000000            /*  GND_SW: GND_SW Open. The GND SW is not enabled for the sensor measurement */
 #define ENUM_CORE_MEASUREMENT_SETUP_GND_SW_CLOSED 0x00002000            /*  GND_SW: GND_SW Closed. The GND SW is enabled for the sensor measurement, bit wiil Remain Closed After the Measurement */
 #define ENUM_CORE_MEASUREMENT_SETUP_ENABLE_SINC4 0x00000000            /*  ADC_Filter_Type: Enabled SINC4 Filter */
 #define ENUM_CORE_MEASUREMENT_SETUP_ENABLE_SINC3 0x00001000            /*  ADC_Filter_Type: Enabled SINC3 Filter */
 #define ENUM_CORE_MEASUREMENT_SETUP_DISABLE_CHOP 0x00000000            /*  Chop_Mode: Chop Mode Disabled */
+#define ENUM_CORE_MEASUREMENT_SETUP_HW_CHOP  0x00000400            /*  Chop_Mode: Chop Mode Enabled */
 #define ENUM_CORE_MEASUREMENT_SETUP_ENABLE_CHOP 0x00000800            /*  Chop_Mode: Chop Mode Enabled */
+#define ENUM_CORE_MEASUREMENT_SETUP_HW_SW_CHOP 0x00000C00            /*  Chop_Mode: Chop Mode Enabled */
+#define ENUM_CORE_MEASUREMENT_SETUP_POWERCYCLE 0x00000000
+#define ENUM_CORE_MEASUREMENT_SETUP_ALWAYSON 0x00000200
 #define ENUM_CORE_MEASUREMENT_SETUP_NOTCH_DIS 0x00000000            /*  NOTCH_EN_2: Disable Notch Filter */
 #define ENUM_CORE_MEASUREMENT_SETUP_NOTCH_EN 0x00000100            /*  NOTCH_EN_2: Enable Notch 2 Filter option. Places a addtional notch at 1.2X ODR. Can be used for 50 and 60Hz rejection simultaneously */
 #define ENUM_CORE_MEASUREMENT_SETUP_INTERNAL_CALIBRATION 0x00000000
@@ -1527,25 +1650,25 @@
           CORE_HIGH_THRESHOLD_LIMIT[n]         Pos/Masks         Description
    ------------------------------------------------------------------------------------------------------------------------- */
 #define BITP_CORE_HIGH_THRESHOLD_LIMIT_HIGH_THRESHOLD  0            /*  Upper Limit for Sensor Alert Comparison */
-#define BITM_CORE_HIGH_THRESHOLD_LIMIT_HIGH_THRESHOLD 0xFFFFFFFF    /*  Upper Limit for Sensor Alert Comparison */
+#define BITM_CORE_HIGH_THRESHOLD_LIMIT_HIGH_THRESHOLD 0x00000000    /*  Upper Limit for Sensor Alert Comparison */
 
 /* -------------------------------------------------------------------------------------------------------------------------
           CORE_LOW_THRESHOLD_LIMIT[n]          Pos/Masks         Description
    ------------------------------------------------------------------------------------------------------------------------- */
 #define BITP_CORE_LOW_THRESHOLD_LIMIT_LOW_THRESHOLD  0            /*  Lower Limit for Sensor Alert Comparison */
-#define BITM_CORE_LOW_THRESHOLD_LIMIT_LOW_THRESHOLD 0xFFFFFFFF    /*  Lower Limit for Sensor Alert Comparison */
+#define BITM_CORE_LOW_THRESHOLD_LIMIT_LOW_THRESHOLD 0x00000000    /*  Lower Limit for Sensor Alert Comparison */
 
 /* -------------------------------------------------------------------------------------------------------------------------
           CORE_SENSOR_OFFSET[n]                Pos/Masks         Description
    ------------------------------------------------------------------------------------------------------------------------- */
 #define BITP_CORE_SENSOR_OFFSET_SENSOR_OFFSET  0            /*  Sensor Offset Adjustment */
-#define BITM_CORE_SENSOR_OFFSET_SENSOR_OFFSET 0xFFFFFFFF    /*  Sensor Offset Adjustment */
+#define BITM_CORE_SENSOR_OFFSET_SENSOR_OFFSET 0x00000000    /*  Sensor Offset Adjustment */
 
 /* -------------------------------------------------------------------------------------------------------------------------
           CORE_SENSOR_GAIN[n]                  Pos/Masks         Description
    ------------------------------------------------------------------------------------------------------------------------- */
 #define BITP_CORE_SENSOR_GAIN_SENSOR_GAIN     0            /*  Sensor Gain Adjustment */
-#define BITM_CORE_SENSOR_GAIN_SENSOR_GAIN    0xFFFFFFFF    /*  Sensor Gain Adjustment */
+#define BITM_CORE_SENSOR_GAIN_SENSOR_GAIN    0x00000000    /*  Sensor Gain Adjustment */
 
 /* -------------------------------------------------------------------------------------------------------------------------
           CORE_ALERT_CODE_CH[n]                Pos/Masks         Description
@@ -1563,7 +1686,7 @@
           CORE_SENSOR_PARAMETER[n]             Pos/Masks         Description
    ------------------------------------------------------------------------------------------------------------------------- */
 #define BITP_CORE_SENSOR_PARAMETER_SENSOR_PARAMETER  0            /*  Sensor Parameter Adjustment */
-#define BITM_CORE_SENSOR_PARAMETER_SENSOR_PARAMETER 0xFFFFFFFF    /*  Sensor Parameter Adjustment */
+#define BITM_CORE_SENSOR_PARAMETER_SENSOR_PARAMETER 0x00000000    /*  Sensor Parameter Adjustment */
 
 /* -------------------------------------------------------------------------------------------------------------------------
           CORE_CALIBRATION_PARAMETER[n]        Pos/Masks         Description
@@ -1639,9 +1762,9 @@
 #define ENUM_CORE_DIGITAL_SENSOR_COMMS_SPI_7P8KHZ 0x00000014            /*  SPI_Clock: 7.8kHz */
 #define ENUM_CORE_DIGITAL_SENSOR_COMMS_SPI_3P9KHZ 0x00000016            /*  SPI_Clock: 3.9kHz */
 #define ENUM_CORE_DIGITAL_SENSOR_COMMS_SPI_1P9KHZ 0x00000018            /*  SPI_Clock: 1.95kHz */
+#define ENUM_CORE_DIGITAL_SENSOR_COMMS_SPI_977HZ 0x0000001A            /*  SPI_Clock: 977Hz */
 #define ENUM_CORE_DIGITAL_SENSOR_COMMS_SPI_488HZ 0x0000001C            /*  SPI_Clock: 488Hz */
 #define ENUM_CORE_DIGITAL_SENSOR_COMMS_SPI_244HZ 0x0000001E            /*  SPI_Clock: 244Hz */
-#define ENUM_CORE_DIGITAL_SENSOR_COMMS_SPI_977HZ 0x0000001A            /*  SPI_Clock: 977Hz */
 #define ENUM_CORE_DIGITAL_SENSOR_COMMS_DIGITAL_COMMS_DEFAULT 0x00000000            /*  Digital_Sensor_Comms_En: Default Parameters Used for Digital Sensor Communications */
 #define ENUM_CORE_DIGITAL_SENSOR_COMMS_DIGITAL_COMMS_USER 0x00000001            /*  Digital_Sensor_Comms_En: User Supplied Parameters Used for Digital Sensor Communications */
 
--- a/inc/admw1001/ADMW1001_REGISTERS_typedefs.h	Tue Jun 18 09:28:16 2019 +0000
+++ b/inc/admw1001/ADMW1001_REGISTERS_typedefs.h	Thu Jun 20 18:13:57 2019 +0000
@@ -4,7 +4,7 @@
      File         :   ADMW1001_REGISTERS_typedefs.h
      Description  :   C Register Structures
 
-     Date         :   Apr 30, 2019
+     Date         :   Jun 19, 2019
 
      Copyright (c) 2019 Analog Devices, Inc.  All Rights Reserved.
      This software is proprietary and confidential to Analog Devices, Inc. and
@@ -47,7 +47,7 @@
  *! \struct ADMW_SPI_Interface_Config_A_Struct
  *! \brief  Interface Configuration A Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Interface_Config_A_t {
+typedef struct _ADMW_SPI_Interface_Config_A_t {
   union {
     struct {
       uint8_t SW_ResetX  :  1;  /**< Second  of Two of SW_RESET Bits. */
@@ -83,7 +83,7 @@
  *! \struct ADMW_SPI_Interface_Config_B_Struct
  *! \brief  Interface Configuration B Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Interface_Config_B_t {
+typedef struct _ADMW_SPI_Interface_Config_B_t {
   union {
     struct {
       uint8_t reserved0   :  7;
@@ -115,7 +115,7 @@
  *! \struct ADMW_SPI_Device_Config_Struct
  *! \brief  Device Configuration Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Device_Config_t {
+typedef struct _ADMW_SPI_Device_Config_t {
   union {
     struct {
       uint8_t Operating_Modes :  2;  /**< Power Modes */
@@ -136,7 +136,7 @@
  *! \struct ADMW_SPI_Chip_Type_Struct
  *! \brief  Chip Type Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Chip_Type_t {
+typedef struct _ADMW_SPI_Chip_Type_t {
   union {
     struct {
       uint8_t Chip_Type  :  4;  /**< Precision ADC */
@@ -157,7 +157,7 @@
  *! \struct ADMW_SPI_Product_ID_L_Struct
  *! \brief  Product ID Low Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Product_ID_L_t {
+typedef struct _ADMW_SPI_Product_ID_L_t {
   union {
     struct {
       uint8_t Product_ID :  8;  /**< Product_ID[7:0] This is Device Chip Type/Family */
@@ -177,7 +177,7 @@
  *! \struct ADMW_SPI_Product_ID_H_Struct
  *! \brief  Product ID High Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Product_ID_H_t {
+typedef struct _ADMW_SPI_Product_ID_H_t {
   union {
     struct {
       uint8_t Product_ID :  8;  /**< Product_ID[15:8] This is Device Chip Type/Family */
@@ -197,7 +197,7 @@
  *! \struct ADMW_SPI_Chip_Grade_Struct
  *! \brief  Chip Grade Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Chip_Grade_t {
+typedef struct _ADMW_SPI_Chip_Grade_t {
   union {
     struct {
       uint8_t Device_Revision :  4;  /**< This is the Device Hardware Revision */
@@ -218,7 +218,7 @@
  *! \struct ADMW_SPI_Scratch_Pad_Struct
  *! \brief  Scratch Pad Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Scratch_Pad_t {
+typedef struct _ADMW_SPI_Scratch_Pad_t {
   union {
     struct {
       uint8_t Scratch_Value :  8;  /**< Software Scratchpad */
@@ -259,7 +259,7 @@
  *! \struct ADMW_SPI_SPI_Revision_Struct
  *! \brief  SPI Revision Register bit field structure
  * ========================================================================== */
-typedef struct SPI_SPI_Revision_t {
+typedef struct _ADMW_SPI_SPI_Revision_t {
   union {
     struct {
       uint8_t Version    :  6;  /**< SPI Version */
@@ -280,7 +280,7 @@
  *! \struct ADMW_SPI_Vendor_L_Struct
  *! \brief  Vendor ID Low Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Vendor_L_t {
+typedef struct _ADMW_SPI_Vendor_L_t {
   union {
     struct {
       uint8_t VID        :  8;  /**< VID[7:0] Analog Devices Vendor ID */
@@ -300,7 +300,7 @@
  *! \struct ADMW_SPI_Vendor_H_Struct
  *! \brief  Vendor ID High Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Vendor_H_t {
+typedef struct _ADMW_SPI_Vendor_H_t {
   union {
     struct {
       uint8_t VID        :  8;  /**< VID[15:8] Analog Devices Vendor ID */
@@ -320,7 +320,7 @@
  *! \struct ADMW_SPI_Stream_Mode_Struct
  *! \brief  Stream Mode Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Stream_Mode_t {
+typedef struct _ADMW_SPI_Stream_Mode_t {
   union {
     struct {
       uint8_t Loop_Count :  8;  /**< Sets the Data Byte Count Before Looping to Start Address */
@@ -351,7 +351,7 @@
  *! \struct ADMW_SPI_Transfer_Config_Struct
  *! \brief  Transfer Config Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Transfer_Config_t {
+typedef struct _ADMW_SPI_Transfer_Config_t {
   union {
     struct {
       uint8_t reserved0   :  1;
@@ -395,7 +395,7 @@
  *! \struct ADMW_SPI_Interface_Config_C_Struct
  *! \brief  Interface Configuration C Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Interface_Config_C_t {
+typedef struct _ADMW_SPI_Interface_Config_C_t {
   union {
     struct {
       uint8_t CRC_EnableB :  2;  /**< Inverted CRC Enable */
@@ -419,7 +419,7 @@
  *! \struct ADMW_SPI_Interface_Status_A_Struct
  *! \brief  Interface Status A Register bit field structure
  * ========================================================================== */
-typedef struct SPI_Interface_Status_A_t {
+typedef struct _ADMW_SPI_Interface_Status_A_t {
   union {
     struct {
       uint8_t Address_Invalid_Error :  1;  /**< Attempt to Read/Write Non-existent Register Address */
@@ -442,36 +442,35 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_Command_Special_Command
+ *! \enum   ADMW_CORE_Command_Special_Command
  *! \brief  Special Command (Special_Command) Enumerations
  *  ========================================================================= */
 typedef enum
 {
-  CORE_COMMAND_NOP               = 0,   /**< No Command                                                        */
-  CORE_COMMAND_CONVERT           = 1,   /**< Start ADC Conversions                                             */
-  CORE_COMMAND_CONVERT_WITH_RAW  = 2,   /**< Start Conversions with Added RAW ADC Data                         */
-  CORE_COMMAND_LATCH_CONFIG      = 7,   /**< Latch Configuration.                                              */
-  CORE_COMMAND_LOAD_LUT          = 8,   /**< Load LUT from FLASH                                               */
-  CORE_COMMAND_SAVE_LUT          = 9,   /**< Save LUT to FLASH                                                 */
-  CORE_COMMAND_POWER_DOWN        = 20,  /**< Enter Low Power State                                             */
-  CORE_COMMAND_LOAD_CONFIG_1     = 24,  /**< Load Registers with Configuration#1 from FLASH                    */
-  CORE_COMMAND_SAVE_CONFIG_1     = 25,  /**< Store Current Registers to FLASH Configuration#1                  */
-  CORE_COMMAND_CALIBRATE_DIGITAL = 32   /**< Performs a Calibration of Digital Sensor, if Supported & Enabled. */
-} CORE_Command_Special_Command;
+  CORE_COMMAND_NOP              = 0,   /**< No Command                                       */
+  CORE_COMMAND_CONVERT          = 1,   /**< Start ADC Conversions                            */
+  CORE_COMMAND_CONVERT_WITH_RAW = 2,   /**< Start Conversions with Added RAW ADC Data        */
+  CORE_COMMAND_LATCH_CONFIG     = 7,   /**< Latch Configuration.                             */
+  CORE_COMMAND_LOAD_LUT         = 8,   /**< Load LUT from FLASH                              */
+  CORE_COMMAND_SAVE_LUT         = 9,   /**< Save LUT to FLASH                                */
+  CORE_COMMAND_POWER_DOWN       = 20,  /**< Enter Low Power State                            */
+  CORE_COMMAND_LOAD_CONFIG_1    = 24,  /**< Load Registers with Configuration#1 from FLASH   */
+  CORE_COMMAND_SAVE_CONFIG_1    = 25   /**< Store Current Registers to FLASH Configuration#1 */
+} ADMW_CORE_Command_Special_Command;
 
 
 /* ==========================================================================
- *! \struct CORE_Command_Struct
+ *! \struct ADMW_CORE_Command_Struct
  *! \brief  Special Command Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Command_t {
+typedef struct _ADMW_CORE_Command_t {
   union {
     struct {
       uint8_t Special_Command :  8;  /**< Special Command */
     };
     uint8_t VALUE8;
   };
-} CORE_Command_t;
+} ADMW_CORE_Command_t;
 
 /*@}*/
 
@@ -481,34 +480,32 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_Mode_Conversion_Mode
+ *! \enum   ADMW_CORE_Mode_Conversion_Mode
  *! \brief  Conversion Mode (Conversion_Mode) Enumerations
  *  ========================================================================= */
 typedef enum
 {
   CORE_MODE_SINGLECYCLE = 0,  /**< Single Cycle          */
-  CORE_MODE_MULTICYCLE  = 1,  /**< Multi Cycle           */
   CORE_MODE_CONTINUOUS  = 2   /**< Continuous Conversion */
-} CORE_Mode_Conversion_Mode;
+} ADMW_CORE_Mode_Conversion_Mode;
 
 
 /*  =========================================================================
- *! \enum   CORE_Mode_Drdy_Mode
+ *! \enum   ADMW_CORE_Mode_Drdy_Mode
  *! \brief  Indicates Behavior of DRDY with Respect to FIFO State (Drdy_Mode) Enumerations
  *  ========================================================================= */
 typedef enum
 {
-  CORE_MODE_DRDY_PER_CONVERSION = 0,  /**< Data Ready Per Conversion                    */
-  CORE_MODE_DRDY_PER_CYCLE      = 1,  /**< Data Ready Per Cycle                         */
-  CORE_MODE_DRDY_PER_FIFO_FILL  = 2   /**< Data Ready Per FIFO Fill / Multi-Cycle Burst */
-} CORE_Mode_Drdy_Mode;
+  CORE_MODE_DRDY_PER_CONVERSION = 0,  /**< Data Ready Per Conversion */
+  CORE_MODE_DRDY_PER_CYCLE      = 1   /**< Data Ready Per Cycle      */
+} ADMW_CORE_Mode_Drdy_Mode;
 
 
 /* ==========================================================================
- *! \struct CORE_Mode_Struct
+ *! \struct ADMW_CORE_Mode_Struct
  *! \brief  Operating Mode and DRDY Control Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Mode_t {
+typedef struct _ADMW_CORE_Mode_t {
   union {
     struct {
       uint8_t Conversion_Mode :  2;  /**< Conversion Mode */
@@ -517,7 +514,7 @@
     };
     uint8_t VALUE8;
   };
-} CORE_Mode_t;
+} ADMW_CORE_Mode_t;
 
 /*@}*/
 
@@ -527,21 +524,21 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_Power_Config_Power_Mode_MCU
+ *! \enum   ADMW_CORE_Power_Config_Power_Mode_MCU
  *! \brief  MCU Power Mode (Power_Mode_MCU) Enumerations
  *  ========================================================================= */
 typedef enum
 {
   CORE_POWER_CONFIG_ACTIVE_MODE = 0,  /**< Part is fully powered up and either cycling through a sequence or awaiting a configuration                                               */
   CORE_POWER_CONFIG_HIBERNATION = 1   /**< module has entede hibernation mode. All analog circuitry is disabled. All peripherals disabled apart from the Wake-up pin functionality. */
-} CORE_Power_Config_Power_Mode_MCU;
+} ADMW_CORE_Power_Config_Power_Mode_MCU;
 
 
 /* ==========================================================================
- *! \struct CORE_Power_Config_Struct
+ *! \struct ADMW_CORE_Power_Config_Struct
  *! \brief  General Configuration Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Power_Config_t {
+typedef struct _ADMW_CORE_Power_Config_t {
   union {
     struct {
       uint8_t Power_Mode_MCU :  1;  /**< MCU Power Mode */
@@ -549,7 +546,7 @@
     };
     uint8_t VALUE8;
   };
-} CORE_Power_Config_t;
+} ADMW_CORE_Power_Config_t;
 
 /*@}*/
 
@@ -559,72 +556,53 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_Cycle_Control_Cycle_Time_Units
+ *! \enum   ADMW_CORE_Cycle_Control_Cycle_Type
+ *! \brief  Type of Measurement Cycle (Cycle_Type) Enumerations
+ *  ========================================================================= */
+typedef enum
+{
+  CORE_CYCLE_CONTROL_SWITCH = 0,  /**< Switch Channels After Every Conversion                        */
+  CORE_CYCLE_CONTROL_FULL   = 1   /**< Perform Full Number Of Conversions On A Channel Consecutively */
+} ADMW_CORE_Cycle_Control_Cycle_Type;
+
+
+/*  =========================================================================
+ *! \enum   ADMW_CORE_Cycle_Control_Vbias
+ *! \brief  Voltage Bias Global Enable (Vbias) Enumerations
+ *  ========================================================================= */
+typedef enum
+{
+  CORE_CYCLE_CONTROL_VBIAS_DISABLE = 0,  /**< Vbias Disabled                                  */
+  CORE_CYCLE_CONTROL_VBIAS_ENABLE  = 1   /**< Enable Vbias Output For the Duration of a Cycle */
+} ADMW_CORE_Cycle_Control_Vbias;
+
+
+/*  =========================================================================
+ *! \enum   ADMW_CORE_Cycle_Control_Cycle_Time_Units
  *! \brief  Units for Cycle Time (Cycle_Time_Units) Enumerations
  *  ========================================================================= */
 typedef enum
 {
-  CORE_CYCLE_CONTROL_MICROSECONDS = 0,  /**< Micro-Seconds */
-  CORE_CYCLE_CONTROL_MILLISECONDS = 1,  /**< Milli-Seconds */
-  CORE_CYCLE_CONTROL_SECONDS      = 2   /**< Seconds       */
-} CORE_Cycle_Control_Cycle_Time_Units;
+  CORE_CYCLE_CONTROL_MILLISECONDS = 0,  /**< Milli-Seconds */
+  CORE_CYCLE_CONTROL_SECONDS      = 1   /**< Seconds       */
+} ADMW_CORE_Cycle_Control_Cycle_Time_Units;
 
 
 /* ==========================================================================
- *! \struct CORE_Cycle_Control_Struct
+ *! \struct ADMW_CORE_Cycle_Control_Struct
  *! \brief  Measurement Cycle Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Cycle_Control_t {
+typedef struct _ADMW_CORE_Cycle_Control_t {
   union {
     struct {
       uint16_t Cycle_Time : 12;  /**< Duration of a Full Measurement Cycle */
-      uint16_t reserved12       :  2;
+      uint16_t Cycle_Type :  1;  /**< Type of Measurement Cycle */
+      uint16_t Vbias      :  1;  /**< Voltage Bias Global Enable */
       uint16_t Cycle_Time_Units :  2;  /**< Units for Cycle Time */
     };
     uint16_t VALUE16;
   };
-} CORE_Cycle_Control_t;
-
-/*@}*/
-
-/** @defgroup Fifo_Num_Cycles Number of Measurement Cycles to Store in FIFO (Fifo_Num_Cycles) Register
- *  Number of Measurement Cycles to Store in FIFO (Fifo_Num_Cycles) Register.
- *  @{
- */
-
-/* ==========================================================================
- *! \struct CORE_Fifo_Num_Cycles_Struct
- *! \brief  Number of Measurement Cycles to Store in FIFO Register bit field structure
- * ========================================================================== */
-typedef struct CORE_Fifo_Num_Cycles_t {
-  union {
-    struct {
-      uint8_t Fifo_Num_Cycles :  8;  /**< How Many Cycles to Fill FIFO */
-    };
-    uint8_t VALUE8;
-  };
-} CORE_Fifo_Num_Cycles_t;
-
-/*@}*/
-
-/** @defgroup Multi_Cycle_Repeat_Interval Time Between Repeats of Multi-Cycle Conversions.... (Multi_Cycle_Repeat_Interval) Register
- *  Time Between Repeats of Multi-Cycle Conversions.... (Multi_Cycle_Repeat_Interval) Register.
- *  @{
- */
-
-/* ==========================================================================
- *! \struct CORE_Multi_Cycle_Repeat_Interval_Struct
- *! \brief  Time Between Repeats of Multi-Cycle Conversions.... Register bit field structure
- * ========================================================================== */
-typedef struct CORE_Multi_Cycle_Repeat_Interval_t {
-  union {
-    struct {
-      uint32_t Multi_Cycle_Repeat_Interval : 24;  /**< Defines Time Between Repetitions of Measurement Cycles. */
-      uint32_t reserved24                  :  8;
-    };
-    uint32_t VALUE32;
-  };
-} CORE_Multi_Cycle_Repeat_Interval_t;
+} ADMW_CORE_Cycle_Control_t;
 
 /*@}*/
 
@@ -634,10 +612,10 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Status_Struct
+ *! \struct ADMW_CORE_Status_Struct
  *! \brief  General Status Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Status_t {
+typedef struct _ADMW_CORE_Status_t {
   union {
     struct {
       uint8_t reserved0    :  1;
@@ -650,7 +628,7 @@
     };
     uint8_t VALUE8;
   };
-} CORE_Status_t;
+} ADMW_CORE_Status_t;
 
 /*@}*/
 
@@ -660,10 +638,10 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Diagnostics_Status_Struct
+ *! \struct ADMW_CORE_Diagnostics_Status_Struct
  *! \brief  Diagnostics Status Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Diagnostics_Status_t {
+typedef struct _ADMW_CORE_Diagnostics_Status_t {
   union {
     struct {
       uint16_t Diag_Checksum_Error :  1;  /**< Indicates Error on Internal Checksum Calculations */
@@ -678,7 +656,7 @@
     };
     uint16_t VALUE16;
   };
-} CORE_Diagnostics_Status_t;
+} ADMW_CORE_Diagnostics_Status_t;
 
 /*@}*/
 
@@ -688,10 +666,10 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Channel_Alert_Status_Struct
+ *! \struct ADMW_CORE_Channel_Alert_Status_Struct
  *! \brief  Alert Status Summary Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Channel_Alert_Status_t {
+typedef struct _ADMW_CORE_Channel_Alert_Status_t {
   union {
     struct {
       uint16_t Alert_Ch0  :  1;  /**< Indicates Channel Alert is Active */
@@ -710,7 +688,7 @@
     };
     uint16_t VALUE16;
   };
-} CORE_Channel_Alert_Status_t;
+} ADMW_CORE_Channel_Alert_Status_t;
 
 /*@}*/
 
@@ -720,10 +698,10 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Alert_Status_2_Struct
+ *! \struct ADMW_CORE_Alert_Status_2_Struct
  *! \brief  Additional Alert Status Information Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Alert_Status_2_t {
+typedef struct _ADMW_CORE_Alert_Status_2_t {
   union {
     struct {
       uint16_t reserved0  :  1;
@@ -733,7 +711,7 @@
     };
     uint16_t VALUE16;
   };
-} CORE_Alert_Status_2_t;
+} ADMW_CORE_Alert_Status_2_t;
 
 /*@}*/
 
@@ -743,10 +721,10 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Alert_Detail_Ch_Struct
+ *! \struct ADMW_CORE_Alert_Detail_Ch_Struct
  *! \brief  Detailed Error Information Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Alert_Detail_Ch_t {
+typedef struct _ADMW_CORE_Alert_Detail_Ch_t {
   union {
     struct {
       uint16_t Time_Out   :  1;  /**< Indicates Time-Out Error from Digital Sensor */
@@ -768,7 +746,7 @@
     };
     uint16_t VALUE16;
   };
-} CORE_Alert_Detail_Ch_t;
+} ADMW_CORE_Alert_Detail_Ch_t;
 
 /*@}*/
 
@@ -778,17 +756,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Error_Code_Struct
+ *! \struct ADMW_CORE_Error_Code_Struct
  *! \brief  Code Indicating Source of Error Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Error_Code_t {
+typedef struct _ADMW_CORE_Error_Code_t {
   union {
     struct {
       uint16_t Error_Code : 16;  /**< Code Indicating Type of Error */
     };
     uint16_t VALUE16;
   };
-} CORE_Error_Code_t;
+} ADMW_CORE_Error_Code_t;
 
 /*@}*/
 
@@ -798,17 +776,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Alert_Code_Struct
+ *! \struct ADMW_CORE_Alert_Code_Struct
  *! \brief  Code Indicating Source of Alert Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Alert_Code_t {
+typedef struct _ADMW_CORE_Alert_Code_t {
   union {
     struct {
       uint16_t Alert_Code : 16;  /**< Code Indicating Type of Alert */
     };
     uint16_t VALUE16;
   };
-} CORE_Alert_Code_t;
+} ADMW_CORE_Alert_Code_t;
 
 /*@}*/
 
@@ -818,17 +796,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_External_Reference_Resistor_Struct
+ *! \struct ADMW_CORE_External_Reference_Resistor_Struct
  *! \brief  External Reference Information Register bit field structure
  * ========================================================================== */
-typedef struct CORE_External_Reference_Resistor_t {
+typedef struct _ADMW_CORE_External_Reference_Resistor_t {
   union {
     struct {
       float Ext_Refin1_Value;  /**< Refin1 Value */
     };
     float VALUE32;
   };
-} CORE_External_Reference_Resistor_t;
+} ADMW_CORE_External_Reference_Resistor_t;
 
 /*@}*/
 
@@ -838,17 +816,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_External_Voltage_Reference_Struct
+ *! \struct ADMW_CORE_External_Voltage_Reference_Struct
  *! \brief  External Reference Information Register bit field structure
  * ========================================================================== */
-typedef struct CORE_External_Voltage_Reference_t {
+typedef struct _ADMW_CORE_External_Voltage_Reference_t {
   union {
     struct {
       float Ext_Refin2_Value;  /**< Refin2 Value */
     };
     float VALUE32;
   };
-} CORE_External_Voltage_Reference_t;
+} ADMW_CORE_External_Voltage_Reference_t;
 
 /*@}*/
 
@@ -858,7 +836,7 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_Diagnostics_Control_Diag_OSD_Freq
+ *! \enum   ADMW_CORE_Diagnostics_Control_Diag_OSD_Freq
  *! \brief  Diagnostics Open Sensor Detect Frequency (Diag_OSD_Freq) Enumerations
  *  ========================================================================= */
 typedef enum
@@ -867,14 +845,14 @@
   CORE_DIAGNOSTICS_CONTROL_OCD_PER_1_CYCLE     = 1,  /**< Open-Circuit Detection Performed Once Per Measurement Cycle           */
   CORE_DIAGNOSTICS_CONTROL_OCD_PER_100_CYCLES  = 2,  /**< Open-Circuit Detection Performed Once Per Hundred Measurement Cycles  */
   CORE_DIAGNOSTICS_CONTROL_OCD_PER_1000_CYCLES = 3   /**< Open-Circuit Detection Performed Once Per Thousand Measurement Cycles */
-} CORE_Diagnostics_Control_Diag_OSD_Freq;
+} ADMW_CORE_Diagnostics_Control_Diag_OSD_Freq;
 
 
 /* ==========================================================================
- *! \struct CORE_Diagnostics_Control_Struct
+ *! \struct ADMW_CORE_Diagnostics_Control_Struct
  *! \brief  Diagnostic Control Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Diagnostics_Control_t {
+typedef struct _ADMW_CORE_Diagnostics_Control_t {
   union {
     struct {
       uint16_t Diag_Global_En :  1;  /**< Diagnostics Global Enable */
@@ -884,7 +862,7 @@
     };
     uint16_t VALUE16;
   };
-} CORE_Diagnostics_Control_t;
+} ADMW_CORE_Diagnostics_Control_t;
 
 /*@}*/
 
@@ -894,17 +872,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Data_FIFO_Struct
+ *! \struct ADMW_CORE_Data_FIFO_Struct
  *! \brief  FIFO Buffer of Sensor Results Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Data_FIFO_t {
+typedef struct _ADMW_CORE_Data_FIFO_t {
   union {
     struct {
       uint8_t Data_Fifo  :  8;  /**< Fifo Buffer of Sensor Results */
     };
     uint8_t VALUE8;
   };
-} CORE_Data_FIFO_t;
+} ADMW_CORE_Data_FIFO_t;
 
 /*@}*/
 
@@ -914,17 +892,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Debug_Code_Struct
+ *! \struct ADMW_CORE_Debug_Code_Struct
  *! \brief  Additional Information on Source of Alert or Errors Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Debug_Code_t {
+typedef struct _ADMW_CORE_Debug_Code_t {
   union {
     struct {
       uint32_t Debug_Code : 32;  /**< Additional Information on Source of Alert or Errors */
     };
     uint32_t VALUE32;
   };
-} CORE_Debug_Code_t;
+} ADMW_CORE_Debug_Code_t;
 
 /*@}*/
 
@@ -934,17 +912,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Advanced_Sensor_Access_Struct
+ *! \struct ADMW_CORE_Advanced_Sensor_Access_Struct
  *! \brief  Enables Access to Advanced Sensor Configuration Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Advanced_Sensor_Access_t {
+typedef struct _ADMW_CORE_Advanced_Sensor_Access_t {
   union {
     struct {
       uint16_t Advanced_Sensor_Access : 16;  /**< Write Specific Key Value to Access Advanced Sensors */
     };
     uint16_t VALUE16;
   };
-} CORE_Advanced_Sensor_Access_t;
+} ADMW_CORE_Advanced_Sensor_Access_t;
 
 /*@}*/
 
@@ -954,21 +932,21 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_LUT_Select_LUT_RW
+ *! \enum   ADMW_CORE_LUT_Select_LUT_RW
  *! \brief  Read or Write LUT Data (LUT_RW) Enumerations
  *  ========================================================================= */
 typedef enum
 {
   CORE_LUT_SELECT_LUT_READ  = 0,  /**< Read Addressed LUT Data  */
   CORE_LUT_SELECT_LUT_WRITE = 1   /**< Write Addressed LUT Data */
-} CORE_LUT_Select_LUT_RW;
+} ADMW_CORE_LUT_Select_LUT_RW;
 
 
 /* ==========================================================================
- *! \struct CORE_LUT_Select_Struct
+ *! \struct ADMW_CORE_LUT_Select_Struct
  *! \brief  Read/Write Strobe Register bit field structure
  * ========================================================================== */
-typedef struct CORE_LUT_Select_t {
+typedef struct _ADMW_CORE_LUT_Select_t {
   union {
     struct {
       uint8_t reserved0  :  7;
@@ -976,7 +954,7 @@
     };
     uint8_t VALUE8;
   };
-} CORE_LUT_Select_t;
+} ADMW_CORE_LUT_Select_t;
 
 /*@}*/
 
@@ -986,10 +964,10 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_LUT_Offset_Struct
+ *! \struct ADMW_CORE_LUT_Offset_Struct
  *! \brief  Offset into Selected LUT Register bit field structure
  * ========================================================================== */
-typedef struct CORE_LUT_Offset_t {
+typedef struct _ADMW_CORE_LUT_Offset_t {
   union {
     struct {
       uint16_t LUT_Offset : 14;  /**< Offset into Look-Up-Table */
@@ -997,7 +975,7 @@
     };
     uint16_t VALUE16;
   };
-} CORE_LUT_Offset_t;
+} ADMW_CORE_LUT_Offset_t;
 
 /*@}*/
 
@@ -1007,17 +985,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_LUT_Data_Struct
+ *! \struct ADMW_CORE_LUT_Data_Struct
  *! \brief  Data to Read/Write from Addressed LUT Entry Register bit field structure
  * ========================================================================== */
-typedef struct CORE_LUT_Data_t {
+typedef struct _ADMW_CORE_LUT_Data_t {
   union {
     struct {
       uint8_t LUT_Data   :  8;  /**< Data Byte to Write to / Read from Look-Up-Table */
     };
     uint8_t VALUE8;
   };
-} CORE_LUT_Data_t;
+} ADMW_CORE_LUT_Data_t;
 
 /*@}*/
 
@@ -1027,10 +1005,10 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Revision_Struct
+ *! \struct ADMW_CORE_Revision_Struct
  *! \brief  Hardware, Firmware Revision Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Revision_t {
+typedef struct _ADMW_CORE_Revision_t {
   union {
     struct {
       uint32_t Rev_Patch  : 16;  /**< Patch Revision Information */
@@ -1039,7 +1017,7 @@
     };
     uint32_t VALUE32;
   };
-} CORE_Revision_t;
+} ADMW_CORE_Revision_t;
 
 /*@}*/
 
@@ -1049,10 +1027,10 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Channel_Count_Struct
+ *! \struct ADMW_CORE_Channel_Count_Struct
  *! \brief  Number of Channel Occurrences per Measurement Cycle Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Channel_Count_t {
+typedef struct _ADMW_CORE_Channel_Count_t {
   union {
     struct {
       uint8_t Channel_Count :  7;  /**< How Many Times Channel Should Appear in One Cycle */
@@ -1060,7 +1038,7 @@
     };
     uint8_t VALUE8;
   };
-} CORE_Channel_Count_t;
+} ADMW_CORE_Channel_Count_t;
 
 /*@}*/
 
@@ -1070,10 +1048,10 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Channel_Options_Struct
+ *! \struct ADMW_CORE_Channel_Options_Struct
  *! \brief  Position of Channel Within Sequence and Enable for FFT Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Channel_Options_t {
+typedef struct _ADMW_CORE_Channel_Options_t {
   union {
     struct {
       uint8_t Channel_Priority :  4;  /**< Indicates Priority or Position of This Channel in Sequence */
@@ -1081,7 +1059,7 @@
     };
     uint8_t VALUE8;
   };
-} CORE_Channel_Options_t;
+} ADMW_CORE_Channel_Options_t;
 
 /*@}*/
 
@@ -1091,7 +1069,7 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_Sensor_Type_Sensor_Type
+ *! \enum   ADMW_CORE_Sensor_Type_Sensor_Type
  *! \brief  Sensor Type (Sensor_Type) Enumerations
  *  ========================================================================= */
 typedef enum
@@ -1125,14 +1103,14 @@
   CORE_SENSOR_TYPE_SPI_ACCELEROMETER_A = 3200,  /**< SPI Accelerometer Sensor A 3-Axis Defined Level 1 */
   CORE_SENSOR_TYPE_SPI_ACCELEROMETER_B = 3201,  /**< SPI Accelerometer Sensor B 3-Axis Defined Level 1 */
   CORE_SENSOR_TYPE_CO2_A_DEF           = 3584   /**< CO2 Sensor A Defined Level 1                      */
-} CORE_Sensor_Type_Sensor_Type;
+} ADMW_CORE_Sensor_Type_Sensor_Type;
 
 
 /* ==========================================================================
- *! \struct CORE_Sensor_Type_Struct
+ *! \struct ADMW_CORE_Sensor_Type_Struct
  *! \brief  Sensor Select Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Sensor_Type_t {
+typedef struct _ADMW_CORE_Sensor_Type_t {
   union {
     struct {
       uint16_t Sensor_Type : 12;  /**< Sensor Type */
@@ -1140,7 +1118,7 @@
     };
     uint16_t VALUE16;
   };
-} CORE_Sensor_Type_t;
+} ADMW_CORE_Sensor_Type_t;
 
 /*@}*/
 
@@ -1150,7 +1128,7 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_Sensor_Details_Measurement_Units
+ *! \enum   ADMW_CORE_Sensor_Details_Measurement_Units
  *! \brief  Units of Sensor Measurement (Measurement_Units) Enumerations
  *  ========================================================================= */
 typedef enum
@@ -1159,7 +1137,8 @@
   CORE_SENSOR_DETAILS_UNITS_RESERVED    = 1,  /**< Reserved      */
   CORE_SENSOR_DETAILS_UNITS_DEGC        = 2,  /**< Degrees C     */
   CORE_SENSOR_DETAILS_UNITS_DEGF        = 3   /**< Degrees F     */
-} CORE_Sensor_Details_Measurement_Units;
+} ADMW_CORE_Sensor_Details_Measurement_Units;
+
 
 /*  =========================================================================
  *! \enum   ADMW_CORE_Sensor_Details_LUT_Select
@@ -1171,27 +1150,25 @@
   CORE_SENSOR_DETAILS_LUT_UNITY    = 1,  /**< Unity Lookup Table. 1:1 Mapping From Input to Output */
   CORE_SENSOR_DETAILS_LUT_CUSTOM   = 2,  /**< User Defined Custom Lookup Table.                    */
   CORE_SENSOR_DETAILS_LUT_RESERVED = 3   /**< Reserved                                             */
-} CORE_Sensor_Details_LUT_Select;
+} ADMW_CORE_Sensor_Details_LUT_Select;
 
 
 /*  =========================================================================
-
-/*  =========================================================================
- *! \enum   CORE_Sensor_Details_Reference_Select
+ *! \enum   ADMW_CORE_Sensor_Details_Reference_Select
  *! \brief  Reference Selection (Reference_Select) Enumerations
  *  ========================================================================= */
 typedef enum
 {
-  CORE_SENSOR_DETAILS_REF_INT   = 0,  /**< Internal Reference                             */
-  CORE_SENSOR_DETAILS_REF_AVDD  = 1,  /**< AVDD                                           */
-  CORE_SENSOR_DETAILS_REF_VEXT1 = 2,  /**< External Voltage on Refin1                     */
-  CORE_SENSOR_DETAILS_REF_REXT1 = 6,  /**< External Resistor on RSENSE+ and RSENSE-       */
-  CORE_SENSOR_DETAILS_REF_EXC   = 8   /**< Bridge Excitation Voltage from VREF+ and VREF- */
-} CORE_Sensor_Details_Reference_Select;
+  CORE_SENSOR_DETAILS_REF_VINT      = 0,  /**< Internal voltage reference (1.2V)                                  */
+  CORE_SENSOR_DETAILS_REF_VEXT1     = 1,  /**< External Voltage reference applied to VERF+ and VREF-              */
+  CORE_SENSOR_DETAILS_REF_VRESERVED = 2,  /**< ExReserved for future use.                                         */
+  CORE_SENSOR_DETAILS_REF_AVDD      = 3,  /**< AVDD Supply Used as Excitation and Internally applied as Reference */
+  CORE_SENSOR_DETAILS_REF_NUM             /**< Number of reference options. */  
+} ADMW_CORE_Sensor_Details_Reference_Select;
 
 
 /*  =========================================================================
- *! \enum   CORE_Sensor_Details_PGA_Gain
+ *! \enum   ADMW_CORE_Sensor_Details_PGA_Gain
  *! \brief  PGA Gain (PGA_Gain) Enumerations
  *  ========================================================================= */
 typedef enum
@@ -1204,11 +1181,11 @@
   CORE_SENSOR_DETAILS_PGA_GAIN_32  = 5,  /**< Gain of 32  */
   CORE_SENSOR_DETAILS_PGA_GAIN_64  = 6,  /**< Gain of 64  */
   CORE_SENSOR_DETAILS_PGA_GAIN_128 = 7   /**< Gain of 128 */
-} CORE_Sensor_Details_PGA_Gain;
+} ADMW_CORE_Sensor_Details_PGA_Gain;
 
 
 /*  =========================================================================
- *! \enum   CORE_Sensor_Details_RTD_Curve
+ *! \enum   ADMW_CORE_Sensor_Details_RTD_Curve
  *! \brief  Select RTD Curve for Linearisation (RTD_Curve) Enumerations
  *  ========================================================================= */
 typedef enum
@@ -1217,23 +1194,22 @@
   CORE_SENSOR_DETAILS_AMERICAN_CURVE = 1,  /**< American Curve */
   CORE_SENSOR_DETAILS_JAPANESE_CURVE = 2,  /**< Japanese Curve */
   CORE_SENSOR_DETAILS_ITS90_CURVE    = 3   /**< ITS-90 Curve   */
-} CORE_Sensor_Details_RTD_Curve;
+} ADMW_CORE_Sensor_Details_RTD_Curve;
 
 
 /* ==========================================================================
- *! \struct CORE_Sensor_Details_Struct
+ *! \struct ADMW_CORE_Sensor_Details_Struct
  *! \brief  Sensor Details Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Sensor_Details_t {
+typedef struct _ADMW_CORE_Sensor_Details_t {
   union {
     struct {
       uint32_t Measurement_Units :  4;  /**< Units of Sensor Measurement */
       uint32_t Compensation_Channel :  4;  /**< Indicates Which Channel is Used to Compensate Sensor Result */
-      uint32_t reserved8            :  8;
-      uint32_t Unity_LUT_Select     :  1;  /**< Selects Unity Transfer Function Instead of Sensor Default */
+      uint32_t reserved8            :  7;
+      uint32_t LUT_Select           :  2;  /**< Lookup Table Select */
       uint32_t Do_Not_Publish       :  1;  /**< Do Not Publish Channel Result */
-      uint32_t reserved18           :  1;
-      uint32_t Vbias                :  1;  /**< Controls ADC Vbias Output */
+      uint32_t reserved18           :  2;
       uint32_t Reference_Select     :  4;  /**< Reference Selection */
       uint32_t PGA_Gain             :  3;  /**< PGA Gain */
       uint32_t RTD_Curve            :  2;  /**< Select RTD Curve for Linearisation */
@@ -1242,7 +1218,7 @@
     };
     uint32_t VALUE32;
   };
-} CORE_Sensor_Details_t;
+} ADMW_CORE_Sensor_Details_t;
 
 /*@}*/
 
@@ -1252,25 +1228,25 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_Channel_Excitation_IOUT_Excitation_Current
+ *! \enum   ADMW_CORE_Channel_Excitation_IOUT_Excitation_Current
  *! \brief  Current Source Value (IOUT_Excitation_Current) Enumerations
  *  ========================================================================= */
 typedef enum
 {
-  CORE_CHANNEL_EXCITATION_EXTERNAL   = 0,  /**< External Current Sourced */
-  CORE_CHANNEL_EXCITATION_RESERVED   = 1,  /**< Reserved                 */
-  CORE_CHANNEL_EXCITATION_IEXC_10UA  = 2,  /**< 10 \mu;A                 */
-  CORE_CHANNEL_EXCITATION_RESERVED2  = 3,  /**< Reserved                 */
-  CORE_CHANNEL_EXCITATION_IEXC_50UA  = 4,  /**< 50 \mu;A                 */
-  CORE_CHANNEL_EXCITATION_IEXC_100UA = 5,  /**< 100 \mu;A                */
-  CORE_CHANNEL_EXCITATION_IEXC_250UA = 6,  /**< 250 \mu;A                */
-  CORE_CHANNEL_EXCITATION_IEXC_500UA = 7,  /**< 500 \mu;A                */
-  CORE_CHANNEL_EXCITATION_IEXC_1000UA = 8   /**< 1000 \mu;A                */
-} CORE_Channel_Excitation_IOUT_Excitation_Current;
+  CORE_CHANNEL_EXCITATION_EXTERNAL    = 0,  /**< External Current Sourced */
+  CORE_CHANNEL_EXCITATION_RESERVED    = 1,  /**< Reserved                 */
+  CORE_CHANNEL_EXCITATION_IEXC_10UA   = 2,  /**< 10 \mu;A                 */
+  CORE_CHANNEL_EXCITATION_RESERVED2   = 3,  /**< Reserved                 */
+  CORE_CHANNEL_EXCITATION_IEXC_50UA   = 4,  /**< 50 \mu;A                 */
+  CORE_CHANNEL_EXCITATION_IEXC_100UA  = 5,  /**< 100 \mu;A                */
+  CORE_CHANNEL_EXCITATION_IEXC_250UA  = 6,  /**< 250 \mu;A                */
+  CORE_CHANNEL_EXCITATION_IEXC_500UA  = 7,  /**< 500 \mu;A                */
+  CORE_CHANNEL_EXCITATION_IEXC_1000UA = 8   /**< 1000 \mu;A               */
+} ADMW_CORE_Channel_Excitation_IOUT_Excitation_Current;
 
 
 /*  =========================================================================
- *! \enum   CORE_Channel_Excitation_IOUT_Diode_Ratio
+ *! \enum   ADMW_CORE_Channel_Excitation_IOUT_Diode_Ratio
  *! \brief  Modify Current Ratios Used for Diode Sensor (IOUT_Diode_Ratio) Enumerations
  *  ========================================================================= */
 typedef enum
@@ -1283,14 +1259,14 @@
   CORE_CHANNEL_EXCITATION_DIODE_3PT_20UA_100UA_160UA  = 5,  /**< 3 current measuremet 20uA 100uA 160uA  */
   CORE_CHANNEL_EXCITATION_DIODE_3PT_50UA_150UA_300UA  = 6,  /**< 3 current measuremet 50uA 150uA 300uA  */
   CORE_CHANNEL_EXCITATION_DIODE_3PT_100UA_300UA_600UA = 7   /**< 3 current measuremet 100uA 300uA 600uA */
-} CORE_Channel_Excitation_IOUT_Diode_Ratio;
+} ADMW_CORE_Channel_Excitation_IOUT_Diode_Ratio;
 
 
 /* ==========================================================================
- *! \struct CORE_Channel_Excitation_Struct
+ *! \struct ADMW_CORE_Channel_Excitation_Struct
  *! \brief  Excitation Current Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Channel_Excitation_t {
+typedef struct _ADMW_CORE_Channel_Excitation_t {
   union {
     struct {
       uint16_t IOUT_Excitation_Current :  4;  /**< Current Source Value */
@@ -1300,7 +1276,7 @@
     };
     uint16_t VALUE16;
   };
-} CORE_Channel_Excitation_t;
+} ADMW_CORE_Channel_Excitation_t;
 
 /*@}*/
 
@@ -1310,7 +1286,7 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_Settling_Time_Settling_Time_Units
+ *! \enum   ADMW_CORE_Settling_Time_Settling_Time_Units
  *! \brief  Units for Settling Time (Settling_Time_Units) Enumerations
  *  ========================================================================= */
 typedef enum
@@ -1318,14 +1294,14 @@
   CORE_SETTLING_TIME_MICROSECONDS = 0,  /**< Micro-Seconds */
   CORE_SETTLING_TIME_MILLISECONDS = 1,  /**< Milli-Seconds */
   CORE_SETTLING_TIME_SECONDS      = 2   /**< Seconds       */
-} CORE_Settling_Time_Settling_Time_Units;
+} ADMW_CORE_Settling_Time_Settling_Time_Units;
 
 
 /* ==========================================================================
- *! \struct CORE_Settling_Time_Struct
+ *! \struct ADMW_CORE_Settling_Time_Struct
  *! \brief  Settling Time Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Settling_Time_t {
+typedef struct _ADMW_CORE_Settling_Time_t {
   union {
     struct {
       uint16_t Settling_Time : 14;  /**< Settling Time to Allow When Switching to Channel */
@@ -1333,7 +1309,7 @@
     };
     uint16_t VALUE16;
   };
-} CORE_Settling_Time_t;
+} ADMW_CORE_Settling_Time_t;
 
 /*@}*/
 
@@ -1343,65 +1319,89 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_Measurement_Setup_Custom_Calibration
+ *! \enum   ADMW_CORE_Measurement_Setup_Custom_Calibration
  *! \brief  Enables Custom Calibration for Selected Sensor (Custom_Calibration) Enumerations
  *  ========================================================================= */
 typedef enum
 {
   CORE_MEASUREMENT_SETUP_INTERNAL_CALIBRATION = 0,  /**<  */
   CORE_MEASUREMENT_SETUP_CUSTOM_CALIBRATION   = 1   /**<  */
-} CORE_Measurement_Setup_Custom_Calibration;
+} ADMW_CORE_Measurement_Setup_Custom_Calibration;
 
 
 /*  =========================================================================
- *! \enum   CORE_Measurement_Setup_NOTCH_EN_2
+ *! \enum   ADMW_CORE_Measurement_Setup_NOTCH_EN_2
  *! \brief  Enable Notch 2 Filter Mode (NOTCH_EN_2) Enumerations
  *  ========================================================================= */
 typedef enum
 {
   CORE_MEASUREMENT_SETUP_NOTCH_DIS = 0,  /**< Disable Notch Filter                                                                                                     */
   CORE_MEASUREMENT_SETUP_NOTCH_EN  = 1   /**< Enable Notch 2 Filter option. Places a addtional notch at 1.2X ODR. Can be used for 50 and 60Hz rejection simultaneously */
-} CORE_Measurement_Setup_NOTCH_EN_2;
+} ADMW_CORE_Measurement_Setup_NOTCH_EN_2;
 
 
 /*  =========================================================================
- *! \enum   CORE_Measurement_Setup_Chop_Mode
+ *! \enum   ADMW_CORE_Measurement_Setup_PST_MEAS_EXC_CTRL
+ *! \brief  Disabled Current Sources After Measurement Has Been Complete (PST_MEAS_EXC_CTRL) Enumerations
+ *  ========================================================================= */
+typedef enum
+{
+  CORE_MEASUREMENT_SETUP_POWERCYCLE = 0,  /**<  */
+  CORE_MEASUREMENT_SETUP_ALWAYSON   = 1   /**<  */
+} ADMW_CORE_Measurement_Setup_PST_MEAS_EXC_CTRL;
+
+
+/*  =========================================================================
+ *! \enum   ADMW_CORE_Measurement_Setup_Chop_Mode
  *! \brief  Enabled and Disable Chop Mode (Chop_Mode) Enumerations
  *  ========================================================================= */
 typedef enum
 {
   CORE_MEASUREMENT_SETUP_DISABLE_CHOP = 0,  /**< Chop Mode Disabled */
-  CORE_MEASUREMENT_SETUP_ENABLE_CHOP  = 2   /**< Chop Mode Enabled  */
-} CORE_Measurement_Setup_Chop_Mode;
+  CORE_MEASUREMENT_SETUP_HW_CHOP      = 1,  /**< Chop Mode Enabled  */
+  CORE_MEASUREMENT_SETUP_ENABLE_CHOP  = 2,  /**< Chop Mode Enabled  */
+  CORE_MEASUREMENT_SETUP_HW_SW_CHOP   = 3   /**< Chop Mode Enabled  */
+} ADMW_CORE_Measurement_Setup_Chop_Mode;
 
 
 /*  =========================================================================
- *! \enum   CORE_Measurement_Setup_ADC_Filter_Type
+ *! \enum   ADMW_CORE_Measurement_Setup_ADC_Filter_Type
  *! \brief  ADC Digital Filter Type (ADC_Filter_Type) Enumerations
  *  ========================================================================= */
 typedef enum
 {
   CORE_MEASUREMENT_SETUP_ENABLE_SINC4 = 0,  /**< Enabled SINC4 Filter */
   CORE_MEASUREMENT_SETUP_ENABLE_SINC3 = 1   /**< Enabled SINC3 Filter */
-} CORE_Measurement_Setup_ADC_Filter_Type;
+} ADMW_CORE_Measurement_Setup_ADC_Filter_Type;
 
 
 /*  =========================================================================
- *! \enum   CORE_Measurement_Setup_GND_SW
+ *! \enum   ADMW_CORE_Measurement_Setup_GND_SW
  *! \brief  GND_SW (GND_SW) Enumerations
  *  ========================================================================= */
 typedef enum
 {
   CORE_MEASUREMENT_SETUP_GND_SW_OPEN   = 0,  /**< GND_SW Open. The GND SW is not enabled for the sensor measurement                                             */
   CORE_MEASUREMENT_SETUP_GND_SW_CLOSED = 1   /**< GND_SW Closed. The GND SW is enabled for the sensor measurement, bit wiil Remain Closed After the Measurement */
-} CORE_Measurement_Setup_GND_SW;
+} ADMW_CORE_Measurement_Setup_GND_SW;
+
+
+/*  =========================================================================
+ *! \enum   ADMW_CORE_Measurement_Setup_Buffer_Bypass
+ *! \brief  Disable Buffers (Buffer_Bypass) Enumerations
+ *  ========================================================================= */
+typedef enum
+{
+  CORE_MEASUREMENT_SETUP_BUFFERS_ENABLED  = 0,  /**<  */
+  CORE_MEASUREMENT_SETUP_BUFFERS_DISABLED = 1   /**<  */
+} ADMW_CORE_Measurement_Setup_Buffer_Bypass;
 
 
 /* ==========================================================================
- *! \struct CORE_Measurement_Setup_Struct
+ *! \struct ADMW_CORE_Measurement_Setup_Struct
  *! \brief  ADC Digital Filter Selection Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Measurement_Setup_t {
+typedef struct _ADMW_CORE_Measurement_Setup_t {
   union {
     struct {
       uint32_t ADC_SF     :  7;  /**< ADC Digital Filter Select */
@@ -1411,11 +1411,12 @@
       uint32_t Chop_Mode          :  2;  /**< Enabled and Disable Chop Mode */
       uint32_t ADC_Filter_Type    :  1;  /**< ADC Digital Filter Type */
       uint32_t GND_SW             :  2;  /**< GND_SW */
-      uint32_t reserved15         : 17;
+      uint32_t Buffer_Bypass      :  1;  /**< Disable Buffers */
+      uint32_t reserved16         : 16;
     };
     uint32_t VALUE32;
   };
-} CORE_Measurement_Setup_t;
+} ADMW_CORE_Measurement_Setup_t;
 
 /*@}*/
 
@@ -1425,17 +1426,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_High_Threshold_Limit_Struct
+ *! \struct ADMW_CORE_High_Threshold_Limit_Struct
  *! \brief  High Threshold Register bit field structure
  * ========================================================================== */
-typedef struct CORE_High_Threshold_Limit_t {
+typedef struct _ADMW_CORE_High_Threshold_Limit_t {
   union {
     struct {
       float High_Threshold;  /**< Upper Limit for Sensor Alert Comparison */
     };
     float VALUE32;
   };
-} CORE_High_Threshold_Limit_t;
+} ADMW_CORE_High_Threshold_Limit_t;
 
 /*@}*/
 
@@ -1445,17 +1446,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Low_Threshold_Limit_Struct
+ *! \struct ADMW_CORE_Low_Threshold_Limit_Struct
  *! \brief  Low Threshold Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Low_Threshold_Limit_t {
+typedef struct _ADMW_CORE_Low_Threshold_Limit_t {
   union {
     struct {
       float Low_Threshold;  /**< Lower Limit for Sensor Alert Comparison */
     };
     float VALUE32;
   };
-} CORE_Low_Threshold_Limit_t;
+} ADMW_CORE_Low_Threshold_Limit_t;
 
 /*@}*/
 
@@ -1465,17 +1466,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Sensor_Offset_Struct
+ *! \struct ADMW_CORE_Sensor_Offset_Struct
  *! \brief  Sensor Offset Adjustment Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Sensor_Offset_t {
+typedef struct _ADMW_CORE_Sensor_Offset_t {
   union {
     struct {
       float Sensor_Offset;  /**< Sensor Offset Adjustment */
     };
     float VALUE32;
   };
-} CORE_Sensor_Offset_t;
+} ADMW_CORE_Sensor_Offset_t;
 
 /*@}*/
 
@@ -1485,17 +1486,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Sensor_Gain_Struct
+ *! \struct ADMW_CORE_Sensor_Gain_Struct
  *! \brief  Sensor Gain Adjustment Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Sensor_Gain_t {
+typedef struct _ADMW_CORE_Sensor_Gain_t {
   union {
     struct {
       float Sensor_Gain;  /**< Sensor Gain Adjustment */
     };
     float VALUE32;
   };
-} CORE_Sensor_Gain_t;
+} ADMW_CORE_Sensor_Gain_t;
 
 /*@}*/
 
@@ -1505,17 +1506,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Alert_Code_Ch_Struct
+ *! \struct ADMW_CORE_Alert_Code_Ch_Struct
  *! \brief  Per-Channel Detailed Alert-Code Information Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Alert_Code_Ch_t {
+typedef struct _ADMW_CORE_Alert_Code_Ch_t {
   union {
     struct {
       uint16_t Alert_Code_Ch : 16;  /**< Per-Channel Code Indicating Type of Alert */
     };
     uint16_t VALUE16;
   };
-} CORE_Alert_Code_Ch_t;
+} ADMW_CORE_Alert_Code_Ch_t;
 
 /*@}*/
 
@@ -1525,10 +1526,10 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Channel_Skip_Struct
+ *! \struct ADMW_CORE_Channel_Skip_Struct
  *! \brief  Indicates If Channel Will Skip Some Measurement Cycles Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Channel_Skip_t {
+typedef struct _ADMW_CORE_Channel_Skip_t {
   union {
     struct {
       uint16_t Channel_Skip :  8;  /**< Indicates If Channel Will Skip Some Measurement Cycles */
@@ -1536,7 +1537,7 @@
     };
     uint16_t VALUE16;
   };
-} CORE_Channel_Skip_t;
+} ADMW_CORE_Channel_Skip_t;
 
 /*@}*/
 
@@ -1546,17 +1547,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Sensor_Parameter_Struct
+ *! \struct ADMW_CORE_Sensor_Parameter_Struct
  *! \brief  Sensor Parameter Adjustment Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Sensor_Parameter_t {
+typedef struct _ADMW_CORE_Sensor_Parameter_t {
   union {
     struct {
       float Sensor_Parameter;  /**< Sensor Parameter Adjustment */
     };
     float VALUE32;
   };
-} CORE_Sensor_Parameter_t;
+} ADMW_CORE_Sensor_Parameter_t;
 
 /*@}*/
 
@@ -1566,10 +1567,10 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Calibration_Parameter_Struct
+ *! \struct ADMW_CORE_Calibration_Parameter_Struct
  *! \brief  Calibration Parameter Value Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Calibration_Parameter_t {
+typedef struct _ADMW_CORE_Calibration_Parameter_t {
   union {
     struct {
       uint32_t Calibration_Parameter : 24;  /**< Calibration Parameter Value */
@@ -1578,7 +1579,7 @@
     };
     uint32_t VALUE32;
   };
-} CORE_Calibration_Parameter_t;
+} ADMW_CORE_Calibration_Parameter_t;
 
 /*@}*/
 
@@ -1588,7 +1589,7 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_Digital_Sensor_Config_Digital_Sensor_Coding
+ *! \enum   ADMW_CORE_Digital_Sensor_Config_Digital_Sensor_Coding
  *! \brief  Data Encoding of Sensor Result (Digital_Sensor_Coding) Enumerations
  *  ========================================================================= */
 typedef enum
@@ -1597,14 +1598,14 @@
   CORE_DIGITAL_SENSOR_CONFIG_CODING_UNIPOLAR      = 1,  /**< Unipolar        */
   CORE_DIGITAL_SENSOR_CONFIG_CODING_TWOS_COMPL    = 2,  /**< Twos Complement */
   CORE_DIGITAL_SENSOR_CONFIG_CODING_OFFSET_BINARY = 3   /**< Offset Binary   */
-} CORE_Digital_Sensor_Config_Digital_Sensor_Coding;
+} ADMW_CORE_Digital_Sensor_Config_Digital_Sensor_Coding;
 
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Config_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Config_Struct
  *! \brief  Digital Sensor Data Coding Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Config_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Config_t {
   union {
     struct {
       uint16_t Digital_Sensor_Coding :  2;  /**< Data Encoding of Sensor Result */
@@ -1616,7 +1617,7 @@
     };
     uint16_t VALUE16;
   };
-} CORE_Digital_Sensor_Config_t;
+} ADMW_CORE_Digital_Sensor_Config_t;
 
 /*@}*/
 
@@ -1626,17 +1627,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Address_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Address_Struct
  *! \brief  Sensor Address Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Address_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Address_t {
   union {
     struct {
       uint8_t Digital_Sensor_Address :  8;  /**< I2C Address or Write Address Command for SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Address_t;
+} ADMW_CORE_Digital_Sensor_Address_t;
 
 /*@}*/
 
@@ -1646,10 +1647,10 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Num_Cmds_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Num_Cmds_Struct
  *! \brief  Number of Configuration, Read Commands for Digital Sensors Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Num_Cmds_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Num_Cmds_t {
   union {
     struct {
       uint8_t Digital_Sensor_Num_Cfg_Cmds :  3;  /**< Number of Configuration Commands for Digital Sensor */
@@ -1659,7 +1660,7 @@
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Num_Cmds_t;
+} ADMW_CORE_Digital_Sensor_Num_Cmds_t;
 
 /*@}*/
 
@@ -1669,43 +1670,43 @@
  */
 
 /*  =========================================================================
- *! \enum   CORE_Digital_Sensor_Comms_Digital_Sensor_Comms_En
+ *! \enum   ADMW_CORE_Digital_Sensor_Comms_Digital_Sensor_Comms_En
  *! \brief  Enable Digital Sensor Comms Register Parameters (Digital_Sensor_Comms_En) Enumerations
  *  ========================================================================= */
 typedef enum
 {
   CORE_DIGITAL_SENSOR_COMMS_DIGITAL_COMMS_DEFAULT = 0,  /**< Default Parameters Used for Digital Sensor Communications       */
   CORE_DIGITAL_SENSOR_COMMS_DIGITAL_COMMS_USER    = 1   /**< User Supplied Parameters Used for Digital Sensor Communications */
-} CORE_Digital_Sensor_Comms_Digital_Sensor_Comms_En;
+} ADMW_CORE_Digital_Sensor_Comms_Digital_Sensor_Comms_En;
 
 
 /*  =========================================================================
- *! \enum   CORE_Digital_Sensor_Comms_SPI_Clock
+ *! \enum   ADMW_CORE_Digital_Sensor_Comms_SPI_Clock
  *! \brief  Controls Clock Frequency for SPI Sensors (SPI_Clock) Enumerations
  *  ========================================================================= */
 typedef enum
 {
-  CORE_DIGITAL_SENSOR_COMMS_SPI_13MHZ    = 0,   /**< 13 MHz    */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_6_5MHZ   = 1,   /**< 6.5 MHz   */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_3_25MHZ  = 2,   /**< 3.25 MHz  */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_1_625MHZ = 3,   /**< 1.625 MHz */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_812KHZ   = 4,   /**< 812.5kHz  */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_406KHZ   = 5,   /**< 406.2kHz  */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_203KHZ   = 6,   /**< 203.1kHz  */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_101KHZ   = 7,   /**< 101.5kHz  */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_50KHZ    = 8,   /**< 50.8kHz   */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_25KHZ    = 9,   /**< 25.4kHz   */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_12KHZ    = 10,  /**< 12.7kHz   */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_6KHZ     = 11,  /**< 6.3kHz    */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_3KHZ     = 12,  /**< 3.2kHz    */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_1_5KHZ   = 13,  /**< 1.58kHz   */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_793HZ    = 14,  /**< 793Hz     */
-  CORE_DIGITAL_SENSOR_COMMS_SPI_396HZ    = 15   /**< 396Hz     */
-} CORE_Digital_Sensor_Comms_SPI_Clock;
+  CORE_DIGITAL_SENSOR_COMMS_SPI_8MHZ    = 0,   /**< 8MHz      */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_4MHZ    = 1,   /**< 4MHz      */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_2MHZ    = 2,   /**< 2MHz      */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_1MHZ    = 3,   /**< 1MHz      */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_500KHZ  = 4,   /**< 500kHz    */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_250KHZ  = 5,   /**< 250kHz    */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_125KHZ  = 6,   /**< 125kHz    */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_62P5KHZ = 7,   /**< 62.5kHz   */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_31P3KHZ = 8,   /**< 31.25kHz  */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_15P6KHZ = 9,   /**< 15.625kHz */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_7P8KHZ  = 10,  /**< 7.8kHz    */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_3P9KHZ  = 11,  /**< 3.9kHz    */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_1P9KHZ  = 12,  /**< 1.95kHz   */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_977HZ   = 13,  /**< 977Hz     */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_488HZ   = 14,  /**< 488Hz     */
+  CORE_DIGITAL_SENSOR_COMMS_SPI_244HZ   = 15   /**< 244Hz     */
+} ADMW_CORE_Digital_Sensor_Comms_SPI_Clock;
 
 
 /*  =========================================================================
- *! \enum   CORE_Digital_Sensor_Comms_I2C_Clock
+ *! \enum   ADMW_CORE_Digital_Sensor_Comms_I2C_Clock
  *! \brief  Controls SCLK Frequency for I2C Sensors (I2C_Clock) Enumerations
  *  ========================================================================= */
 typedef enum
@@ -1714,11 +1715,11 @@
   CORE_DIGITAL_SENSOR_COMMS_I2C_400K      = 1,  /**< 400kHz SCL */
   CORE_DIGITAL_SENSOR_COMMS_I2C_RESERVED1 = 2,  /**< Reserved   */
   CORE_DIGITAL_SENSOR_COMMS_I2C_RESERVED2 = 3   /**< Reserved   */
-} CORE_Digital_Sensor_Comms_I2C_Clock;
+} ADMW_CORE_Digital_Sensor_Comms_I2C_Clock;
 
 
 /*  =========================================================================
- *! \enum   CORE_Digital_Sensor_Comms_SPI_Mode
+ *! \enum   ADMW_CORE_Digital_Sensor_Comms_SPI_Mode
  *! \brief  Configuration for Sensor SPI Protocol (SPI_Mode) Enumerations
  *  ========================================================================= */
 typedef enum
@@ -1727,14 +1728,14 @@
   CORE_DIGITAL_SENSOR_COMMS_SPI_MODE_1 = 1,  /**< Clock Polarity = 0 Clock Phase = 1 */
   CORE_DIGITAL_SENSOR_COMMS_SPI_MODE_2 = 2,  /**< Clock Polarity = 1 Clock Phase = 0 */
   CORE_DIGITAL_SENSOR_COMMS_SPI_MODE_3 = 3   /**< Clock Polarity = 1 Clock Phase = 1 */
-} CORE_Digital_Sensor_Comms_SPI_Mode;
+} ADMW_CORE_Digital_Sensor_Comms_SPI_Mode;
 
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Comms_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Comms_Struct
  *! \brief  Digital Sensor Communication Clock Configuration Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Comms_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Comms_t {
   union {
     struct {
       uint16_t Digital_Sensor_Comms_En :  1;  /**< Enable Digital Sensor Comms Register Parameters */
@@ -1746,7 +1747,7 @@
     };
     uint16_t VALUE16;
   };
-} CORE_Digital_Sensor_Comms_t;
+} ADMW_CORE_Digital_Sensor_Comms_t;
 
 /*@}*/
 
@@ -1756,17 +1757,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Command1_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Command1_Struct
  *! \brief  Sensor Configuration Command1 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Command1_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Command1_t {
   union {
     struct {
       uint8_t Digital_Sensor_Command1 :  8;  /**< Configuration Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Command1_t;
+} ADMW_CORE_Digital_Sensor_Command1_t;
 
 /*@}*/
 
@@ -1776,17 +1777,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Command2_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Command2_Struct
  *! \brief  Sensor Configuration Command2 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Command2_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Command2_t {
   union {
     struct {
       uint8_t Digital_Sensor_Command2 :  8;  /**< Configuration Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Command2_t;
+} ADMW_CORE_Digital_Sensor_Command2_t;
 
 /*@}*/
 
@@ -1796,17 +1797,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Command3_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Command3_Struct
  *! \brief  Sensor Configuration Command3 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Command3_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Command3_t {
   union {
     struct {
       uint8_t Digital_Sensor_Command3 :  8;  /**< Configuration Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Command3_t;
+} ADMW_CORE_Digital_Sensor_Command3_t;
 
 /*@}*/
 
@@ -1816,17 +1817,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Command4_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Command4_Struct
  *! \brief  Sensor Configuration Command4 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Command4_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Command4_t {
   union {
     struct {
       uint8_t Digital_Sensor_Command4 :  8;  /**< Configuration Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Command4_t;
+} ADMW_CORE_Digital_Sensor_Command4_t;
 
 /*@}*/
 
@@ -1836,17 +1837,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Command5_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Command5_Struct
  *! \brief  Sensor Configuration Command5 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Command5_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Command5_t {
   union {
     struct {
       uint8_t Digital_Sensor_Command5 :  8;  /**< Configuration Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Command5_t;
+} ADMW_CORE_Digital_Sensor_Command5_t;
 
 /*@}*/
 
@@ -1856,17 +1857,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Command6_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Command6_Struct
  *! \brief  Sensor Configuration Command6 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Command6_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Command6_t {
   union {
     struct {
       uint8_t Digital_Sensor_Command6 :  8;  /**< Configuration Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Command6_t;
+} ADMW_CORE_Digital_Sensor_Command6_t;
 
 /*@}*/
 
@@ -1876,17 +1877,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Command7_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Command7_Struct
  *! \brief  Sensor Configuration Command7 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Command7_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Command7_t {
   union {
     struct {
       uint8_t Digital_Sensor_Command7 :  8;  /**< Configuration Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Command7_t;
+} ADMW_CORE_Digital_Sensor_Command7_t;
 
 /*@}*/
 
@@ -1896,17 +1897,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Read_Cmd1_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Read_Cmd1_Struct
  *! \brief  Sensor Read Command1 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Read_Cmd1_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Read_Cmd1_t {
   union {
     struct {
       uint8_t Digital_Sensor_Read_Cmd1 :  8;  /**< Per Conversion Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Read_Cmd1_t;
+} ADMW_CORE_Digital_Sensor_Read_Cmd1_t;
 
 /*@}*/
 
@@ -1916,17 +1917,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Read_Cmd2_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Read_Cmd2_Struct
  *! \brief  Sensor Read Command2 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Read_Cmd2_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Read_Cmd2_t {
   union {
     struct {
       uint8_t Digital_Sensor_Read_Cmd2 :  8;  /**< Per Conversion Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Read_Cmd2_t;
+} ADMW_CORE_Digital_Sensor_Read_Cmd2_t;
 
 /*@}*/
 
@@ -1936,17 +1937,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Read_Cmd3_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Read_Cmd3_Struct
  *! \brief  Sensor Read Command3 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Read_Cmd3_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Read_Cmd3_t {
   union {
     struct {
       uint8_t Digital_Sensor_Read_Cmd3 :  8;  /**< Per Conversion Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Read_Cmd3_t;
+} ADMW_CORE_Digital_Sensor_Read_Cmd3_t;
 
 /*@}*/
 
@@ -1956,17 +1957,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Read_Cmd4_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Read_Cmd4_Struct
  *! \brief  Sensor Read Command4 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Read_Cmd4_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Read_Cmd4_t {
   union {
     struct {
       uint8_t Digital_Sensor_Read_Cmd4 :  8;  /**< Per Conversion Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Read_Cmd4_t;
+} ADMW_CORE_Digital_Sensor_Read_Cmd4_t;
 
 /*@}*/
 
@@ -1976,17 +1977,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Read_Cmd5_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Read_Cmd5_Struct
  *! \brief  Sensor Read Command5 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Read_Cmd5_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Read_Cmd5_t {
   union {
     struct {
       uint8_t Digital_Sensor_Read_Cmd5 :  8;  /**< Per Conversion Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Read_Cmd5_t;
+} ADMW_CORE_Digital_Sensor_Read_Cmd5_t;
 
 /*@}*/
 
@@ -1996,17 +1997,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Read_Cmd6_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Read_Cmd6_Struct
  *! \brief  Sensor Read Command6 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Read_Cmd6_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Read_Cmd6_t {
   union {
     struct {
       uint8_t Digital_Sensor_Read_Cmd6 :  8;  /**< Per Conversion Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Read_Cmd6_t;
+} ADMW_CORE_Digital_Sensor_Read_Cmd6_t;
 
 /*@}*/
 
@@ -2016,17 +2017,17 @@
  */
 
 /* ==========================================================================
- *! \struct CORE_Digital_Sensor_Read_Cmd7_Struct
+ *! \struct ADMW_CORE_Digital_Sensor_Read_Cmd7_Struct
  *! \brief  Sensor Read Command7 Register bit field structure
  * ========================================================================== */
-typedef struct CORE_Digital_Sensor_Read_Cmd7_t {
+typedef struct _ADMW_CORE_Digital_Sensor_Read_Cmd7_t {
   union {
     struct {
       uint8_t Digital_Sensor_Read_Cmd7 :  8;  /**< Per Conversion Command to Send to Digital I2C/SPI Sensor */
     };
     uint8_t VALUE8;
   };
-} CORE_Digital_Sensor_Read_Cmd7_t;
+} ADMW_CORE_Digital_Sensor_Read_Cmd7_t;
 
 /*@}*/
 
--- a/inc/admw1001/admw1001_api.h	Tue Jun 18 09:28:16 2019 +0000
+++ b/inc/admw1001/admw1001_api.h	Thu Jun 20 18:13:57 2019 +0000
@@ -1,65 +1,4 @@
 /*
-Copyright 2018 (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.
- */
-
-/*
-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,/*
 Copyright 2019 (c) Analog Devices, Inc.
 
 All rights reserved.
@@ -140,10 +79,10 @@
  *       according to documentation for those registers.
  */
 ADMW_RESULT admw1001_ReadRegister(
-    ADMW_DEVICE_HANDLE       const hDevice,
-    uint16_t                   const nAddress,
-    void                     * const pData,
-    unsigned                   const nLength);
+    ADMW_DEVICE_HANDLE  const hDevice,
+    uint16_t            const nAddress,
+    void                *const pData,
+    unsigned            const nLength);
 /*!
  * @brief Read one or more device registers at the specified debug register address.
  *
@@ -162,10 +101,10 @@
  *       according to documentation for those registers.
  */
 ADMW_RESULT admw1001_Read_Debug_Register(
-    ADMW_DEVICE_HANDLE    const hDevice,
-    uint16_t                   const nAddress,
-    void                     * const pData,
-    unsigned                   const nLength);
+    ADMW_DEVICE_HANDLE  const hDevice,
+    uint16_t            const nAddress,
+    void                *const pData,
+    unsigned            const nLength);
 
 /*!
  * @brief Write one or more device registers at the specified register address.
@@ -186,10 +125,10 @@
  *       documentation for those registers.
  */
 ADMW_RESULT admw1001_WriteRegister(
-    ADMW_DEVICE_HANDLE    const hDevice,
-    uint16_t                   const nAddress,
-    void                     * const pData,
-    unsigned                   const nLength);
+    ADMW_DEVICE_HANDLE  const hDevice,
+    uint16_t            const nAddress,
+    void                *const pData,
+    unsigned            const nLength);
 
 /*!
  * @brief Write one or more device registers at the specified debug register address.
@@ -207,10 +146,10 @@
  *
  */
 ADMW_RESULT admw1001_Write_Debug_Register(
-    ADMW_DEVICE_HANDLE    const hDevice,
-    uint16_t                   const nAddress,
-    void                     * const pData,
-    unsigned                   const nLength);
+    ADMW_DEVICE_HANDLE  const hDevice,
+    uint16_t            const nAddress,
+    void                *const pData,
+    unsigned            const nLength);
 /*
  * @brief Update power configuration settings on the device.
  *
@@ -226,8 +165,8 @@
  * @note Settings are not applied until admw_ApplyConfigUpdates() is called
  */
 ADMW_RESULT admw1001_SetPowerConfig(
-    ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_POWER_CONFIG *pPowerConfig);
+    ADMW_DEVICE_HANDLE      hDevice,
+    ADMW1001_POWER_CONFIG   *pPowerConfig);
 
 /*!
  * @brief Update measurement configuration settings on the device.
@@ -244,7 +183,7 @@
  * @note Settings are not applied until admw_ApplyConfigUpdates() is called
  */
 ADMW_RESULT admw1001_SetMeasurementConfig(
-    ADMW_DEVICE_HANDLE hDevice,
+    ADMW_DEVICE_HANDLE          hDevice,
     ADMW1001_MEASUREMENT_CONFIG *pMeasurementConfig);
 
 /*!
@@ -262,7 +201,7 @@
  * @note Settings are not applied until admw_ApplyConfigUpdates() is called
  */
 ADMW_RESULT admw1001_SetDiagnosticsConfig(
-    ADMW_DEVICE_HANDLE hDevice,
+    ADMW_DEVICE_HANDLE          hDevice,
     ADMW1001_DIAGNOSTICS_CONFIG *pDiagnosticsConfig);
 
 /*!
@@ -283,8 +222,8 @@
  * @note Settings are not applied until admw_ApplyConfigUpdates() is called
  */
 ADMW_RESULT admw1001_SetChannelConfig(
-    ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW_DEVICE_HANDLE      hDevice,
+    ADMW1001_CH_ID          eChannelId,
     ADMW1001_CHANNEL_CONFIG *pChannelConfig);
 
 /*!
@@ -308,9 +247,9 @@
  * @note Settings are not applied until admw_ApplyConfigUpdates() is called
  */
 ADMW_RESULT admw1001_SetChannelCount(
-    ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
-    uint32_t nMeasurementsPerCycle);
+    ADMW_DEVICE_HANDLE  hDevice,
+    ADMW1001_CH_ID eChannelId,
+    uint32_t            nMeasurementsPerCycle);
 
 /*!
  * @brief Update priority level for a specific channel.
@@ -329,9 +268,9 @@
  * @note Settings are not applied until admw_ApplyConfigUpdates() is called
  */
 ADMW_RESULT admw1001_SetChannelPriority(
-    ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
-    ADMW1001_CHANNEL_PRIORITY ePriority);
+    ADMW_DEVICE_HANDLE          hDevice,
+    ADMW1001_CH_ID      eChannelId,
+    ADMW1001_CHANNEL_PRIORITY   ePriority);
 
 /*!
  * @brief Update the measurement threshold limits for a specified channel.
@@ -359,10 +298,10 @@
  * @note Settings are not applied until admw_ApplyConfigUpdates() is called
  */
 ADMW_RESULT admw1001_SetChannelThresholdLimits(
-    ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
-    float32_t fHighThresholdLimit,
-    float32_t fLowThresholdLimit);
+    ADMW_DEVICE_HANDLE      hDevice,
+    ADMW1001_CH_ID  eChannelId,
+    float32_t               fHighThresholdLimit,
+    float32_t               fLowThresholdLimit);
 
 
 /*!
@@ -382,9 +321,9 @@
  * @note Settings are not applied until admw_ApplyConfigUpdates() is called
  */
 ADMW_RESULT admw1001_SetSensorParameter(
-     ADMW_DEVICE_HANDLE hDevice,
-     ADMW1001_CHANNEL_ID eChannelId,
-     float32_t fSensorParam);
+     ADMW_DEVICE_HANDLE     hDevice,
+     ADMW1001_CH_ID     eChannelId,
+     float32_t              fSensorParam);
 /*!
  * @brief Update the extra settling time for a specified channel.
  *
@@ -406,9 +345,9 @@
  * @note Settings are not applied until admw_ApplyConfigUpdates() is called
  */
 ADMW_RESULT admw1001_SetChannelSettlingTime(
-    ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
-    uint32_t nSettlingTime);
+    ADMW_DEVICE_HANDLE  hDevice,
+    ADMW1001_CH_ID eChannelId,
+    uint32_t            nSettlingTime);
 
 #ifdef __V2_3_CFG_FMT__
 /*!
@@ -426,8 +365,8 @@
  * @note Settings are not applied until admw_ApplyConfigUpdates() is called
  */
 ADMW_RESULT admw1001_SetAdvancedAccess(
-    ADMW_DEVICE_HANDLE    const hDevice,
-    ADMW1001_ADVANCED_ACCESS_KEY key);
+    ADMW_DEVICE_HANDLE              hDevice,
+    ADMW1001_ADVANCED_ACCESS_KEY    key);
 #endif
 
 /*!
@@ -454,11 +393,11 @@
  *          written to the device memory using @ref admw1001_SetLutData.
  */
 ADMW_RESULT admw1001_AssembleLutData(
-    ADMW1001_LUT                  * pLutBuffer,
-    unsigned                              nLutBufferSize,
-    unsigned                        const nNumTables,
-    ADMW1001_LUT_DESCRIPTOR * const ppDesc[],
-    ADMW1001_LUT_TABLE_DATA * const ppData[]);
+    ADMW1001_LUT            *pLutBuffer,
+    unsigned                nLutBufferSize,
+    unsigned                const nNumTables,
+    ADMW1001_LUT_DESCRIPTOR *const ppDesc[],
+    ADMW1001_LUT_TABLE_DATA *const ppData[]);
 
 /*!
  * @brief Write Look-Up Table data to the device memory
@@ -475,8 +414,8 @@
  * @note Settings are not applied until admw_ApplyConfigUpdates() is called
  */
 ADMW_RESULT admw1001_SetLutData(
-    ADMW_DEVICE_HANDLE    const hDevice,
-    ADMW1001_LUT       * const pLutData);
+    ADMW_DEVICE_HANDLE  hDevice,
+    ADMW1001_LUT        *const pLutData);
 
 /*!
  * @brief Write Look-Up Table raw data to the device memory
@@ -494,8 +433,8 @@
  * @note Settings are not applied until admw_ApplyConfigUpdates() is called
  */
 ADMW_RESULT admw1001_SetLutDataRaw(
-    ADMW_DEVICE_HANDLE    const hDevice,
-    ADMW1001_LUT_RAW   * const pLutData);
+    ADMW_DEVICE_HANDLE  hDevice,
+    ADMW1001_LUT_RAW    *const pLutData);
 
 /*!
  * @brief Get the number of samples available when DATAREADY status is asserted.
@@ -521,13 +460,13 @@
  *          many samples to retrieve whenever the DATAREADY status is asserted.
  */
 ADMW_RESULT admw1001_GetDataReadyModeInfo(
-    ADMW_DEVICE_HANDLE         const hDevice,
-    ADMW_MEASUREMENT_MODE      const eMeasurementMode,
-    ADMW1001_OPERATING_MODE * const peOperatingMode,
-    ADMW1001_DATAREADY_MODE * const peDataReadyMode,
-    uint32_t                      * const pnSamplesPerDataready,
-    uint32_t                      * const pnSamplesPerCycle,
-    uint8_t                       * const pnBytesPerSample);
+    ADMW_DEVICE_HANDLE      const hDevice,
+    ADMW_MEASUREMENT_MODE   const eMeasurementMode,
+    ADMW1001_OPERATING_MODE *const peOperatingMode,
+    ADMW1001_DATAREADY_MODE *const peDataReadyMode,
+    uint32_t                *const pnSamplesPerDataready,
+    uint32_t                *const pnSamplesPerCycle,
+    uint8_t                 *const pnBytesPerSample);
 
 #ifdef __cplusplus
 }
@@ -537,4 +476,4 @@
  * @}
  */
 
-#endif /* __ADMW1001_API_H__ */
\ No newline at end of file
+#endif /* __ADMW1001_API_H__ */
--- a/inc/admw1001/admw1001_config.h	Tue Jun 18 09:28:16 2019 +0000
+++ b/inc/admw1001/admw1001_config.h	Thu Jun 20 18:13:57 2019 +0000
@@ -46,10 +46,6 @@
 #include "admw_platform.h"
 #include "admw1001_sensor_types.h"
 
-/* Undefine for versions prior to V2.3. */
-#undef __V2_3_CFG_FMT__
-
-
 /*! @addtogroup ADMW1001_Api
  *  @{
  */
@@ -62,7 +58,8 @@
 #define ADMW1001_SENSOR_COMMAND_MAX_LENGTH 7
 
 /*! ADMW1001 channel priority options */
-typedef enum {
+typedef enum
+{
     ADMW1001_CHANNEL_PRIORITY_0 = 0,
     ADMW1001_CHANNEL_PRIORITY_1,
     ADMW1001_CHANNEL_PRIORITY_2,
@@ -76,26 +73,27 @@
     ADMW1001_CHANNEL_PRIORITY_10,
     ADMW1001_CHANNEL_PRIORITY_11,
     ADMW1001_CHANNEL_PRIORITY_12,
-    ADMW1001_CHANNEL_PRIORITY_13,
-    ADMW1001_CHANNEL_PRIORITY_14,
-    ADMW1001_CHANNEL_PRIORITY_15,
 
     ADMW1001_CHANNEL_PRIORITY_HIGHEST = ADMW1001_CHANNEL_PRIORITY_0,
-    ADMW1001_CHANNEL_PRIORITY_LOWEST  = ADMW1001_CHANNEL_PRIORITY_15,
-} ADMW1001_CHANNEL_PRIORITY;
+    ADMW1001_CHANNEL_PRIORITY_LOWEST  = ADMW1001_CHANNEL_PRIORITY_12,
+
+}   ADMW1001_CHANNEL_PRIORITY;
 
 /*! ADMW1001 operating mode options */
-typedef enum {
+typedef enum
+{
     ADMW1001_OPERATING_MODE_SINGLECYCLE = 0,
     /*!< Executes a single measurement cycle and stops */
     ADMW1001_OPERATING_MODE_CONTINUOUS,
     /*!< Continuously executes measurement cycles */
     ADMW1001_OPERATING_MODE_MULTICYCLE,
     /*!< Executes a burst of measurement cycles, repeated at defined intervals */
-} ADMW1001_OPERATING_MODE;
+
+}   ADMW1001_OPERATING_MODE;
 
 /*! ADMW1001 data ready mode options */
-typedef enum {
+typedef enum
+{
     ADMW1001_DATAREADY_PER_CONVERSION = 0,
     /*!< The DATAREADY signal is asserted after completion of each conversion
      *   - a single data sample only from the latest completed conversion is
@@ -107,25 +105,24 @@
      *   - data samples only from the lastest completed measurement cycle are
      *     stored in this mode
      */
-    ADMW1001_DATAREADY_PER_MULTICYCLE_BURST,
-    /*!< The DATAREADY signal is asserted after completion of each burst of
-     *   measurement cycles
-     *   - applicable only when @ref ADMW1001_OPERATING_MODE_MULTICYCLE
-     *     is also selected
-     *   - data samples only from the lastest completed burst of measurement
-     *     cycles are stored in this mode
+    ADMW1001_DATAREADY_PER_FIFO_FILL,
+    /*!< The DATAREADY signal is asserted after each fill of the data FIFO
+     *   - applicable only when @ref ADMW1001_OPERATING_MODE_CONTINUOUS or
+     *     @ref ADMW1001_OPERATING_MODE_MULTICYCLE is also selected
      */
-} ADMW1001_DATAREADY_MODE;
+
+}   ADMW1001_DATAREADY_MODE;
 
 /*! ADMW1001 power mode options */
-typedef enum {
+typedef enum
+{
     ADMW1001_POWER_MODE_HIBERNATION = 0,
     /*!< module has entede hibernation mode. All analog circuitry is disabled. All peripherals disabled apart from the Wake-up pin functionality. */
     ADMW1001_POWER_MODE_ACTIVE,
     /*!< Part is fully powered up and either cycling through a sequence or awaiting a configuration */
-} ADMW1001_POWER_MODE;
 
-#ifdef __V2_3_CFG_FMT__
+}   ADMW1001_POWER_MODE;
+
 /*! ADMW1001 measurement analog filter settling options */
 typedef enum
 {
@@ -133,22 +130,24 @@
     /*!< Allow full settling time to elapse between every measurement from an analog sensor */
     ADMW1001_FILTER_SETTLING_FAST,
     /*!< Skip settling time between consecutive measurements from an analog sensor */
-} ADMW1001_FILTER_SETTLING;
-#endif
+
+}   ADMW1001_FILTER_SETTLING;
 
 /*! ADMW1001 measurement unit options
  *
  *  Optionally select a measurement unit for final conversion results.
  *  Currently applicable only to specific temperature sensor types.
  */
-typedef enum {
+typedef enum
+{
     ADMW1001_MEASUREMENT_UNIT_UNSPECIFIED = 0,
     /*!< No measurement unit specified */
     ADMW1001_MEASUREMENT_UNIT_CELSIUS,
     /*!< Celsius temperature unit - applicable to temperature sensors only */
     ADMW1001_MEASUREMENT_UNIT_FAHRENHEIT,
     /*!< Fahrenheit temperature unit - applicable to temperature sensors only */
-} ADMW1001_MEASUREMENT_UNIT;
+
+}   ADMW1001_MEASUREMENT_UNIT;
 
 /*! ADMW1001 Open-Sensor Diagnostics frequency
  *
@@ -160,7 +159,8 @@
  *  @note Open-sensor diagnostic checks, when performed, will add a delay to the
  *        start of the next measurement cycle.
  */
-typedef enum {
+typedef enum
+{
     ADMW1001_OPEN_SENSOR_DIAGNOSTICS_DISABLED = 0,
     /*!< No Open-Sensor Detection is performed */
     ADMW1001_OPEN_SENSOR_DIAGNOSTICS_PER_CYCLE,
@@ -169,13 +169,15 @@
     /*!< No Open-Sensor Detection is performed at intervals of 100 cycles */
     ADMW1001_OPEN_SENSOR_DIAGNOSTICS_PER_1000_CYCLES,
     /*!< No Open-Sensor Detection is performed at intervals of 1001 cycles */
-} ADMW1001_OPEN_SENSOR_DIAGNOSTICS;
+
+}   ADMW1001_OPEN_SENSOR_DIAGNOSTICS;
 
 /*! ADMW1001 analog input signal amplification gain options
  *
  *  @note applicable only to ADC analog sensor channels
  */
-typedef enum {
+typedef enum
+{
     ADMW1001_ADC_RTD_CURVE_EUROPEAN = 0,
     /*!< EUROPEAN RTD curve used. */
     ADMW1001_ADC_RTD_CURVE_AMERICAN,
@@ -184,12 +186,14 @@
     /*!< JAPANESE RTD curve used. */
     ADMW1001_ADC_RTD_CURVE_ITS90,
     /*!< ITS90 RTD curve used. */
-} ADMW1001_ADC_RTD_CURVE;
+
+}   ADMW1001_ADC_RTD_CURVE;
 /*! ADMW1001 analog input signal amplification gain options
  *
  *  @note applicable only to ADC analog sensor channels
  */
-typedef enum {
+typedef enum
+{
     ADMW1001_ADC_GAIN_1X = 0,
     /*!< no amplification gain */
     ADMW1001_ADC_GAIN_2X,
@@ -206,26 +210,30 @@
     /*!< x64 amplification gain */
     ADMW1001_ADC_GAIN_128X,
     /*!< x128 amplification gain */
-} ADMW1001_ADC_GAIN;
+
+}   ADMW1001_ADC_GAIN;
 
 /*! ADMW1001 analog sensor excitation state options
  *
  *  @note applicable only to ADC analog sensor channels, and
  *        specific sensor types
  */
-typedef enum {
+typedef enum
+{
     ADMW1001_ADC_EXC_STATE_ALWAYS_ON,
     /*!< Excitation for measurement is always on */
     ADMW1001_ADC_EXC_STATE_CYCLE_POWER,
     /*!< Excitation for measurement is active only during measurement */
-} ADMW1001_ADC_EXC_STATE;
+
+}   ADMW1001_ADC_EXC_STATE;
 
 /*! ADMW1001 analog sensor excitation current output level options
  *
  *  @note applicable only to ADC analog sensor channels, and
  *        specific sensor types
  */
-typedef enum {
+typedef enum
+{
     ADMW1001_ADC_EXC_CURRENT_EXTERNAL = 0,
     /*!< External excitation is provided */ 
     ADMW1001_ADC_EXC_CURRENT_50uA,
@@ -238,13 +246,15 @@
     /*!< 500uA excitation current enabled */
     ADMW1001_ADC_EXC_CURRENT_1000uA,
     /*!< 1mA excitation current enabled */
-} ADMW1001_ADC_EXC_CURRENT;
+
+}   ADMW1001_ADC_EXC_CURRENT;
 
 /*! ADMW1001 analog sensor excitation current ratios used for diode sensor
  *
  *  @note applicable only to a diode sensor
  */
-typedef enum {
+typedef enum
+{
     ADMW1001_ADC_EXC_CURRENT_IOUT_DIODE_10UA_100UA = 0, 
     /**< 2 Current measurement 10uA 100uA        */
     ADMW1001_ADC_EXC_CURRENT_IOUT_DIODE_20UA_160UA,  
@@ -261,78 +271,98 @@
     /**< 3 current measuremetn 50uA 150uA 300uA  */
     ADMW1001_ADC_EXC_CURRENT_IOUT_DIODE_100UA_300UA_600UA,
     /**< 3 current measuremetn 100uA 300uA 600uA */
-} ADMW1001_ADC_EXC_CURRENT_DIODE_RATIO;
+
+}   ADMW1001_ADC_EXC_CURRENT_DIODE_RATIO;
 
 /*! ADMW1001 analog reference selection options
  *
  *  @note applicable only to ADC analog sensor channels, and
  *        specific sensor types
  */
-typedef enum {
-    ADMW1001_ADC_REFERENCE_NONE = 0,
-    /*!< No reference is selected */
-
-    ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
-    /*!< Internal reference resistor #1 (4320 ohms) is selected */
-    ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_2,
-    /*!< Internal reference resistor #2 (10010 ohms) is selected */
-    ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
-    /*!< Internal ADC voltage reference (2.5V) is selected */
+typedef enum
+{
+    ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL = 0,
+    /*!< Internal VRef - 1.2V */
+    ADMW1001_ADC_REFERENCE_VOLTAGE_EXTERNAL_1,
+    /*!< External reference voltage #1 */
+    ADMW1001_ADC_REFERENCE_VOLTAGE_EXTERNAL_2,
+    /*!< External reference voltage #2 */
     ADMW1001_ADC_REFERENCE_VOLTAGE_AVDD,
     /*!< Analag Supply Voltage AVDD reference (typically 3.3V) is selected */
 
-    ADMW1001_ADC_REFERENCE_RESISTOR_EXTERNAL_1,
-    /*!< External user-supplied reference resistor #1 is selected
-     *
-     * @note reference resistor value externalRef1Value must be specified
-     * (see @ref ADMW1001_MEASUREMENT_CONFIG) */
-    ADMW1001_ADC_REFERENCE_RESISTOR_EXTERNAL_2,
-    /*!< External user-supplied reference resistor #2 is selected
-     *
-     * @note reference resistor value externalRef2Value must be specified
-     * (see @ref ADMW1001_MEASUREMENT_CONFIG) */
-    ADMW1001_ADC_REFERENCE_VOLTAGE_EXTERNAL_1,
-    /*!< External user-supplied reference voltage #1 is selected
-     *
-     * @note reference voltage value externalRef1Value must be specified
-     * (see @ref ADMW1001_MEASUREMENT_CONFIG) */
-    ADMW1001_ADC_REFERENCE_VOLTAGE_EXTERNAL_2,
-    /*!< External user-supplied reference voltage #2 is selected
-     *
-     * @note reference voltage value externalRef2Value must be specified
-     * (see @ref ADMW1001_MEASUREMENT_CONFIG) */
-    ADMW1001_ADC_REFERENCE_BRIDGE_EXCITATION,
-    /*!< Bridge Excition Voltage is selected as reference
-     *
-     * @note this reference MUST be selected for 4/6-wire bridge sensor types
-     * (see @ref ADMW1001_ADC_SENSOR_TYPE) */
-} ADMW1001_ADC_REFERENCE_TYPE;
+}   ADMW1001_ADC_REFERENCE_TYPE;
 
 /*! ADMW1001 ADC Reference configuration
  *
  *  @note applicable only to ADC analog sensor channels
  */
-typedef enum {
+typedef enum
+{
     ADMW1001_ADC_GND_SW_OPEN = 0,
     /*!< Ground switch not enabled for measurement. */
     ADMW1001_ADC_GND_SW_CLOSED,
-    /*!< Ground switch closed for measurement. */
-} ADMW1001_ADC_GND_SW;
+    /*!< Ground switch enabled for measurement. */
+
+}   ADMW1001_ADC_GND_SW;
+
+/*! ADMW1001 analog filter chop mode
+ *
+ *  @note applicable only to ADC analog sensor channels
+ */
+typedef enum
+{
+    ADMW1001_CHOP_MD_NONE = 0,
+    /*!< No chop performed. */
+    ADMW1001_CHOP_MD_HW,
+    /*!< Hardware only chop performed. */
+    ADMW1001_CHOP_MD_SW,
+    /*!< Software only chop performed. */
+    ADMW1001_CHOP_MD_HWSW,
+    /*!< Hardware and software chop performed. */
+    
+}   ADMW1001_CHOP_MD;
 
 /*! ADMW1001 analog filter selection options
  *
  *  @note applicable only to ADC analog sensor channels
  */
-typedef enum {
+typedef enum
+{
     ADMW1001_ADC_FILTER_SINC4 = 0,
-    /*!< SINC4 filter
-     *
-     * @note The number of input samples to be averaged by the filter
-     *       must be specified by fs (see @ref ADMW1001_ADC_FILTER_CONFIG).
-     *       The fs value affects the output sample rate and settling times
-     *       of the ADC */
+    /*!< SINC4 - 4th order sinc response filter */
     ADMW1001_ADC_FILTER_SINC3,
-} ADMW1001_ADC_FILTER_TYPE;
+    /*!< SINC3 - 3rd order sinc response filter */
+
+}   ADMW1001_ADC_FILTER_TYPE;
+
+/*! ADMW1001 Sinc Filter range (SF)
+ *
+ *  @note applicable only to ADC analog sensor channels
+ *  @note SF must be set in conjunction with chop mode 
+ *  and sinc filter type to achieve the desired sampling rate.
+ */
+typedef enum
+{
+    ADMW1001_SF_976HZ  = 0,
+    /*!< SF setting for 976Hz sample rate. */
+    ADMW1001_SF_488HZ  = 1,
+    /*!< SF setting for 488Hz sample rate. */
+    ADMW1001_SF_244HZ  = 3,
+    /*!< SF setting for 244Hz sample rate. */
+    ADMW1001_SF_122HZ  = 7,
+    /*!< SF setting for 122Hz sample rate. */
+    ADMW1001_SF_61HZ   = 31,
+    /*!< SF setting for 61Hz sample rate. */
+    ADMW1001_SF_30P5HZ = 51,
+    /*!< SF setting for 61Hz sample rate. */
+    ADMW1001_SF_10HZ   = 124,
+    /*!< SF setting for 10Hz sample rate. */
+    ADMW1001_SF_8P24HZ = 125,
+    /*!< SF setting for 8.24Hz sample rate. */
+    ADMW1001_SF_5HZ    = 127,
+    /*!< SF setting for 5Hz sample rate. */
+
+}   ADMW1001_SINC_FILTER_RANGE;
 
 /*! ADMW1001 I2C clock speed options
  *
@@ -340,11 +370,12 @@
  */
 typedef enum
 {
-  ADMW1001_DIGITAL_SENSOR_COMMS_I2C_CLOCK_SPEED_100K = 0,
+    ADMW1001_DIGITAL_SENSOR_COMMS_I2C_CLOCK_SPEED_100K = 0,
     /*!< 100kHz I2C clock speed */
-  ADMW1001_DIGITAL_SENSOR_COMMS_I2C_CLOCK_SPEED_400K,
+    ADMW1001_DIGITAL_SENSOR_COMMS_I2C_CLOCK_SPEED_400K,
     /*!< 400kHz I2C clock speed */
-} ADMW1001_DIGITAL_SENSOR_COMMS_I2C_CLOCK_SPEED;
+
+}   ADMW1001_DIGITAL_SENSOR_COMMS_I2C_CLOCK_SPEED;
 
 /*! ADMW1001 SPI mode options
  *
@@ -352,15 +383,16 @@
  */
 typedef enum
 {
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_MODE_0 = 0,
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_MODE_0 = 0,
     /*!< SPI mode 0 Clock Polarity = 0 Clock Phase = 0 */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_MODE_1,
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_MODE_1,
     /*!< SPI mode 0 Clock Polarity = 0 Clock Phase = 1 */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_MODE_2,
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_MODE_2,
     /*!< SPI mode 0 Clock Polarity = 1 Clock Phase = 0 */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_MODE_3,
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_MODE_3,
     /*!< SPI mode 0 Clock Polarity = 1 Clock Phase = 1 */
-} ADMW1001_DIGITAL_SENSOR_COMMS_SPI_MODE;
+
+}   ADMW1001_DIGITAL_SENSOR_COMMS_SPI_MODE;
 
 /*! ADMW1001 SPI clock speed options
  *
@@ -368,60 +400,66 @@
  */
 typedef enum
 {
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_13MHZ = 0,
-    /*!< SPI Clock Speed configured to 13MHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_6_5MHZ,
-    /*!< SPI Clock Speed configured to 6.5MHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_3_25MHZ,
-    /*!< SPI Clock Speed configured to 3.25MHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_1_625MHZ,
-    /*!< SPI Clock Speed configured to 1.625MHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_812KHZ,
-    /*!< SPI Clock Speed configured to 812kHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_406KHZ,
-    /*!< SPI Clock Speed configured to 406kHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_203KHZ,
-    /*!< SPI Clock Speed configured to 203kHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_101KHZ,
-    /*!< SPI Clock Speed configured to 101kHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_50KHZ,
-    /*!< SPI Clock Speed configured to 50kHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_25KHZ,
-    /*!< SPI Clock Speed configured to 25kHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_12KHZ,
-    /*!< SPI Clock Speed configured to 12kHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_6KHZ,
-    /*!< SPI Clock Speed configured to 6kHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_3KHZ,
-    /*!< SPI Clock Speed configured to 3kHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_1_5KHZ,
-    /*!< SPI Clock Speed configured to 1.5kHz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_793HZ,
-    /*!< SPI Clock Speed configured to 793hz */
-  ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_396HZ,
-    /*!< SPI Clock Speed configured to 396hz */
-} ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK;
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_8MHZ = 0,
+    /*!< SPI Clock Speed configured to 8MHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_4MHZ,
+    /*!< SPI Clock Speed configured to 4MHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_2MHZ,
+    /*!< SPI Clock Speed configured to 2MHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_1MHZ,
+    /*!< SPI Clock Speed configured to 1MHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_500KHZ,
+    /*!< SPI Clock Speed configured to 500kHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_250KHZ,
+    /*!< SPI Clock Speed configured to 250kHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_125KHZ,
+    /*!< SPI Clock Speed configured to 125kHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_62P5KHZ,
+    /*!< SPI Clock Speed configured to 62.5kHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_31P3KHZ,
+    /*!< SPI Clock Speed configured to 31.3kHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_15P6KHZ,
+    /*!< SPI Clock Speed configured to 15.6kHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_7P8KHZ,
+    /*!< SPI Clock Speed configured to 7.8kHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_3P9KHZ,
+    /*!< SPI Clock Speed configured to 3.9kHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_1P9KHZ,
+    /*!< SPI Clock Speed configured to 1.9kHz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_977HZ,
+    /*!< SPI Clock Speed configured to 977Hz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_488HZ,
+    /*!< SPI Clock Speed configured to 488Hz */
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_244HZ,
+    /*!< SPI Clock Speed configured to 244Hz */
+
+}   ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK;
 
 /*! ADMW1001 Power Configuration options */
-typedef struct {
+typedef struct
+{
     ADMW1001_POWER_MODE        powerMode;
     /*!< Power mode selection */
-} ADMW1001_POWER_CONFIG;
+
+}   ADMW1001_POWER_CONFIG;
 
 /*! ADMW1001 Multi-Cycle Configuration options
  *
  * @note required only when ADMW1001_OPERATING_MODE_MULTICYCLE is selected
  *       as the operatingMode (@ref ADMW1001_MEASUREMENT_CONFIG)
  */
-typedef struct {
-    uint32_t                         cyclesPerBurst;
+typedef struct
+{
+    uint32_t    cyclesPerBurst;
     /*!< Number of cycles to complete for a single burst */
-    uint32_t                         burstInterval;
+    uint32_t    burstInterval;
     /*!< Interval, in seconds, between each successive burst of cycles */
-} ADMW1001_MULTICYCLE_CONFIG;
+
+}   ADMW1001_MULTICYCLE_CONFIG;
 
 /*! ADMW1001 Measurement Configuration options */
-typedef struct {
+typedef struct
+{
     ADMW1001_OPERATING_MODE    operatingMode;
     /*!< Operating mode - specifies how measurement cycles are scheduled */
     ADMW1001_DATAREADY_MODE    dataReadyMode;
@@ -431,12 +469,6 @@
      *   are scheduled.  Applicable only when operatingMode is
      *   ADMW1001_OPERATING_MODE_MULTICYCLE
      */
-    uint32_t                    cycleInterval;
-    /*!< Cycle interval - specifies the time interval between the start of each
-     *   successive measurement cycle.  Applicable only when operatingMode is
-     *   not ADMW1001_OPERATING_MODE_SINGLECYCLE
-     */
-#ifdef __V2_3_CFG_FMT__
     ADMW1001_FILTER_SETTLING   filterSettling;
     /*!< Analog filter settling - specifies the policy for settling time
      *   between consecutive measurements from an analog channel in a multi-
@@ -444,64 +476,70 @@
      *   configurations, settling time is always skipped between consecutive
      *   measurements in a measurement cycle.
      */
-#endif
-    float32_t                        externalRef1Value;
-    /*!< Resistance/voltage value connected to external reference input #1.
+    uint8_t                     reserved0[3];
+    /*!< Reserved for future use and ensure word alignment.
+     */ 
+    uint32_t                    cycleInterval;
+    /*!< Cycle interval - specifies the time interval between the start of each
+     *   successive measurement cycle.  Applicable only when operatingMode is
+     *   not ADMW1001_OPERATING_MODE_SINGLECYCLE
+     */
+    bool                        vBiasEnable;
+    /*!< Enable voltage Bias output of ADC
+     */
+    float32_t                   externalRef1Value;
+    /*!< Voltage value connected to external reference input #1.
      *   Applicable only if the selected reference type is
-     *   ADMW1001_ADC_REFERENCE_RESISTOR_EXTERNAL_1 or
-     *   ADMW1001_ADC_REFERENCE_VOLTAGE_EXTERNAL_1
+     *   voltage.
      *   (see @ref ADMW1001_ADC_REFERENCE_TYPE)
      */    
-    bool                             enableExternalFlash;
-    /*!< Enable the use of external flash memory for storage of samples.
-     */
-} ADMW1001_MEASUREMENT_CONFIG;
+    uint32_t                    reserved1[4];
+    /*!< Reserved for future use and ensure word alignment.
+     */ 
+
+}   ADMW1001_MEASUREMENT_CONFIG;
 
 /*! ADMW1001 ADC Excitation Current output configuration
  *
  *  @note applicable only to ADC analog sensor channels, and
  *        specific sensor types
  */
-typedef struct {
+typedef struct
+{
     ADMW1001_ADC_EXC_STATE                excitationState;
     /*!< Excitation current state */
     ADMW1001_ADC_EXC_CURRENT              outputLevel;
     /*!< Excitation current output level */
     ADMW1001_ADC_EXC_CURRENT_DIODE_RATIO  diodeRatio;
     /*!< Excitation current output diode ratio */
-} ADMW1001_ADC_EXC_CURRENT_CONFIG;
+
+}   ADMW1001_ADC_EXC_CURRENT_CONFIG;
 
 /*! ADMW1001 ADC Filter configuration
  *
  *  @note applicable only to ADC analog sensor channels
  */
-typedef struct {
-    ADMW1001_ADC_FILTER_TYPE   type;
+typedef struct
+{
+    ADMW1001_ADC_FILTER_TYPE    type;
     /*!< Filter type selection */
-    uint32_t                    sf;
-    /*!< SF value used along with filter type to determine speed */
-    bool                  filterChop;
+    ADMW1001_SINC_FILTER_RANGE  sf;
+    /*!< SF value used along with filter type and chop mode to determine speed */
+    ADMW1001_CHOP_MD            filterChop;
     /*!< Enable filter chop */
-    bool                  notch1p2;
+    bool                        notch1p2;
     /*!< Enable Notch 2 Filter Mode */
-    ADMW1001_ADC_GND_SW             groundSwitch;
+    ADMW1001_ADC_GND_SW         groundSwitch;
     /*!< Option to open or close sensor ground switch */
-} ADMW1001_ADC_FILTER_CONFIG;
 
-/*! ADMW1001 ADC Referemce configuration
- *
- *  @note applicable only to ADC analog sensor channels
- */
-typedef struct {
-    ADMW1001_ADC_REFERENCE_TYPE    type;
-    /*!< Filter type selection */
-} ADMW1001_ADC_REFERENCE_CONFIG;
+}   ADMW1001_ADC_FILTER_CONFIG;
 
 /*! ADMW1001 ADC analog channel configuration details
  *
  *  @note applicable only to ADC analog sensor channels
  */
-typedef struct {
+typedef struct
+{
     ADMW1001_ADC_SENSOR_TYPE        sensor;
     /*!< Sensor type selection */
     ADMW1001_ADC_RTD_CURVE          rtdCurve;
@@ -512,11 +550,30 @@
     /*!< ADC Excitation Current configuration */
     ADMW1001_ADC_FILTER_CONFIG      filter;
     /*!< ADC Filter configuration */
-    ADMW1001_ADC_REFERENCE_CONFIG   reference;
+    ADMW1001_ADC_REFERENCE_TYPE     reference;
     /*!< ADC Reference configuration */
-    bool                             enableVbias;
-    /*!< Option to enable internal ADC voltage bias */
-} ADMW1001_ADC_CHANNEL_CONFIG;
+    uint8_t                         reserved0[3];
+    /*!< Reserved for future use and ensure word alignment. */
+    uint32_t                        reserved1[6];
+    /*!< Reserved for future use and ensure word alignment. */
+
+}   ADMW1001_ADC_CHANNEL_CONFIG;
+
+/*! ADMW1001 look-up table selection
+ *  Select table used to linearise the measurement.
+ */
+typedef enum
+{
+    ADMW1001_LUT_DEFAULT  = 0,
+    /*!< Default LUT */
+    ADMW1001_LUT_UNITY    = 1,
+    /*!< Unity LUT */
+    ADMW1001_LUT_CUSTOM   = 2,
+    /*!< User defined custom LUT */
+    ADMW1001_LUT_RESERVED = 3,
+    /*!< Reserved for future use */
+    
+}   ADMW1001_LUT_SELECT;
 
 /*! ADMW1001 digital sensor data encoding
  *
@@ -524,7 +581,7 @@
  */
 typedef enum
 {
-    ADMW1001_DIGITAL_SENSOR_DATA_CODING_NONE,
+    ADMW1001_DIGITAL_SENSOR_DATA_CODING_NONE = 0,
     /**< None/Invalid - data format is ignored if coding is set to this value */
     ADMW1001_DIGITAL_SENSOR_DATA_CODING_UNIPOLAR,
     /**< Unipolar - unsigned integer values */
@@ -533,13 +590,15 @@
     ADMW1001_DIGITAL_SENSOR_DATA_CODING_OFFSET_BINARY,
     /**< Offset Binary - used to represent signed values with unsigned integers,
      *   with the mid-range value representing 0 */
-} ADMW1001_DIGITAL_SENSOR_DATA_CODING;
+
+}   ADMW1001_DIGITAL_SENSOR_DATA_CODING;
 
 /*! ADMW1001 digital sensor data format configuration
  *
  *  @note applicable only to SPI and I2C digital sensor channels
  */
-typedef struct {
+typedef struct
+{
     ADMW1001_DIGITAL_SENSOR_DATA_CODING coding;
     /**< Data Encoding of Sensor Result */
     bool littleEndian;
@@ -552,24 +611,30 @@
     /**< Number of relevant data bits to extract from the data frame */
     uint8_t bitOffset;
     /**< Data bit offset, relative to data alignment within the data frame */
-} ADMW1001_DIGITAL_SENSOR_DATA_FORMAT;
+    uint8_t reserved[2];
+    /*!< Reserved for future use and ensure word alignment. */
+
+}   ADMW1001_DIGITAL_SENSOR_DATA_FORMAT;
 
 /*! ADMW1001 digital sensor command
  *
  *  @note applicable only to SPI and I2C digital sensor channels
  */
-typedef struct {
+typedef struct
+{
     uint8_t command[ADMW1001_SENSOR_COMMAND_MAX_LENGTH];
     /*!< Optional command bytes to send to the device */
     uint8_t commandLength;
     /*!< Number of valid command bytes.  Set to 0 if unused */
-} ADMW1001_DIGITAL_SENSOR_COMMAND;
+
+}   ADMW1001_DIGITAL_SENSOR_COMMAND;
 
 /*! ADMW1001 digital sensor calibration param
  *
  *  @note applicable only to digital sensor channels
  */
-typedef struct {
+typedef struct
+{
     uint32_t calibrationParam;
     /*!< Independently established environmental variable used during calibration
      *   of a digital sensor. Used only if the sensor supports calibration
@@ -577,68 +642,80 @@
      */
     bool enableCalibrationParam;
     /*!< Allow Calibration_Parameter to be used during calibration of any digital sensor */
-} ADMW1001_DIGITAL_CALIBRATION_COMMAND;
+    uint8_t                         reserved[3];
+    /*!< Reserved for future use and ensure word alignment. */
+
+}   ADMW1001_DIGITAL_CALIBRATION_COMMAND;
 
 /*! ADMW1001 digital sensor communication config
  *
  *  @note applicable only to digital sensor channels
  */
-typedef struct {
-    bool  useCustomCommsConfig;
+typedef struct
+{
+    bool                                            useCustomCommsConfig;
     /*!< Optional parameter to enable user digital communication settings */
-    ADMW1001_DIGITAL_SENSOR_COMMS_I2C_CLOCK_SPEED     i2cClockSpeed;
+    ADMW1001_DIGITAL_SENSOR_COMMS_I2C_CLOCK_SPEED   i2cClockSpeed;
     /*!< Optional parameter to configure specific i2c speed for i2c sensor */
-    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_MODE            spiMode;
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_MODE          spiMode;
     /*!< Optional parameter to configure specific spi mode for spi sensor */
-    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK           spiClock;
+    ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK         spiClock;
     /*!< Optional parameter to configure specific spi clock for spi sensor */
-} ADMW1001_DIGITAL_SENSOR_COMMS;
+
+}   ADMW1001_DIGITAL_SENSOR_COMMS;
 
 /*! ADMW1001 I2C digital channel configuration details
  *
  *  @note applicable only to I2C digital sensor channels
  */
-typedef struct {
-    ADMW1001_I2C_SENSOR_TYPE        sensor;
+typedef struct
+{
+    ADMW1001_I2C_SENSOR_TYPE                sensor;
     /*!< Sensor type selection */
-    uint32_t                              deviceAddress;
+    uint8_t                                 deviceAddress;
     /*!< I2C device address (7-bit) */
-    ADMW1001_DIGITAL_SENSOR_COMMAND configurationCommand;
+    uint8_t                                 reserved;
+    /*!< Reserved for future use and ensure word alignment. */
+    ADMW1001_DIGITAL_SENSOR_COMMAND         configurationCommand;
     /*!< Optional configuration command to send to the device at start-up.
      *   A default configuration command will be used if this is not specified.
      *   Applicable only to specific I2C sensor types.
      */
-    ADMW1001_DIGITAL_SENSOR_COMMAND dataRequestCommand;
+    ADMW1001_DIGITAL_SENSOR_COMMAND         dataRequestCommand;
     /*!< Optional data request command to send to the device for each sample.
      *   A default data request command will be used if this is not specified.
      *   Applicable only to specific I2C sensor types.
      */
-    ADMW1001_DIGITAL_SENSOR_DATA_FORMAT dataFormat;
+    ADMW1001_DIGITAL_SENSOR_DATA_FORMAT     dataFormat;
     /*!< Optional data format configuration to parse/extract data from the device.
      *   A default data format will be used if this is not specified.
      *   Applicable only to specific I2C sensor types
      */
-    ADMW1001_DIGITAL_CALIBRATION_COMMAND digitalCalibrationParam;
+    ADMW1001_DIGITAL_CALIBRATION_COMMAND    digitalCalibrationParam;
     /*!< This is used to supply an independently established environmental variable
      *   that must be used during calibration of a [digital] sensor which a)
      *   supports calibration and b) expects an environmental parameter.
      *   An example is a CO2 sensor, which may require the CO2 concentration level
      *   when performing a calibration
      */
-    ADMW1001_DIGITAL_SENSOR_COMMS configureComms;
+    ADMW1001_DIGITAL_SENSOR_COMMS           configureComms;
     /*!< Optional configuration to setup a user communication config.
      *   A default configuration  will be used if this is not specified.
      *   Applicable only to specific I2C sensor types.
      */
-} ADMW1001_I2C_CHANNEL_CONFIG;
+
+}   ADMW1001_I2C_CHANNEL_CONFIG;
 
 /*! ADMW1001 SPI digital channel configuration details
  *
  *  @note applicable only to SPI digital sensor channels
  */
-typedef struct {
+typedef struct
+{
     ADMW1001_SPI_SENSOR_TYPE        sensor;
     /*!< Sensor type selection */
+    uint8_t                         reserved[2];
+    /*!< Reserved for future use and ensure word alignment. */    
     ADMW1001_DIGITAL_SENSOR_COMMAND configurationCommand;
     /*!< Optional configuration command to send to the device at start-up.
      *   A default configuration command will be used if this is not specified.
@@ -661,84 +738,85 @@
      *   An example is a CO2 sensor, which may require the CO2 concentration level
      *   when performing a calibration
      */
-    ADMW1001_DIGITAL_SENSOR_COMMS configureComms;
+    ADMW1001_DIGITAL_SENSOR_COMMS       configureComms;
     /*!< Optional configuration to setup a user communication config.
      *   A default configuration  will be used if this is not specified.
      *   Applicable only to specific SPI sensor types.
      */
-} ADMW1001_SPI_CHANNEL_CONFIG;
 
+}   ADMW1001_SPI_CHANNEL_CONFIG;
 
 /*! ADMW1001 Measurement Channel configuration details */
-typedef struct {
-    bool                                 enableChannel;
+typedef struct
+{
+    bool                                enableChannel;
     /*!< Option to include this channel in normal measurement cycles */
-    bool                                 disablePublishing;
+    bool                                disablePublishing;
     /*!< Option to disable publishing of data samples from this channel.  The
      *   channel may still be included in measurement cycles, but data samples
      *   obtained from this channel will not be published.  This is typically
      *   used for channels which are required only as a compensation reference
      *   for another channel (e.g. Cold-Junction Compensation channels).
      */
-    ADMW1001_CHANNEL_ID                compensationChannel;
-    /*!< Optional compensation channel.  Set to ADMW1001_CHANNEL_ID_NONE if not
+    ADMW1001_CH_ID                      compensationChannel;
+    /*!< Optional compensation channel.  Set to ADMW1001_CH_ID_NONE if not
      *   required.  Typically used for thermocouple sensors that require a
      *   separate measurement of the "cold-junction" temperature, which can be
      *   be provided by an RTD temperature sensor connected on a separate
      *   "compensation channel" */
-    bool                                 enableUnityLut;
-    /*!< Option to choose the LUT for calculations, this implies that the
+    ADMW1001_LUT_SELECT                 lutSelect;
+    /*!<Select Look Up Table LUT for calculations, this implies that the
      * fundamental measurement for the sensor (typically mV or Ohms)
-     * would be returned as the measurement result.
+     * 0 = default, 1= unity, 2 = custom
      */
-    ADMW1001_MEASUREMENT_UNIT          measurementUnit;
+    ADMW1001_MEASUREMENT_UNIT           measurementUnit;
     /*!< Optional measurement unit selection for conversion results.  Applicable
      *   only for certain sensor types.  Set to
      *   ADMW1001_MEASUREMENT_UNIT_DEFAULT if not applicable.
      */
-    float32_t                            lowThreshold;
+    float32_t                           lowThreshold;
     /*!< Optional minimum threshold value for each processed sample, to be
      *   checked prior to publishing.  A channel ALERT condition is raised
      *   if the processed value is lower than this threshold.  Set to NaN
      *   if not required.
      */
-    float32_t                            highThreshold;
+    float32_t                           highThreshold;
     /*!< Optional maximum threshold value for each processed sample, to be
      *   checked prior to publishing.  A channel ALERT condition is raised
      *   if the processed value is higher than this threshold.  Set to NaN
      *   if not required.
      */
-    float32_t                            offsetAdjustment;
+    float32_t                           offsetAdjustment;
     /*!< Optional offset adjustment value applied to each processed sample.
      *   Set to NaN or 0.0 if not required.
      */
-    float32_t                            gainAdjustment;
+    float32_t                           gainAdjustment;
     /*!< Optional gain adjustment value applied to each processed sample.
      *   Set to NaN or 1.0 if not required.
      */
-    float32_t                            sensorParameter;
+    float32_t                           sensorParameter;
     /*!< Optional sensor parameter adjustment.
      *   Set to NaN or 0 if not required.
      */
-    uint32_t                             measurementsPerCycle;
+    uint32_t                            measurementsPerCycle;
     /*!< The number of measurements to obtain from this channel within each
      *   cycle.  Each enabled channel is measured in turn, until the number of
      *   measurements requested for the channel has been reached.  A different
      *   number of measurements-per-cycle may be specified for each channel.
      */
-    uint32_t                             cycleSkipCount;
+    uint32_t                            cycleSkipCount;
     /*!< Optional number of cycles to skip, such that this channel is included
      *   in the sequence in only one of every (cycleSkipCount + 1) cycles that
      *   occur.  If set to 0 (default), this channel is included in every cycle;
      *   if set to 1, this channel is included in every 2nd cycle; if set to 2,
      *   this channel is included in every 3rd cycle, and so on.
      */
-    uint32_t                             extraSettlingTime;
+    uint32_t                            extraSettlingTime;
     /*!< A minimum settling time is applied internally for each channel, based
      *   on the sensor type.  However, additional settling time (microseconds)
      *   can optionally be specified.  Set to 0 if not required.
      */
-    ADMW1001_CHANNEL_PRIORITY          priority;
+    ADMW1001_CHANNEL_PRIORITY           priority;
     /*!< By default, channels are arranged in the measurement sequence based on
      *   ascending order of channel ID.  However, a priority-level may be
      *   specified per channel to force a different ordering of the channels,
@@ -747,48 +825,51 @@
      *   ID.  Lower numbers indicate higher priority, with 0 being the highest.
      *   Set to 0 if not required.
      */
-    union {
-        ADMW1001_ADC_CHANNEL_CONFIG adcChannelConfig;
+    union 
+    {
+        ADMW1001_ADC_CHANNEL_CONFIG     adcChannelConfig;
         /*!< ADC channel configuration - applicable only to ADC channels */
-        ADMW1001_I2C_CHANNEL_CONFIG i2cChannelConfig;
+        ADMW1001_I2C_CHANNEL_CONFIG     i2cChannelConfig;
         /*!< I2C channel configuration - applicable only to I2C channels */
-        ADMW1001_SPI_CHANNEL_CONFIG spiChannelConfig;
+        ADMW1001_SPI_CHANNEL_CONFIG     spiChannelConfig;
         /*!< SPI channel configuration - applicable only to SPI channels */
     };
     /*!< Only one of adcChannelConfig, i2cChannelConfig, spiChannelConfig
      *  is required, depending on the channel designation
      *   (analog, I2C, SPI)
      */
-} ADMW1001_CHANNEL_CONFIG;
+
+}   ADMW1001_CHANNEL_CONFIG;
 
 /*! ADMW1001 Diagnostics configuration details */
-typedef struct {
-    bool                                   disableGlobalDiag;
+typedef struct
+{
+    bool                                disableGlobalDiag;
     /*!< Option to disable the following diagnostic checks on the ADC:
      *   - Reference Detection errors
      *   - Input under-/over-voltage errors
      *   - Calibration, Conversion and Saturation errors
      */
-    bool                                   disableMeasurementDiag;
+    bool                                disableMeasurementDiag;
     /*!< Option to disable additional checks per measurement channel:
      *   - High/low threshold limit violation
      */
-#ifdef __V2_3_CFG_FMT__
-    bool                                   disableCriticalTempAbort;
+
+    bool                                disableCriticalTempAbort;
     /*!< Option to disable abort of measurement cycle if the operating
      *   temperature of the ADMW1001 has exceeded critical limits
      */
-#endif
-    ADMW1001_OPEN_SENSOR_DIAGNOSTICS osdFrequency;
+
+    ADMW1001_OPEN_SENSOR_DIAGNOSTICS    osdFrequency;
     /*!< Option to enable Open-Circuit Detection at a selected cycle interval */
-} ADMW1001_DIAGNOSTICS_CONFIG;
 
-#ifdef __V2_3_CFG_FMT__
+}   ADMW1001_DIAGNOSTICS_CONFIG;
+
 typedef uint16_t ADMW1001_ADVANCED_ACCESS_KEY;
-#endif
 
 /*! ADMW1001 Device configuration details */
-typedef struct {
+typedef struct
+{
     ADMW1001_POWER_CONFIG           power;
     /*!< Power configuration details */
     ADMW1001_MEASUREMENT_CONFIG     measurement;
@@ -797,11 +878,10 @@
     /*!< FFT configuration details */
     ADMW1001_CHANNEL_CONFIG         channels[ADMW1001_MAX_CHANNELS];
     /*!< Channel-specific configuration details */
-#ifdef __V2_3_CFG_FMT__
     ADMW1001_ADVANCED_ACCESS_KEY    advancedAccessKey;
-#endif
     /*!< Key to enable access to advanced sensor configuration options */
-} ADMW1001_CONFIG;
+
+}   ADMW1001_CONFIG;
 
 #ifdef __cplusplus
 }
--- a/inc/admw1001/admw1001_sensor_types.h	Tue Jun 18 09:28:16 2019 +0000
+++ b/inc/admw1001/admw1001_sensor_types.h	Thu Jun 20 18:13:57 2019 +0000
@@ -52,33 +52,44 @@
 #endif
 
 /*! ADMW1001 measurement channel identifiers */
-typedef enum {
-    ADMW1001_CHANNEL_ID_NONE  = -1,
-    /*!< Used to indicate when no channel is selected*/
+typedef enum
+{
+    ADMW1001_CH_ID_NONE  = -1,
+    /*!< Used to indicate when no channel is selected */
 
-    ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL = 0,
+    ADMW1001_CH_ID_ANLG_1_UNIVERSAL = 0,
     /*!< Universal channel 1 universal channel */
-    ADMW1001_CHANNEL_ID_ANALOG_2_UNIVERSAL,
+    ADMW1001_CH_ID_ANLG_2_UNIVERSAL,
     /*!< Universal channel 2 universal channel */   
-    ADMW1001_CHANNEL_ID_ANALOG_1_DIFFERENTIAL,
+    ADMW1001_CH_ID_ANLG_1_DIFFERENTIAL,
     /*!< Universal channel 1 differential channel */
-    ADMW1001_CHANNEL_ID_ANALOG_2_DIFFERENTIAL,
+    ADMW1001_CH_ID_ANLG_2_DIFFERENTIAL,
     /*!< Universal channel 2 differential channel */ 
     
-    ADMW1001_CHANNEL_ID_I2C_0,
+    ADMW1001_CH_ID_DIG_I2C_0,
     /*!< Digital I2C Sensor channel #0 */
-    ADMW1001_CHANNEL_ID_I2C_1,
+    ADMW1001_CH_ID_DIG_I2C_1,
     /*!< Digital I2C Sensor channel #1 */
-    ADMW1001_CHANNEL_ID_SPI_0,
+    ADMW1001_CH_ID_DIG_I2C_2,
+    /*!< Digital I2C Sensor channel #2 */
+    ADMW1001_CH_ID_DIG_I2C_3,
+    /*!< Digital I2C Sensor channel #3 */
+    ADMW1001_CH_ID_DIG_I2C_4,
+    /*!< Digital I2C Sensor channel #4 */
+    ADMW1001_CH_ID_DIG_I2C_5,
+    /*!< Digital I2C Sensor channel #5 */
+    
+    ADMW1001_CH_ID_DIG_SPI_0,
     /*!< Digital SPI Sensor channel #0 */
-    ADMW1001_CHANNEL_ID_SPI_1,
+    ADMW1001_CH_ID_DIG_SPI_1,
     /*!< Digital SPI Sensor channel #1 */
-    ADMW1001_CHANNEL_ID_SPI_2,
+    ADMW1001_CH_ID_DIG_SPI_2,
     /*!< Digital SPI Sensor channel #2 */
 
     ADMW1001_MAX_CHANNELS,
     /*!< Maximum number of measurement channels on ADMW1001 */
-} ADMW1001_CHANNEL_ID;
+    
+}   ADMW1001_CH_ID;
 
 /*! ADMW1001 analog sensor type options
  *
@@ -88,654 +99,282 @@
  *  @note Some channels may only support a subset of the available sensor types
  *        below.
  *
- *  @note The sensor type name may include a classification suffix:
- *        - _DEF_L1: pre-defined sensor using built-in linearisation data
- *        - _DEF_L2: pre-defined sensor using user-supplied linearisation data
- *        Where the suffix is absent, assume the _DEF_L1 classification above.
  */
-typedef enum {
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_T_DEF_L1 = 0,
-    /*!< Standard T-type Thermocouple temperature sensor with default
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_J_DEF_L1 = 1,
-    /*!< Standard J-type Thermocouple temperature sensor with default
-     *   linearisation and default configuration options
+typedef enum
+{
+    ADMW1001_ADC_SENSOR_THERMOCOUPLE_T = 0,
+    /*!< Standard T-type Thermocouple temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_K_DEF_L1 = 2,
-    /*!< Standard K-type Thermocouple temperature sensor with default
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_THERMOCOUPLE_J = 1,
+    /*!< Standard J-type Thermocouple temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_1_DEF_L2 = 8,
-    /*!< Standard thermocouple temperature sensor with user-defined
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_2_DEF_L2 = 9,
-    /*!< Standard thermocouple temperature sensor with user-defined
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_3_DEF_L2 = 10,
-    /*!< Standard thermocouple temperature sensor with user-defined
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_THERMOCOUPLE_K = 2,
+    /*!< Standard K-type Thermocouple temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_4_DEF_L2 = 11,
-    /*!< Standard thermocouple temperature sensor with user-defined
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_THERMOCOUPLE_1 = 8,
+    /*!< Standard thermocouple temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_T_ADV_L1 = 16,
-    /*!< T-type thermocouple temperature sensor with default linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_J_ADV_L1 = 17,
-    /*!< T-type thermocouple temperature sensor with default linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_K_ADV_L1 = 18,
-    /*!< T-type thermocouple temperature sensor with default linearisation and
-     *   advanced configuration options
+    ADMW1001_ADC_SENSOR_THERMOCOUPLE_2 = 9,
+    /*!< Standard thermocouple temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_1_ADV_L2 = 24,
-    /*!< Thermocouple temperature sensor with user-defined
-     *   linearisation and advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_2_ADV_L2 = 25,
-    /*!< Thermocouple temperature sensor with user-defined
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_THERMOCOUPLE_3 = 10,
+    /*!< Standard thermocouple temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_3_ADV_L2 = 26,
-    /*!< Thermocouple temperature sensor with user-defined
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_THERMOCOUPLE_4 = 11,
+    /*!< Standard thermocouple temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_THERMOCOUPLE_4_ADV_L2 = 27,
-    /*!< Thermocouple temperature sensor with user-defined
-     *   linearisation and advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1 = 32,
-    /*!< Standard 2-wire PT100 RTD temperature sensor with default
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100 = 32,
+    /*!< Standard 2-wire PT100 RTD temperature sensor 
      *
      * @note For use with Cold-Juction Compensation and Analog Sensor channels
      *       only
      */
-    ADMW1001_ADC_SENSOR_RTD_2WIRE_PT1000_DEF_L1 = 33,
-    /*!< Standard 2-wire PT1000 RTD temperature sensor with default
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_RTD_2WIRE_PT1000 = 33,
+    /*!< Standard 2-wire PT1000 RTD temperature 
      *
      * @note For use with Cold-Juction Compensation and Analog Sensor channels
      *       only
      */
-    ADMW1001_ADC_SENSOR_RTD_2WIRE_1_DEF_L2 = 40,
-    /*!< 2-wire RTD temperature sensor with user-defined linearisation and
-     *   default configuration options
-     *
-     * @note For use with Cold-Juction Compensation and Analog Sensor channels
-     *       only
-     */
-    ADMW1001_ADC_SENSOR_RTD_2WIRE_2_DEF_L2 = 41,
-    /*!< 2-wire RTD temperature sensor with user-defined linearisation and
-     *   default configuration options
-     *
-     * @note For use with Cold-Juction Compensation and Analog Sensor channels
-     *       only
-     */
-    ADMW1001_ADC_SENSOR_RTD_2WIRE_3_DEF_L2 = 42,
-    /*!< 2-wire RTD temperature sensor with user-defined linearisation and
-     *   default configuration options
+    ADMW1001_ADC_SENSOR_RTD_2WIRE_1 = 40,
+    /*!< 2-wire RTD temperature sensor 
      *
      * @note For use with Cold-Juction Compensation and Analog Sensor channels
      *       only
      */
-    ADMW1001_ADC_SENSOR_RTD_2WIRE_4_DEF_L2 = 43,
-    /*!< 2-wire RTD temperature sensor with user-defined linearisation and
-     *   default configuration options
-     *
-     * @note For use with Cold-Juction Compensation and Analog Sensor channels
-     *       only
-     */
-    ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_ADV_L1 = 48,
-    /*!< Standard 2-wire PT100 RTD temperature sensor with default
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_RTD_2WIRE_2 = 41,
+    /*!< 2-wire RTD temperature sensor 
      *
      * @note For use with Cold-Juction Compensation and Analog Sensor channels
      *       only
      */
-    ADMW1001_ADC_SENSOR_RTD_2WIRE_PT1000_ADV_L1 = 49,
-    /*!< Standard 2-wire PT1000 RTD temperature sensor with default
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_RTD_2WIRE_3 = 42,
+    /*!< 2-wire RTD temperature sensor 
      *
      * @note For use with Cold-Juction Compensation and Analog Sensor channels
      *       only
      */
-    ADMW1001_ADC_SENSOR_RTD_2WIRE_1_ADV_L2 = 56,
-    /*!< 2-wire RTD temperature sensor with user-defined linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with Cold-Juction Compensation and Analog Sensor channels
-     *       only
-     */
-    ADMW1001_ADC_SENSOR_RTD_2WIRE_2_ADV_L2 = 57,
-    /*!< 2-wire RTD temperature sensor with user-defined linearisation and
-     *   advanced configuration options
+    ADMW1001_ADC_SENSOR_RTD_2WIRE_4 = 43,
+    /*!< 2-wire RTD temperature sensor 
      *
      * @note For use with Cold-Juction Compensation and Analog Sensor channels
      *       only
      */
-    ADMW1001_ADC_SENSOR_RTD_2WIRE_3_ADV_L2 = 58,
-    /*!< 2-wire RTD temperature sensor with user-defined linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with Cold-Juction Compensation and Analog Sensor channels
-     *       only
-     */
-    ADMW1001_ADC_SENSOR_RTD_2WIRE_4_ADV_L2 = 59,
-    /*!< 2-wire RTD temperature sensor with user-defined linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with Cold-Juction Compensation and Analog Sensor channels
-     *       only
-     */
-    ADMW1001_ADC_SENSOR_RTD_3WIRE_PT100_DEF_L1 = 64,
-    /*!< Standard 3-wire PT100 RTD temperature sensor with default
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_RTD_3WIRE_PT100 = 64,
+    /*!< Standard 3-wire PT100 RTD temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_3WIRE_PT1000_DEF_L1 = 65,
-    /*!< Standard 3-wire PT1000 RTD temperature sensor with default
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_RTD_3WIRE_PT1000 = 65,
+    /*!< Standard 3-wire PT1000 RTD temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_3WIRE_1_DEF_L2 = 72,
-    /*!< 3-wire RTD temperature sensor with user-defined linearisation and
-     *   default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_RTD_3WIRE_2_DEF_L2 = 73,
-    /*!< 3-wire RTD temperature sensor with user-defined linearisation and
-     *   default configuration options
+    ADMW1001_ADC_SENSOR_RTD_3WIRE_1 = 72,
+    /*!< 3-wire RTD temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_3WIRE_3_DEF_L2 = 74,
-    /*!< 3-wire RTD temperature sensor with user-defined linearisation and
-     *   default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_RTD_3WIRE_4_DEF_L2 = 75,
-    /*!< 3-wire RTD temperature sensor with user-defined linearisation and
-     *   default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_RTD_3WIRE_PT100_ADV_L1 = 80,
-    /*!< Standard 3-wire PT100 RTD temperature sensor with default
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_RTD_3WIRE_2 = 73,
+    /*!< 3-wire RTD temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_3WIRE_PT1000_ADV_L1 = 81,
-    /*!< Standard 3-wire PT1000 RTD temperature sensor with default
-     *   linearisation and advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_RTD_3WIRE_1_ADV_L2 = 88,
-    /*!< 3-wire RTD temperature sensor with user-defined linearisation and
-     *   advanced configuration options
+    ADMW1001_ADC_SENSOR_RTD_3WIRE_3 = 74,
+    /*!< 3-wire RTD temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_3WIRE_2_ADV_L2 = 89,
-    /*!< 3-wire RTD temperature sensor with user-defined linearisation and
-     *   advanced configuration options
+    ADMW1001_ADC_SENSOR_RTD_3WIRE_4 = 75,
+    /*!< 3-wire RTD temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_3WIRE_3_ADV_L2 = 90,
-    /*!< 3-wire RTD temperature sensor with user-defined linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_RTD_3WIRE_4_ADV_L2 = 91,
-    /*!< 3-wire RTD temperature sensor with user-defined linearisation and
-     *   advanced configuration options
+    ADMW1001_ADC_SENSOR_RTD_4WIRE_PT100 = 96,
+    /*!< Standard 4-wire PT100 RTD temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_4WIRE_PT100_DEF_L1 = 96,
-    /*!< Standard 4-wire PT100 RTD temperature sensor with default
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_RTD_4WIRE_PT1000_DEF_L1 = 97,
-    /*!< Standard 4-wire PT1000 RTD temperature sensor with default
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_RTD_4WIRE_1_DEF_L2 = 104,
-    /*!< 4-wire RTD temperature sensor with user-defined linearisation and
-     *   default configuration options
+    ADMW1001_ADC_SENSOR_RTD_4WIRE_PT1000 = 97,
+    /*!< Standard 4-wire PT1000 RTD temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_4WIRE_2_DEF_L2 = 105,
-    /*!< 4-wire RTD temperature sensor with user-defined linearisation and
-     *   default configuration options
+    ADMW1001_ADC_SENSOR_RTD_4WIRE_1 = 104,
+    /*!< 4-wire RTD temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_4WIRE_3_DEF_L2 = 106,
-    /*!< 4-wire RTD temperature sensor with user-defined linearisation and
-     *   default configuration options
+    ADMW1001_ADC_SENSOR_RTD_4WIRE_2 = 105,
+    /*!< 4-wire RTD temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_4WIRE_4_DEF_L2 = 107,
-    /*!< 4-wire RTD temperature sensor with user-defined linearisation and
-     *   default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_RTD_4WIRE_PT100_ADV_L1 = 112,
-    /*!< Standard 4-wire PT100 RTD temperature sensor with default
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_RTD_4WIRE_3 = 106,
+    /*!< 4-wire RTD temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_4WIRE_PT1000_ADV_L1 = 113,
-    /*!< Standard 4-wire PT1000 RTD temperature sensor with default
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_RTD_4WIRE_4 = 107,
+    /*!< 4-wire RTD temperature sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_4WIRE_1_ADV_L2 = 120,
-    /*!< 4-wire RTD temperature sensor with user-defined linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_RTD_4WIRE_2_ADV_L2 = 121,
-    /*!< 4-wire RTD temperature sensor with user-defined linearisation and
-     *   advanced configuration options
+    ADMW1001_ADC_SENSOR_THERMISTOR_A_10K = 128,
+    /*!< Standard 10kOhm NTC Thermistor
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_RTD_4WIRE_3_ADV_L2 = 122,
-    /*!< 4-wire RTD temperature sensor with user-defined linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_RTD_4WIRE_4_ADV_L2 = 123,
-    /*!< 4-wire RTD temperature sensor with user-defined linearisation and
-     *   advanced configuration options
+    ADMW1001_ADC_SENSOR_THERMISTOR_B_10K = 129,
+    /*!< Standard 10kOhm NTC Thermistor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_THERMISTOR_A_10K_DEF_L1 = 128,
-    /*!< Standard 10kOhm NTC Thermistor temperature sensor with Steinhart–Hart
-     *   linearisation equation and default configuration options
+    ADMW1001_ADC_SENSOR_THERMISTOR_1 = 136,
+    /*!< Thermistor sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_THERMISTOR_B_10K_DEF_L1 = 129,
-    /*!< Standard 10kOhm NTC Thermistor temperature sensor with Beta
-     *   linearisation equation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMISTOR_1_DEF_L2 = 136,
+    ADMW1001_ADC_SENSOR_THERMISTOR_2 = 137,
     /*!< Thermistor sensor with user-defined linearisation and
      *   default configuration options
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_THERMISTOR_2_DEF_L2 = 137,
-    /*!< Thermistor sensor with user-defined linearisation and
-     *   default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMISTOR_3_DEF_L2 = 138,
-    /*!< Thermistor sensor with user-defined linearisation and
-     *   default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMISTOR_4_DEF_L2 = 139,
-    /*!< Thermistor sensor with user-defined linearisation and
-     *   default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMISTOR_A_10K_ADV_L1 = 144,
-    /*!< 10kOhm NTC Thermistor temperature sensor with Steinhart–Hart
-     *   linearisation equation and advanced configuration options
+    ADMW1001_ADC_SENSOR_THERMISTOR_3 = 138,
+    /*!< Thermistor sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_THERMISTOR_B_10K_ADV_L1 = 145,
-    /*!< 10kOhm NTC Thermistor temperature sensor with Beta
-     *   linearisation equation and advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMISTOR_1_ADV_L2 = 152,
-    /*!< Thermistor sensor with user-defined linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMISTOR_2_ADV_L2 = 153,
-    /*!< Thermistor sensor with user-defined linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMISTOR_3_ADV_L2 = 154,
-    /*!< Thermistor sensor with user-defined linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_THERMISTOR_4_ADV_L2 = 155,
-    /*!< Thermistor sensor with user-defined linearisation and
-     *   advanced configuration options
+    ADMW1001_ADC_SENSOR_THERMISTOR_4 = 139,
+    /*!< Thermistor sensor 
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_1_DEF_L2 = 168,
-    /*!< Standard 4-wire Bridge Transducer sensor with user-defined
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
-     */
-    ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_2_DEF_L2 = 169,
-    /*!< Standard 4-wire Bridge Transducer sensor with user-defined
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_1 = 168,
+    /*!< Standard 4-wire Bridge Transducer sensor 
      *
      * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
+     * @note Bridge Excitation Voltage must be selected as reference
      */
-    ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_3_DEF_L2 = 170,
-    /*!< Standard 4-wire Bridge Transducer sensor with user-defined
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
-     */
-    ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_4_DEF_L2 = 171,
-    /*!< Standard 4-wire Bridge Transducer sensor with user-defined
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_2 = 169,
+    /*!< Standard 4-wire Bridge Transducer sensor 
      *
      * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
+     * @note Bridge Excitation Voltage must be selected as reference
      */
-    ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_1_ADV_L2 = 184,
-    /*!< Standard 4-wire Bridge Transducer sensor with user-defined
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_3 = 170,
+    /*!< Standard 4-wire Bridge Transducer sensor 
      *
      * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
-     */
-    ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_2_ADV_L2 = 185,
-    /*!< Standard 4-wire Bridge Transducer sensor with user-defined
-     *   linearisation and advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
+     * @note Bridge Excitation Voltage must be selected as reference
      */
-    ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_3_ADV_L2 = 186,
-    /*!< Standard 4-wire Bridge Transducer sensor with user-defined
-     *   linearisation and advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
-     */
-    ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_4_ADV_L2 = 187,
-    /*!< Standard 4-wire Bridge Transducer sensor with user-defined
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_4 = 171,
+    /*!< Standard 4-wire Bridge Transducer sensor 
      *
      * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
+     * @note Bridge Excitation Voltage must be selected as reference
      */
-    ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_1_DEF_L2 = 200,
-    /*!< Standard 6-wire Bridge Transducer sensor with user-defined
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_1 = 200,
+    /*!< Standard 6-wire Bridge Transducer sensor 
      *
      * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
-     */
-    ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_2_DEF_L2 = 201,
-    /*!< Standard 6-wire Bridge Transducer sensor with user-defined
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
+     * @note Bridge Excitation Voltage must be selected as reference
      */
-    ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_3_DEF_L2 = 202,
-    /*!< Standard 6-wire Bridge Transducer sensor with user-defined
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
-     */
-    ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_4_DEF_L2 = 203,
-    /*!< Standard 6-wire Bridge Transducer sensor with user-defined
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_2 = 201,
+    /*!< Standard 6-wire Bridge Transducer sensor 
      *
      * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
+     * @note Bridge Excitation Voltage must be selected as reference
      */
-    ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_1_ADV_L2 = 216,
-    /*!< Standard 6-wire Bridge Transducer sensor with user-defined
-     *   linearisation and advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
-     */
-    ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_2_ADV_L2 = 217,
-    /*!< Standard 6-wire Bridge Transducer sensor with user-defined
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_3 = 202,
+    /*!< Standard 6-wire Bridge Transducer sensor 
      *
      * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
+     * @note Bridge Excitation Voltage must be selected as reference
      */
-    ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_3_ADV_L2 = 218,
-    /*!< Standard 6-wire Bridge Transducer sensor with user-defined
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_4 = 203,
+    /*!< Standard 6-wire Bridge Transducer sensor 
      *
      * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
+     * @note Bridge Excitation Voltage must be selected as reference
      */
-    ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_4_ADV_L2 = 219,
-    /*!< Standard 6-wire Bridge Transducer sensor with user-defined
-     *   linearisation and advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     * @note Bridge Excition Voltage must be selected as reference
-     */
-    ADMW1001_ADC_SENSOR_DIODE_2C_TYPEA_DEF_L1 = 224,
-    /*!< Standard Diode two current temperature sensor with default
-     *   linearisation equation and default configuration options
+    ADMW1001_ADC_SENSOR_DIODE_2C_TYPEA = 224,
+    /*!< Standard Diode two current temperature sensor 
      *
      * @note For use with  Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_DIODE_3C_TYPEA_DEF_L1 = 225,
-    /*!< Standard Diode three current temperature sensor with default
-     *   linearisation equation and default configuration options
-     *
-     * @note For use with  Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_DIODE_2C_1_DEF_L2 = 232,
-    /*!< Standard Diode two current sensor with user-defined linearisation and
-     *   default configuration options
-     *
-     * @note For use with  Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_DIODE_3C_1_DEF_L2 = 233,
-    /*!< Standard Diode three current sensor with user-defined linearisation and
-     *   default configuration options
+    ADMW1001_ADC_SENSOR_DIODE_3C_TYPEA = 225,
+    /*!< Standard Diode three current temperature sensor
      *
      * @note For use with  Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_DIODE_2C_TYPEA_ADV_L1 = 240,
-    /*!< Standard Diode two current temperature sensor with default
-     *   linearisation equation and advanced configuration options
+    ADMW1001_ADC_SENSOR_DIODE_2C_1 = 232,
+    /*!< Standard Diode two current sensor
      *
      * @note For use with  Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_DIODE_3C_TYPEA_ADV_L1 = 241,
-    /*!< Standard Diode three current sensor with default linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with  Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_DIODE_2C_1_ADV_L2 = 248,
-    /*!< Standard Diode two current sensor with user-defined linearisation and
-     *   advanced configuration options
-     *
-     * @note For use with  Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_DIODE_3C_1_ADV_L2 = 249,
-    /*!< Standard Diode three current sensor with user-defined linearisation and
-     *   advanced configuration options
+    ADMW1001_ADC_SENSOR_DIODE_3C_1 = 233,
+    /*!< Standard Diode three current sensor
      *
      * @note For use with  Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_MICROPHONE_A_DEF_L1 = 256,
-    /*!< Generic microphone sensor without external amplifier, and with
-     *   default linearisation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_MICROPHONE_B_DEF_L1 = 257,
-    /*!< Generic microphone sensor with external amplifier and bias, and with
-     *   default linearisation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_MICROPHONE_1_DEF_L2 = 264,
-    /*!< Generic microphone sensor without external amplifier, and with
-     *   user-defined linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_MICROPHONE_A = 256,
+    /*!< Generic microphone sensor without external amplifier
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_MICROPHONE_2_DEF_L2 = 265,
-    /*!< Generic microphone sensor with external amplifier and bias, and with
-     *   user-defined linearisation and default configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_MICROPHONE_A_ADV_L1 = 272,
-    /*!< Generic microphone sensor without external amplifier, and with
-     *   default linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_MICROPHONE_B = 257,
+    /*!< Generic microphone sensor with external amplifier and bias
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_MICROPHONE_B_ADV_L1 = 273,
-    /*!< Generic microphone sensor with external amplifier and bias, and with
-     *   default linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_MICROPHONE_1 = 264,
+    /*!< Generic microphone sensor without external amplifier
      *
      * @note For use with Analog Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_MICROPHONE_1_ADV_L2 = 278,
-    /*!< Generic microphone sensor without external amplifier, and with
-     *   user-defined linearisation and advanced configuration options
-     *
-     * @note For use with Analog Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_MICROPHONE_2_ADV_L2 = 279,
-    /*!< Generic microphone sensor with external amplifier and bias, and with
-     *   user-defined linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_MICROPHONE_2 = 265,
+    /*!< Generic microphone sensor with external amplifier and bias
      *
      * @note For use with Analog Sensor channels only
      */
     ADMW1001_ADC_SENSOR_VOLTAGE = 512,
-    /*!< Generic voltage sensor with no linearisation applied
+    /*!< Generic voltage sensor 
      *
      * @note For use with Analog 0-10V Voltage Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_A_DEF_L1 = 544,
+    ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_A = 544,
     /*!< Honeywell Pressure voltage sensor (HSCMRNN1.6BAAA3) with default
      *   linearisation and default configuration options
      *
      * @note For use with Analog 0-10V Voltage Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_B_DEF_L1 = 545,
-    /*!< Amphenol Pressure voltage sensor (NPA-300B-015A) with default
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog 0-10V Voltage Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_1_DEF_L2 = 552,
-    /*!< Generic pressure voltage sensor with user-defined
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog 0-10V Voltage Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_2_DEF_L2 = 553,
-    /*!< Generic pressure voltage sensor with user-defined
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_B = 545,
+    /*!< Amphenol Pressure voltage sensor (NPA-300B-015A) 
      *
      * @note For use with Analog 0-10V Voltage Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_A_ADV_L1 = 560,
-    /*!< Honeywell Pressure voltage sensor (HSCMRNN1.6BAAA3) with default
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_1 = 552,
+    /*!< Generic pressure voltage sensor 
      *
      * @note For use with Analog 0-10V Voltage Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_B_ADV_L1 = 561,
-    /*!< Amphenol Pressure voltage sensor (NPA-300B-015A) with default
-     *   linearisation and advanced configuration options
-     *
-     * @note For use with Analog 0-10V Voltage Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_1_ADV_L2 = 568,
-    /*!< Generic pressure voltage sensor with user-defined
-     *   linearisation and advanced configuration options
-     *
-     * @note For use with Analog 0-10V Voltage Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_2_ADV_L2 = 569,
-    /*!< Generic pressure voltage sensor with user-defined
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_2 = 553,
+    /*!< Generic pressure voltage sensor 
      *
      * @note For use with Analog 0-10V Voltage Sensor channels only
      */
@@ -744,43 +383,23 @@
      *
      * @note For use with Analog 4-20mA Current Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_A_DEF_L1 = 800,
-    /*!< Honeywell Pressure current sensor (PX2CN2XX100PACH) with default
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog 4-20mA Current Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_1_DEF_L2 = 808,
-    /*!< Generic pressure current sensor with user-defined
-     *   linearisation and default configuration options
-     *
-     * @note For use with Analog 4-20mA Current Sensor channels only
-     */
-    ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_2_DEF_L2 = 809,
-    /*!< Generic pressure current sensor with user-defined
-     *   linearisation and default configuration options
+    ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_A = 800,
+    /*!< Honeywell Pressure current sensor (PX2CN2XX100PACH)
      *
      * @note For use with Analog 4-20mA Current Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_A_ADV_L1 = 816,
-    /*!< Honeywell Pressure current sensor (PX2CN2XX100PACH) with default
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_1 = 808,
+    /*!< Generic pressure current sensor
      *
      * @note For use with Analog 4-20mA Current Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_1_ADV_L2 = 824,
-    /*!< Generic pressure current sensor with user-defined
-     *   linearisation and advanced configuration options
+    ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_2 = 809,
+    /*!< Generic pressure current sensor
      *
      * @note For use with Analog 4-20mA Current Sensor channels only
      */
-    ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_2_ADV_L2 = 825,
-    /*!< Generic pressure current sensor with user-defined
-     *   linearisation and advanced configuration options
-     *
-     * @note For use with Analog 4-20mA Current Sensor channels only
-     */
-} ADMW1001_ADC_SENSOR_TYPE;
+
+}   ADMW1001_ADC_SENSOR_TYPE;
 
 /*! ADMW1001 I2C digital sensor type options
  *
@@ -789,80 +408,67 @@
  *
  *  @note These are pre-defined sensors using built-in linearisation data
  */
-typedef enum {
-    ADMW1001_I2C_SENSOR_HUMIDITY_A_DEF_L1 = 2112,
-    /*!< Honeywell HiH9000-series humidity sensor with default linearisation
-     *   and default configuration options
+typedef enum
+{
+    ADMW1001_I2C_SENSOR_HUMIDITY_A = 2112,
+    /*!< Honeywell HiH9000-series humidity sensor 
      *
      * @note For use with I2C Digital Sensor channels only
      */
-    ADMW1001_I2C_SENSOR_HUMIDITY_B_DEF_L1 = 2113,
-    /*!< Sensirion SHT35-DIS-B humidity sensor with default linearisation
-     *   and default configuration options
+    ADMW1001_I2C_SENSOR_HUMIDITY_B = 2113,
+    /*!< Sensirion SHT35-DIS-B humidity sensor 
      *
      * @note For use with I2C Digital Sensor channels only
      */
-    ADMW1001_I2C_SENSOR_HUMIDITY_A_DEF_L2 = 2120,
-    /*!< Honeywell HiH9000-series humidity sensor with user-defined linearisation
-     *   and default configuration options
+    ADMW1001_I2C_SENSOR_HUMIDITY_C = 2114,
+    /*!< TE MS8607 humidity sensor 
+     *   Note: the MS8607 is a combined Pressure & Temperature, Humidity sensor.
+     *   The humidity sensor is treated as a virtual device, i.e. standalone.
      *
      * @note For use with I2C Digital Sensor channels only
      */
-    ADMW1001_I2C_SENSOR_HUMIDITY_B_DEF_L2 = 2121,
-    /*!< Sensirion SHT35-DIS-B humidity sensor with user-defined linearisation
-     *   and default configuration options
+    ADMW1001_I2C_SENSOR_HUMIDITY_D = 2115,
+    /*!< Sensirion SCD30 humidity sensor 
+     *   Note: the SCD30 is a combined CO2, Humidity and Temperature sensor.
+     *   The humidity sensor is treated as a virtual device, i.e. standalone.
      *
      * @note For use with I2C Digital Sensor channels only
      */
-    ADMW1001_I2C_SENSOR_HUMIDITY_A_ADV_L1 = 2128,
-    /*!< Honeywell HiH9000-series humidity sensor with default linearisation
-     *   and advanced configuration options
-     *
-     * @note For use with I2C Digital Sensor channels only
-     */
-    ADMW1001_I2C_SENSOR_HUMIDITY_B_ADV_L1 = 2129,
-    /*!< Sensirion SHT35-DIS-B humidity sensor with default linearisation
-     *   and advanced configuration options
+    ADMW1001_I2C_SENSOR_AMBIENTLIGHT_A = 2176,
+    /*!< ON-Semiconductor NOA1305 ambient light sensor 
      *
      * @note For use with I2C Digital Sensor channels only
      */
-    ADMW1001_I2C_SENSOR_HUMIDITY_A_ADV_L2 = 2136,
-    /*!< Honeywell HiH9000-series humidity sensor with user-defined
-     *   linearisation and advanced configuration options
+    ADMW1001_I2C_SENSOR_PRESSURE_A = 2208,
+    /*!< TE MS8607 pressure sensor 
+     *   Note: the MS8607 is a combined Pressure & Temperature, Humidity sensor.
+     *   The pressure sensor is treated as a virtual device, i.e. standalone.
      *
      * @note For use with I2C Digital Sensor channels only
      */
-    ADMW1001_I2C_SENSOR_HUMIDITY_B_ADV_L2 = 2137,
-    /*!< Sensirion SHT35-DIS-B humidity sensor with user-defined linearisation
-     *   and advanced configuration options
-     *
-     * @note For use with I2C Digital Sensor channels only
-     */
-    ADMW1001_I2C_SENSOR_AMBIENTLIGHT_A_DEF_L1 = 2176,
-    /*!< ON-Semiconductor NOA1305 ambient light sensor with default
-     *   linearisation and default configuration options
+    ADMW1001_I2C_SENSOR_TEMPERATURE_A = 2216,
+    /*!< TE MS8607 temperature sensor 
+     *   Note: the MS8607 is a combined Pressure & Temperature, Humidity sensor.
+     *   The temperature sensor is treated as a virtual device, i.e. standalone.
      *
      * @note For use with I2C Digital Sensor channels only
      */
-    ADMW1001_I2C_SENSOR_AMBIENTLIGHT_A_DEF_L2 = 2184,
-    /*!< ON-Semiconductor NOA1305 ambient light sensor with user-defined
-     *   linearisation and default configuration options
+    ADMW1001_I2C_SENSOR_TEMPERATURE_B = 2217,
+    /*!< Sensirion SCD30 temperature sensor 
+     *   Note: the SCD30 is a combined CO2, Humidity and Temperature sensor.
+     *   The temperature sensor is treated as a virtual device, i.e. standalone.
      *
      * @note For use with I2C Digital Sensor channels only
      */
-    ADMW1001_I2C_SENSOR_AMBIENTLIGHT_A_ADV_L1 = 2192,
-    /*!< ON-Semiconductor NOA1305 ambient light sensor with default
-     *   linearisation and advanced configuration options
+    ADMW1001_I2C_SENSOR_CO2_A = 2224,
+    /*!< Sensirion SCD30 C02 sensor 
+     *   Note: the SCD30 is a combined CO2, Humidity and Temperature sensor.
+     *   The CO2 sensor is treated as a virtual device, i.e. standalone.
      *
      * @note For use with I2C Digital Sensor channels only
      */
-    ADMW1001_I2C_SENSOR_AMBIENTLIGHT_A_ADV_L2 = 2200,
-    /*!< ON-Semiconductor NOA1305 ambient light sensor with user-defined
-     *   linearisation and advanced configuration options
-     *
-     * @note For use with I2C Digital Sensor channels only
-     */
-} ADMW1001_I2C_SENSOR_TYPE;
+     
+}   ADMW1001_I2C_SENSOR_TYPE;
 
 /*! ADMW1001 SPI digital sensor type options
  *
@@ -871,44 +477,15 @@
  *
  *  @note These are pre-defined sensors using built-in linearisation data
  */
-typedef enum {
-    ADMW1001_SPI_SENSOR_PRESSURE_A_DEF_L1 = 3072,
-    /*!< Honeywell HSCDRNN1.6BASA3 pressure sensor with default linearisation
-     * and default configuration options
-     *
-     * @note For use with SPI Digital Sensor channels only
-     */
-    ADMW1001_SPI_SENSOR_PRESSURE_A_DEF_L2 = 3080,
-    /*!< Honeywell HSCDRNN1.6BASA3 pressure sensor with user-defined
-     * linearisation and default configuration options
-     *
-     * @note For use with SPI Digital Sensor channels only
-     */
-    ADMW1001_SPI_SENSOR_PRESSURE_A_ADV_L1 = 3088,
-    /*!< Honeywell HSCDRNN1.6BASA3 pressure sensor with default linearisation
-     * and advanced configuration options
+typedef enum
+{
+    ADMW1001_SPI_SENSOR_PRESSURE_A = 3072,
+    /*!< Honeywell HSCDRNN1.6BASA3 pressure sensor 
      *
      * @note For use with SPI Digital Sensor channels only
      */
-    ADMW1001_SPI_SENSOR_PRESSURE_A_ADV_L2 = 3096,
-    /*!< Honeywell HSCDRNN1.6BASA3 pressure sensor with user-defined
-     * linearisation and advanced configuration options
-     *
-     * @note For use with SPI Digital Sensor channels only
-     */
-    ADMW1001_SPI_SENSOR_ACCELEROMETER_A_DEF_L1 = 3200,
-    /*!< Analog Devices ADxL362 3-axis accelerometer sensor with default
-     *   linearisation and default configuration options(*)
-     *
-     * @note For use with SPI Digital Sensor channels only
-     *
-     * @note This sensor requires the use of 3 SPI Digital Sensor channels, with
-     *       the sensor measurements from the X/Y/Z axes each output on a
-     *       seperate dedicated channel (SPI#0/SPI#1/SPI#2, respectively)
-     */
-    ADMW1001_SPI_SENSOR_ACCELEROMETER_B_DEF_L1 = 3201,
-    /*!< Analog Devices ADxL355 3-axis accelerometer sensor with default
-     *   linearisation and default configuration options(*)
+    ADMW1001_SPI_SENSOR_ACCELEROMETER_A = 3200,
+    /*!< Analog Devices ADxL362 3-axis accelerometer sensor
      *
      * @note For use with SPI Digital Sensor channels only
      *
@@ -916,29 +493,8 @@
      *       the sensor measurements from the X/Y/Z axes each output on a
      *       seperate dedicated channel (SPI#0/SPI#1/SPI#2, respectively)
      */
-    ADMW1001_SPI_SENSOR_ACCELEROMETER_A_DEF_L2 = 3208,
-    /*!< Analog Devices ADxL362 3-axis accelerometer sensor with user-defined
-     *   linearisation and default configuration options(*)
-     *
-     * @note For use with SPI Digital Sensor channels only
-     *
-     * @note This sensor requires the use of 3 SPI Digital Sensor channels, with
-     *       the sensor measurements from the X/Y/Z axes each output on a
-     *       seperate dedicated channel (SPI#0/SPI#1/SPI#2, respectively)
-     */
-    ADMW1001_SPI_SENSOR_ACCELEROMETER_B_DEF_L2 = 3209,
-    /*!< Analog Devices ADxL355 3-axis accelerometer sensor with user-defined
-     *   linearisation and default configuration options(*)
-     *
-     * @note For use with SPI Digital Sensor channels only
-     *
-     * @note This sensor requires the use of 3 SPI Digital Sensor channels, with
-     *       the sensor measurements from the X/Y/Z axes each output on a
-     *       seperate dedicated channel (SPI#0/SPI#1/SPI#2, respectively)
-     */
-    ADMW1001_SPI_SENSOR_ACCELEROMETER_A_ADV_L1 = 3216,
-    /*!< Analog Devices ADxL362 3-axis accelerometer sensor with default
-     *   linearisation and advanced configuration options(*)
+    ADMW1001_SPI_SENSOR_ACCELEROMETER_B = 3201,
+    /*!< Analog Devices ADxL355 3-axis accelerometer sensor
      *
      * @note For use with SPI Digital Sensor channels only
      *
@@ -946,37 +502,8 @@
      *       the sensor measurements from the X/Y/Z axes each output on a
      *       seperate dedicated channel (SPI#0/SPI#1/SPI#2, respectively)
      */
-    ADMW1001_SPI_SENSOR_ACCELEROMETER_B_ADV_L1 = 3217,
-    /*!< Analog Devices ADxL355 3-axis accelerometer sensor with default
-     *   linearisation and advanced configuration options(*)
-     *
-     * @note For use with SPI Digital Sensor channels only
-     *
-     * @note This sensor requires the use of 3 SPI Digital Sensor channels, with
-     *       the sensor measurements from the X/Y/Z axes each output on a
-     *       seperate dedicated channel (SPI#0/SPI#1/SPI#2, respectively)
-     */
-    ADMW1001_SPI_SENSOR_ACCELEROMETER_A_ADV_L2 = 3224,
-    /*!< Analog Devices ADxL362 3-axis accelerometer sensor with user-defined
-     *   linearisation and advanced configuration options(*)
-     *
-     * @note For use with SPI Digital Sensor channels only
-     *
-     * @note This sensor requires the use of 3 SPI Digital Sensor channels, with
-     *       the sensor measurements from the X/Y/Z axes each output on a
-     *       seperate dedicated channel (SPI#0/SPI#1/SPI#2, respectively)
-     */
-    ADMW1001_SPI_SENSOR_ACCELEROMETER_B_ADV_L2 = 3225,
-    /*!< Analog Devices ADxL355 3-axis accelerometer sensor with user-defined
-     *   linearisation and advanced configuration options(*)
-     *
-     * @note For use with SPI Digital Sensor channels only
-     *
-     * @note This sensor requires the use of 3 SPI Digital Sensor channels, with
-     *       the sensor measurements from the X/Y/Z axes each output on a
-     *       seperate dedicated channel (SPI#0/SPI#1/SPI#2, respectively)
-     */
-} ADMW1001_SPI_SENSOR_TYPE;
+
+}   ADMW1001_SPI_SENSOR_TYPE;
 
 #ifdef __cplusplus
 }
--- a/multichannel_continuous_config.c	Tue Jun 18 09:28:16 2019 +0000
+++ b/multichannel_continuous_config.c	Thu Jun 20 18:13:57 2019 +0000
@@ -54,15 +54,36 @@
             .cycleInterval = 5000000,
         },
         .channels = {
-            [ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL] = {
+            [ADMW1001_CH_ID_ANLG_1_UNIVERSAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
+                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100,
+                    .gain = ADMW1001_ADC_GAIN_8X,
+                    .current = {
+                        .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
+                    },
+                    .filter = {
+                        .type = ADMW1001_ADC_FILTER_SINC3,
+                    },
+                    .reference = {
+                         ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
+                    },
+                },
+            },
+            [ADMW1001_CH_ID_ANLG_2_UNIVERSAL] = {
+                .enableChannel = true,
+                .disablePublishing = false,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
+                .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
+                .measurementsPerCycle = 10,
+                .extraSettlingTime = 0,
+                .adcChannelConfig = {
+                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100,
                     .gain = ADMW1001_ADC_GAIN_8X,
                     .current = {
                         .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
@@ -71,43 +92,20 @@
                         .type = ADMW1001_ADC_FILTER_SINC3,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
+                        ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
+
                     },
-                    .enableVbias = false,
                 },
             },
-            [ADMW1001_CHANNEL_ID_ANALOG_2_UNIVERSAL] = {
+            [ADMW1001_CH_ID_ANLG_1_DIFFERENTIAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
-                    .gain = ADMW1001_ADC_GAIN_8X,
-                    .current = {
-                        .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
-                    },
-                    .filter = {
-                        .type = ADMW1001_CHANNEL_ID_ANALOG_2_UNIVERSAL,
-                    },
-                    .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
-
-                    },
-                    .enableVbias = false,
-                },
-            },
-            [ADMW1001_CHANNEL_ID_ANALOG_1_DIFFERENTIAL] = {
-                .enableChannel = true,
-                .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
-                .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
-                .measurementsPerCycle = 10,
-                .extraSettlingTime = 0,
-                .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
+                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100,
                     .gain = ADMW1001_ADC_GAIN_8X,
                     .current = {
                         .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
@@ -116,39 +114,37 @@
                         .type = ADMW1001_ADC_FILTER_SINC3,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
+                        ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
 
                     },
-                    .enableVbias = false,
                 },
             },
-            [ADMW1001_CHANNEL_ID_ANALOG_2_DIFFERENTIAL] = {
+            [ADMW1001_CH_ID_ANLG_2_DIFFERENTIAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_ANALOG_2_UNIVERSAL,
+                .compensationChannel = ADMW1001_CH_ID_ANLG_2_UNIVERSAL,
                 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_THERMOCOUPLE_K_DEF_L1,
+                    .sensor = ADMW1001_ADC_SENSOR_THERMOCOUPLE_K,
                     .gain = ADMW1001_ADC_GAIN_32X,
                     .filter = {
                         .type = ADMW1001_ADC_FILTER_SINC3,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
+                     ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
                     },
-                    .enableVbias = true,
                 },
             },
-            [ADMW1001_CHANNEL_ID_I2C_0] = {
+            [ADMW1001_CH_ID_DIG_I2C_0] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 36500,
                 .i2cChannelConfig = {
-                    .sensor = ADMW1001_I2C_SENSOR_HUMIDITY_A_DEF_L1,
+                    .sensor = ADMW1001_I2C_SENSOR_HUMIDITY_A,
                     .deviceAddress = 0x27,
                 },
             },
--- a/multichannel_multicycle_config.c	Tue Jun 18 09:28:16 2019 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*!
- ******************************************************************************
- * @file:   config.c
- * @brief:
- *-----------------------------------------------------------------------------
- *
-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.
- *
- *****************************************************************************/
-
-#include "admw_config_types.h"
-
-ADMW_CONFIG multichannel_multicycle_config = {
-    .versionId = { .major = 1, .minor = 4 },
-    .productId = ADMW_PRODUCT_ID_ADMW1001,
-    .admw1001 = {
-        .power = {
-            .powerMode = ADMW1001_POWER_MODE_ACTIVE,
-        },
-        .measurement = {
-            .operatingMode = ADMW1001_OPERATING_MODE_MULTICYCLE,
-            .dataReadyMode = ADMW1001_DATAREADY_PER_MULTICYCLE_BURST,
-            .cycleInterval = 3000000,
-            .multiCycleConfig = {
-                .cyclesPerBurst = 5,
-                .burstInterval = 30,
-            },
-        },
-        .channels = {
-            [ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL] = {
-                .enableChannel = true,
-                .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
-                .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
-                .measurementsPerCycle = 10,
-                .extraSettlingTime = 0,
-                .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
-                    .gain = ADMW1001_ADC_GAIN_8X,
-                    .current = {
-                        .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
-                    },
-                    .filter = {
-                        .type = ADMW1001_ADC_FILTER_SINC3,
-                    },
-                    .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
-                    },
-                    .enableVbias = false,
-                },
-            },
-            [ADMW1001_CHANNEL_ID_ANALOG_2_UNIVERSAL] = {
-                .enableChannel = true,
-                .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
-                .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
-                .measurementsPerCycle = 10,
-                .extraSettlingTime = 0,
-                .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
-                    .gain = ADMW1001_ADC_GAIN_8X,
-                    .current = {
-                        .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
-                    },
-                    .filter = {
-                        .type = ADMW1001_ADC_FILTER_SINC3,
-                    },
-                    .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
-                    },
-                    .enableVbias = false,
-                },
-            },
-            [ADMW1001_CHANNEL_ID_ANALOG_1_DIFFERENTIAL] = {
-                .enableChannel = true,
-                .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
-                .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
-                .measurementsPerCycle = 10,
-                .extraSettlingTime = 0,
-                .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
-                    .gain = ADMW1001_ADC_GAIN_8X,
-                    .current = {
-                        .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
-                    },
-                    .filter = {
-                        .type = ADMW1001_ADC_FILTER_SINC3,
-                    },
-                    .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
-                    },
-                    .enableVbias = false,
-                },
-            },
-            [ADMW1001_CHANNEL_ID_ANALOG_2_DIFFERENTIAL] = {
-                .enableChannel = true,
-                .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_ANALOG_2_UNIVERSAL,
-                .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
-                .measurementsPerCycle = 10,
-                .extraSettlingTime = 0,
-                .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_THERMOCOUPLE_K_DEF_L1,
-                    .gain = ADMW1001_ADC_GAIN_32X,
-                    .filter = {
-                        .type = ADMW1001_ADC_FILTER_SINC3,
-                    },
-                    .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
-                    },
-                    .enableVbias = true,
-                },
-            },
-            [ADMW1001_CHANNEL_ID_I2C_0] = {
-                .enableChannel = true,
-                .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
-                .measurementsPerCycle = 10,
-                .extraSettlingTime = 36500,
-                .i2cChannelConfig = {
-                    .sensor = ADMW1001_I2C_SENSOR_HUMIDITY_A_DEF_L1,
-                    .deviceAddress = 0x27,
-                },
-            },
-        },
-    },
-};
-
--- a/multichannel_singlecycle_config.c	Tue Jun 18 09:28:16 2019 +0000
+++ b/multichannel_singlecycle_config.c	Thu Jun 20 18:13:57 2019 +0000
@@ -53,15 +53,15 @@
             .dataReadyMode = ADMW1001_DATAREADY_PER_CONVERSION,
         },
         .channels = {
-            [ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL] = {
+            [ADMW1001_CH_ID_ANLG_1_UNIVERSAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
+                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100,
                     .gain = ADMW1001_ADC_GAIN_8X,
                     .current = {
                         .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
@@ -70,20 +70,19 @@
                         .type = ADMW1001_ADC_FILTER_SINC3,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
+                         ADMW1001_ADC_REFERENCE_VOLTAGE_AVDD,
                     },
-                    .enableVbias = false,
                 },
             },
-            [ADMW1001_CHANNEL_ID_ANALOG_2_UNIVERSAL] = {
+            [ADMW1001_CH_ID_ANLG_2_UNIVERSAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
+                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100,
                     .gain = ADMW1001_ADC_GAIN_8X,
                     .current = {
                         .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
@@ -92,20 +91,19 @@
                         .type = ADMW1001_ADC_FILTER_SINC3,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
+                        ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
                     },
-                    .enableVbias = false,
                 },
             },
-            [ADMW1001_CHANNEL_ID_ANALOG_1_DIFFERENTIAL] = {
+            [ADMW1001_CH_ID_ANLG_1_DIFFERENTIAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
+                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100,
                     .gain = ADMW1001_ADC_GAIN_8X,
                     .current = {
                         .outputLevel = ADMW1001_ADC_EXC_CURRENT_500uA,
@@ -114,38 +112,36 @@
                         .type = ADMW1001_ADC_FILTER_SINC3,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
+                       ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
                     },
-                    .enableVbias = false,
                 },
             },
-            [ADMW1001_CHANNEL_ID_ANALOG_2_DIFFERENTIAL] = {
+            [ADMW1001_CH_ID_ANLG_2_DIFFERENTIAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_ANALOG_2_UNIVERSAL,
+                .compensationChannel = ADMW1001_CH_ID_ANLG_2_UNIVERSAL,
                 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_THERMOCOUPLE_K_DEF_L1,
+                    .sensor = ADMW1001_ADC_SENSOR_THERMOCOUPLE_K,
                     .gain = ADMW1001_ADC_GAIN_32X,
                     .filter = {
                         .type = ADMW1001_ADC_FILTER_SINC3,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
+                        ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
                     },
-                    .enableVbias = true,
                 },
             },
-            [ADMW1001_CHANNEL_ID_I2C_0] = {
+            [ADMW1001_CH_ID_DIG_I2C_0] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 36500,
                 .i2cChannelConfig = {
-                    .sensor = ADMW1001_I2C_SENSOR_HUMIDITY_A_DEF_L1,
+                    .sensor = ADMW1001_I2C_SENSOR_HUMIDITY_A,
                     .deviceAddress = 0x27,
                 },
             },
--- a/sensor0_typeK_cjc0_config.c	Tue Jun 18 09:28:16 2019 +0000
+++ b/sensor0_typeK_cjc0_config.c	Thu Jun 20 18:13:57 2019 +0000
@@ -54,15 +54,15 @@
             .dataReadyMode = ADMW1001_DATAREADY_PER_CYCLE,
         },
         .channels = {
-            [ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL] = {
+            [ADMW1001_CH_ID_ANLG_1_UNIVERSAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
+                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100,
                     .gain = ADMW1001_ADC_GAIN_8X,
                     .current = {
                         .outputLevel = ADMW1001_ADC_EXC_CURRENT_250uA,
@@ -71,28 +71,26 @@
                         .type = ADMW1001_ADC_FILTER_SINC3,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
+                       ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
                     },
-                    .enableVbias = false,
                 },
             },
-            [ADMW1001_CHANNEL_ID_ANALOG_1_DIFFERENTIAL] = {
+            [ADMW1001_CH_ID_ANLG_1_DIFFERENTIAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL,
+                .compensationChannel = ADMW1001_CH_ID_ANLG_1_UNIVERSAL,
                 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_THERMOCOUPLE_K_DEF_L1,
+                    .sensor = ADMW1001_ADC_SENSOR_THERMOCOUPLE_K,
                     .gain = ADMW1001_ADC_GAIN_32X,
                     .filter = {
                         .type = ADMW1001_ADC_FILTER_SINC3,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
+                     ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
                     },
-                    .enableVbias = true,
                 },
             },
         },
--- a/sensor1_rtd-3w-pt100_config.c	Tue Jun 18 09:28:16 2019 +0000
+++ b/sensor1_rtd-3w-pt100_config.c	Thu Jun 20 18:13:57 2019 +0000
@@ -54,15 +54,15 @@
             .dataReadyMode = ADMW1001_DATAREADY_PER_CYCLE,
         },
         .channels = {
-            [ADMW1001_CHANNEL_ID_ANALOG_2_DIFFERENTIAL] = {
+            [ADMW1001_CH_ID_ANLG_2_UNIVERSAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_3WIRE_PT100_DEF_L1,
+                    .sensor = ADMW1001_ADC_SENSOR_RTD_3WIRE_PT100,
                     .gain = ADMW1001_ADC_GAIN_8X,
                     .current = {
                         .outputLevel = ADMW1001_ADC_EXC_CURRENT_250uA,
@@ -71,9 +71,8 @@
                         .type = ADMW1001_ADC_FILTER_SINC3,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
+                         ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
                     },
-                    .enableVbias = false,
                 },
             },
         },
--- a/sensor2_bridge-6w-pressure_config.c	Tue Jun 18 09:28:16 2019 +0000
+++ b/sensor2_bridge-6w-pressure_config.c	Thu Jun 20 18:13:57 2019 +0000
@@ -54,23 +54,21 @@
             .dataReadyMode = ADMW1001_DATAREADY_PER_CYCLE,
         },
         .channels = {
-            [ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL] = {
+            [ADMW1001_CH_ID_ANLG_1_UNIVERSAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
-                .enableUnityLut = true,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_1_DEF_L2,
+                    .sensor = ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_1,
                     .gain = ADMW1001_ADC_GAIN_1X,
                     .filter = {
                         .type = ADMW1001_ADC_FILTER_SINC4,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_BRIDGE_EXCITATION,
+                        ADMW1001_ADC_REFERENCE_VOLTAGE_AVDD,
                     },
-                    .enableVbias = false,
                 },
             },
         },
--- a/sensor2_typeT_cjc0_config.c	Tue Jun 18 09:28:16 2019 +0000
+++ b/sensor2_typeT_cjc0_config.c	Thu Jun 20 18:13:57 2019 +0000
@@ -53,15 +53,15 @@
             .dataReadyMode = ADMW1001_DATAREADY_PER_CYCLE,
         },
         .channels = {
-            [ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL] = {
+            [ADMW1001_CH_ID_ANLG_1_UNIVERSAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
+                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100,
                     .gain = ADMW1001_ADC_GAIN_8X,
                     .current = {
                         .outputLevel = ADMW1001_ADC_EXC_CURRENT_250uA,
@@ -70,9 +70,8 @@
                         .type = ADMW1001_ADC_FILTER_SINC3,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
+                        ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
                     },
-                    .enableVbias = false,
                 },
              },
             },
--- a/sensor3_typeJ_cjc0_config.c	Tue Jun 18 09:28:16 2019 +0000
+++ b/sensor3_typeJ_cjc0_config.c	Thu Jun 20 18:13:57 2019 +0000
@@ -56,15 +56,15 @@
             .dataReadyMode = ADMW1001_DATAREADY_PER_CYCLE,
         },
         .channels = {
-            [ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL] = {
+            [ADMW1001_CH_ID_ANLG_1_UNIVERSAL] = {
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementUnit = ADMW1001_MEASUREMENT_UNIT_CELSIUS,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 0,
                 .adcChannelConfig = {
-                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1,
+                    .sensor = ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100,
                     .gain = ADMW1001_ADC_GAIN_8X,
                     .current = {
                         .outputLevel = ADMW1001_ADC_EXC_CURRENT_250uA,
@@ -73,9 +73,8 @@
                         .type = ADMW1001_ADC_FILTER_SINC3,
                     },
                     .reference = {
-                        .type = ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1,
+                      ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL,
                     },
-                    .enableVbias = false,
                 },
             },
         },
--- a/spi0_adiAdxl362_config.c	Tue Jun 18 09:28:16 2019 +0000
+++ b/spi0_adiAdxl362_config.c	Thu Jun 20 18:13:57 2019 +0000
@@ -55,28 +55,28 @@
             .cycleInterval = 1000000,
         },
         .channels = {
-            [ADMW1001_CHANNEL_ID_SPI_0] = {
+            [ADMW1001_CH_ID_DIG_SPI_0] = {
                 /* Accelerometer X-Axis (and common settings for physical channel) */
                 .enableChannel = true,
                 .disablePublishing = false,
-                .compensationChannel = ADMW1001_CHANNEL_ID_NONE,
+                .compensationChannel = ADMW1001_CH_ID_NONE,
                 .measurementsPerCycle = 10,
                 .extraSettlingTime = 10000,
                 /* Optional threshold limits applied to the processed measurement results */
                 .lowThreshold = -6.0,
                 .highThreshold = 6.0,
                 .spiChannelConfig = {
-                    .sensor = ADMW1001_SPI_SENSOR_ACCELEROMETER_A_DEF_L1,
+                    .sensor = ADMW1001_SPI_SENSOR_ACCELEROMETER_A,
                 },
             },
-            [ADMW1001_CHANNEL_ID_SPI_1] = {
+            [ADMW1001_CH_ID_DIG_SPI_1] = {
                 /* Accelerometer Y-Axis (virtual channel) */
                 .enableChannel = true,
                 /* Optional threshold limits applied to the processed measurement results */
                 .lowThreshold = -6.0,
                 .highThreshold = 6.0,
             },
-            [ADMW1001_CHANNEL_ID_SPI_2] = {
+            [ADMW1001_CH_ID_DIG_SPI_2] = {
                 /* Accelerometer Z-Axis (virtual channel) */
                 .enableChannel = true,
                 /* Optional adjustment applied to the processed measurement result */
--- a/src/admw_1001.c	Tue Jun 18 09:28:16 2019 +0000
+++ b/src/admw_1001.c	Thu Jun 20 18:13:57 2019 +0000
@@ -1,5 +1,5 @@
 /*
-Copyright 2018 (c) Analog Devices, Inc.
+Copyright 2019 (c) Analog Devices, Inc.
 
 All rights reserved.
 
@@ -33,46 +33,10 @@
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-/******************************************************************************
-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: ADMW API implementation for ADSNS1000
+ * @brief: API implementation for ADMW1001
  *-----------------------------------------------------------------------------
  */
 
@@ -107,13 +71,13 @@
 /* Checks if a value is outside the bounds of the specified register field */
 #define CHECK_REG_FIELD_VAL(_field, _val)                               \
     do {                                                                \
-        uint32_t _mask  = BITM_##_field;                        \
-        uint32_t _shift = BITP_##_field;                        \
+        uint32_t _mask  = BITM_##_field;                                \
+        uint32_t _shift = BITP_##_field;                                \
         if ((((_val) << _shift) & ~(_mask)) != 0) {                     \
             ADMW_LOG_ERROR("Value 0x%08X invalid for register field %s",\
                                 (uint32_t)(_val),                       \
                                 STRINGIFY(ADMW_##_field));              \
-            return ADMW_INVALID_PARAM;                              \
+            return ADMW_INVALID_PARAM;                                  \
         }                                                               \
     } while(false)
 
@@ -123,26 +87,26 @@
  */
 #define WRITE_REG(_hdev, _val, _name, _type)                            \
     do {                                                                \
-        ADMW_RESULT _res;                                           \
+        ADMW_RESULT _res;                                               \
         _type _regval = _val;                                           \
-        _res = admw1001_WriteRegister((_hdev),                      \
-                                            REG_##_name,        \
+        _res = admw1001_WriteRegister((_hdev),                          \
+                                            REG_##_name,                \
                                             &_regval, sizeof(_regval)); \
-        if (_res != ADMW_SUCCESS)                                   \
+        if (_res != ADMW_SUCCESS)                                       \
             return _res;                                                \
     } while(false)
 
 /* Wrapper macro to write a value to a uint32_t register */
-#define WRITE_REG_U32(_hdev, _val, _name)                       \
+#define WRITE_REG_U32(_hdev, _val, _name)                               \
     WRITE_REG(_hdev, _val, _name, uint32_t)
 /* Wrapper macro to write a value to a uint16_t register */
-#define WRITE_REG_U16(_hdev, _val, _name)                       \
+#define WRITE_REG_U16(_hdev, _val, _name)                               \
     WRITE_REG(_hdev, _val, _name, uint16_t)
 /* Wrapper macro to write a value to a uint8_t register */
-#define WRITE_REG_U8(_hdev, _val, _name)                        \
+#define WRITE_REG_U8(_hdev, _val, _name)                                \
     WRITE_REG(_hdev, _val, _name, uint8_t)
 /* Wrapper macro to write a value to a float32_t register */
-#define WRITE_REG_FLOAT(_hdev, _val, _name)                     \
+#define WRITE_REG_FLOAT(_hdev, _val, _name)                             \
     WRITE_REG(_hdev, _val, _name, float32_t)
 
 /*
@@ -151,40 +115,40 @@
  */
 #define READ_REG(_hdev, _val, _name, _type)                             \
     do {                                                                \
-        ADMW_RESULT _res;                                           \
+        ADMW_RESULT _res;                                               \
         _type _regval;                                                  \
-        _res = admw1001_ReadRegister((_hdev),                       \
-                                           REG_##_name,         \
+        _res = admw1001_ReadRegister((_hdev),                           \
+                                           REG_##_name,                 \
                                            &_regval, sizeof(_regval));  \
-        if (_res != ADMW_SUCCESS)                                   \
+        if (_res != ADMW_SUCCESS)                                       \
             return _res;                                                \
         _val = _regval;                                                 \
     } while(false)
 
 /* Wrapper macro to read a value from a uint32_t register */
-#define READ_REG_U32(_hdev, _val, _name)                        \
+#define READ_REG_U32(_hdev, _val, _name)                                \
     READ_REG(_hdev, _val, _name, uint32_t)
 /* Wrapper macro to read a value from a uint16_t register */
-#define READ_REG_U16(_hdev, _val, _name)                        \
+#define READ_REG_U16(_hdev, _val, _name)                                \
     READ_REG(_hdev, _val, _name, uint16_t)
 /* Wrapper macro to read a value from a uint8_t register */
-#define READ_REG_U8(_hdev, _val, _name)                         \
+#define READ_REG_U8(_hdev, _val, _name)                                 \
     READ_REG(_hdev, _val, _name, uint8_t)
 /* Wrapper macro to read a value from a float32_t register */
-#define READ_REG_FLOAT(_hdev, _val, _name)                      \
+#define READ_REG_FLOAT(_hdev, _val, _name)                              \
     READ_REG(_hdev, _val, _name, float32_t)
 
 /*
  * Wrapper macro to write an array of values to a uint8_t register
  * NOTE - this is intended only for writing to a keyhole data register
  */
-#define WRITE_REG_U8_ARRAY(_hdev, _arr, _len, _name)                \
+#define WRITE_REG_U8_ARRAY(_hdev, _arr, _len, _name)                    \
     do {                                                                \
-        ADMW_RESULT _res;                                           \
-        _res = admw1001_WriteRegister(_hdev,                        \
-                                            REG_##_name,        \
+        ADMW_RESULT _res;                                               \
+        _res = admw1001_WriteRegister(_hdev,                            \
+                                            REG_##_name,                \
                                             _arr, _len);                \
-        if (_res != ADMW_SUCCESS)                                   \
+        if (_res != ADMW_SUCCESS)                                       \
             return _res;                                                \
     } while(false)
 
@@ -194,38 +158,39 @@
  */
 #define READ_REG_U8_ARRAY(_hdev, _arr, _len, _name)                     \
     do {                                                                \
-        ADMW_RESULT _res;                                           \
-        _res = admw1001_ReadRegister((_hdev),                       \
-                                           REG##_name,          \
+        ADMW_RESULT _res;                                               \
+        _res = admw1001_ReadRegister((_hdev),                           \
+                                           REG##_name,                  \
                                            _arr, _len);                 \
-        if (_res != ADMW_SUCCESS)                                   \
+        if (_res != ADMW_SUCCESS)                                       \
             return _res;                                                \
     } while(false)
 
-#define ADMW1001_CHANNEL_IS_ADC(c)                                  \
-    ((c) >= ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL && (c) <= ADMW1001_CHANNEL_ID_ANALOG_2_DIFFERENTIAL)
+#define ADMW1001_CHANNEL_IS_ADC(c)                                      \
+    ((c) >= ADMW1001_CH_ID_ANLG_1_UNIVERSAL && (c) <= ADMW1001_CH_ID_ANLG_2_DIFFERENTIAL)
 
-#define ADMW1001_CHANNEL_IS_ADC_CJC(c)                              \
-    ((c) >= ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL && (c) <= ADMW1001_CHANNEL_ID_ANALOG_2_UNIVERSAL)
+#define ADMW1001_CHANNEL_IS_ADC_CJC(c)                                  \
+    ((c) >= ADMW1001_CH_ID_ANLG_1_UNIVERSAL && (c) <= ADMW1001_CH_ID_ANLG_2_UNIVERSAL)
 
-#define ADMW1001_CHANNEL_IS_ADC_SENSOR(c)                           \
-    ((c) >= ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL && (c) <= ADMW1001_CHANNEL_ID_ANALOG_2_UNIVERSAL)
+#define ADMW1001_CHANNEL_IS_ADC_SENSOR(c)                               \
+    ((c) >= ADMW1001_CH_ID_ANLG_1_UNIVERSAL && (c) <= ADMW1001_CH_ID_ANLG_2_UNIVERSAL)
 
-#define ADMW1001_CHANNEL_IS_ADC_VOLTAGE(c)                      \
-    ((c) == ADMW1001_CHANNEL_ID_ANALOG_1_DIFFERENTIAL || ADMW1001_CHANNEL_ID_ANALOG_2_DIFFERENTIAL)
+#define ADMW1001_CHANNEL_IS_ADC_VOLTAGE(c)                              \
+    ((c) == ADMW1001_CH_ID_ANLG_1_DIFFERENTIAL || ADMW1001_CH_ID_ANLG_2_DIFFERENTIAL)
 
-#define ADMW1001_CHANNEL_IS_ADC_CURRENT(c)                      \
-    ((c) == ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL || (c) == ADMW1001_CHANNEL_ID_ANALOG_2_UNIVERSAL)
+#define ADMW1001_CHANNEL_IS_ADC_CURRENT(c)                              \
+    ((c) == ADMW1001_CH_ID_ANLG_1_UNIVERSAL || (c) == ADMW1001_CH_ID_ANLG_2_UNIVERSAL)
 
-#define ADMW1001_CHANNEL_IS_VIRTUAL(c)                              \
-    ((c) == ADMW1001_CHANNEL_ID_SPI_1 || (c) == ADMW1001_CHANNEL_ID_SPI_2)
+#define ADMW1001_CHANNEL_IS_VIRTUAL(c)                                  \
+    ((c) == ADMW1001_CH_ID_DIG_SPI_1 || (c) == ADMW1001_CH_ID_DIG_SPI_2)
 
 typedef struct
 {
     unsigned nDeviceIndex;
     ADMW_SPI_HANDLE hSpi;
     ADMW_GPIO_HANDLE hGpio;
-} ADMW_DEVICE_CONTEXT;
+    
+}   ADMW_DEVICE_CONTEXT;
 
 static ADMW_DEVICE_CONTEXT gDeviceCtx[ADMW_PLATFORM_MAX_DEVICES];
 
@@ -233,7 +198,7 @@
  * Open an ADMW device instance.
  */
 ADMW_RESULT admw_Open(
-    unsigned                   const nDeviceIndex,
+    unsigned              const nDeviceIndex,
     ADMW_CONNECTION     * const pConnectionInfo,
     ADMW_DEVICE_HANDLE  * const phDevice)
 {
@@ -297,11 +262,20 @@
     }
 }
 
-/*
- * Reset the specified ADMW device.
+/*!
+ * @brief Reset the specified ADMW device.
+ *
+ * @param[in]   hDevice  - handle of ADMW device to reset.
+ *
+ * @return Status
+ *         - #ADMW_SUCCESS Call completed successfully.
+ *         - #ADMW_FAILURE If reseet faisl
+ *
+ * @details Toggle reset pin of the ADMW device low for a 
+ *          minimum of 4 usec.
+ *
  */
-ADMW_RESULT admw_Reset(
-    ADMW_DEVICE_HANDLE    const hDevice)
+ADMW_RESULT admw_Reset(ADMW_DEVICE_HANDLE    const hDevice)
 {
     ADMW_DEVICE_CONTEXT *pCtx = hDevice;
     ADMW_RESULT eRet;
@@ -320,9 +294,8 @@
     return ADMW_SUCCESS;
 }
 
-
 /*!
- * @brief Get general status of ADISense module.
+ * @brief Get general status of ADMW module.
  *
  * @param[in]
  * @param[out] pStatus : Pointer to CORE Status struct.
@@ -331,7 +304,7 @@
  *         - #ADMW_SUCCESS Call completed successfully.
  *         - #ADMW_FAILURE If status register read fails.
  *
- * @details Read the general status register for the ADISense
+ * @details Read the general status register for the ADMW
  *          module. Indicates Error, Alert conditions, data ready
  *          and command running.
  *
@@ -340,10 +313,10 @@
     ADMW_DEVICE_HANDLE    const hDevice,
     ADMW_STATUS         * const pStatus)
 {
-    CORE_Status_t statusReg;
+    ADMW_CORE_Status_t statusReg;
     READ_REG_U8(hDevice, statusReg.VALUE8, CORE_STATUS);
 
-    CORE_Alert_Status_2_t alert2Reg;
+    ADMW_CORE_Alert_Status_2_t alert2Reg;
     READ_REG_U16(hDevice, alert2Reg.VALUE16, CORE_ALERT_STATUS_2);
 
     memset(pStatus, 0, sizeof(*pStatus));
@@ -358,11 +331,11 @@
     {
         pStatus->deviceStatus |= ADMW_DEVICE_STATUS_ALERT;
 
-        CORE_Alert_Code_t alertCodeReg;
+        ADMW_CORE_Alert_Code_t alertCodeReg;
         READ_REG_U16(hDevice, alertCodeReg.VALUE16, CORE_ALERT_CODE);
         pStatus->alertCode = alertCodeReg.Alert_Code;
 
-        CORE_Channel_Alert_Status_t channelAlertStatusReg;
+        ADMW_CORE_Channel_Alert_Status_t channelAlertStatusReg;
         READ_REG_U16(hDevice, channelAlertStatusReg.VALUE16,
                      CORE_CHANNEL_ALERT_STATUS);
 
@@ -370,11 +343,11 @@
         {
             if (channelAlertStatusReg.VALUE16 & (1 << i))
             {
-                CORE_Alert_Code_Ch_t channelAlertCodeReg;
+                ADMW_CORE_Alert_Code_Ch_t channelAlertCodeReg;
                 READ_REG_U16(hDevice, channelAlertCodeReg.VALUE16, CORE_ALERT_CODE_CHn(i));
                 pStatus->channelAlertCodes[i] = channelAlertCodeReg.Alert_Code_Ch;
 
-                CORE_Alert_Detail_Ch_t alertDetailReg;
+                ADMW_CORE_Alert_Detail_Ch_t alertDetailReg;
                 READ_REG_U16(hDevice, alertDetailReg.VALUE16,
                              CORE_ALERT_DETAIL_CHn(i));
 
@@ -417,11 +390,11 @@
     {
         pStatus->deviceStatus |= ADMW_DEVICE_STATUS_ERROR;
 
-        CORE_Error_Code_t errorCodeReg;
+        ADMW_CORE_Error_Code_t errorCodeReg;
         READ_REG_U16(hDevice, errorCodeReg.VALUE16, CORE_ERROR_CODE);
         pStatus->errorCode = errorCodeReg.Error_Code;
 
-        CORE_Diagnostics_Status_t diagStatusReg;
+        ADMW_CORE_Diagnostics_Status_t diagStatusReg;
         READ_REG_U16(hDevice, diagStatusReg.VALUE16, CORE_DIAGNOSTICS_STATUS);
 
         if (diagStatusReg.Diag_Checksum_Error)
@@ -434,7 +407,7 @@
 
     if (statusReg.Alert_Active || statusReg.Error)
     {
-        CORE_Debug_Code_t debugCodeReg;
+        ADMW_CORE_Debug_Code_t debugCodeReg;
         READ_REG_U32(hDevice, debugCodeReg.VALUE32, CORE_DEBUG_CODE);
         pStatus->debugCode = debugCodeReg.Debug_Code;
     }
@@ -446,7 +419,7 @@
     ADMW_DEVICE_HANDLE hDevice,
     bool *pbCommandRunning)
 {
-    CORE_Status_t statusReg;
+    ADMW_CORE_Status_t statusReg;
 
     READ_REG_U8(hDevice, statusReg.VALUE8, CORE_STATUS);
 
@@ -461,10 +434,10 @@
 
 static ADMW_RESULT executeCommand(
     ADMW_DEVICE_HANDLE const hDevice,
-    CORE_Command_Special_Command const command,
+    ADMW_CORE_Command_Special_Command const command,
     bool const bWaitForCompletion)
 {
-    CORE_Command_t commandReg;
+    ADMW_CORE_Command_t commandReg;
     bool bCommandRunning;
     ADMW_RESULT eRet;
 
@@ -618,17 +591,6 @@
 }
 
 /*
- * Run digital calibration routines on the device.
- * Calibration is executed according to the current applied settings.
- * No other command must be running when this is called.
- */
-ADMW_RESULT admw_RunDigitalCalibration(
-    ADMW_DEVICE_HANDLE    const hDevice)
-{
-    return executeCommand(hDevice, CORE_COMMAND_CALIBRATE_DIGITAL, true);
-}
-
-/*
  * Read a set of data samples from the device.
  * This may be called at any time.
  */
@@ -918,110 +880,104 @@
 }
 
 ADMW_RESULT admw1001_GetDataReadyModeInfo(
-    ADMW_DEVICE_HANDLE         const hDevice,
-    ADMW_MEASUREMENT_MODE      const eMeasurementMode,
+    ADMW_DEVICE_HANDLE        const hDevice,
+    ADMW_MEASUREMENT_MODE     const eMeasurementMode,
     ADMW1001_OPERATING_MODE * const peOperatingMode,
     ADMW1001_DATAREADY_MODE * const peDataReadyMode,
-    uint32_t                      * const pnSamplesPerDataready,
-    uint32_t                      * const pnSamplesPerCycle,
-    uint8_t                       * const pnBytesPerSample)
+    uint32_t                * const pnSamplesPerDataready,
+    uint32_t                * const pnSamplesPerCycle,
+    uint8_t                 * const pnBytesPerSample)
 {
     unsigned nChannelsEnabled = 0;
     unsigned nSamplesPerCycle = 0;
 
-    CORE_Mode_t modeReg;
+    ADMW_CORE_Mode_t modeReg;
     READ_REG_U8(hDevice, modeReg.VALUE8, CORE_MODE);
 
     if (eMeasurementMode == (modeReg.Conversion_Mode == CORE_MODE_SINGLECYCLE))
         *peOperatingMode = ADMW1001_OPERATING_MODE_SINGLECYCLE;
-    else if (modeReg.Conversion_Mode == CORE_MODE_MULTICYCLE)
-        *peOperatingMode = ADMW1001_OPERATING_MODE_MULTICYCLE;
     else
         *peOperatingMode = ADMW1001_OPERATING_MODE_CONTINUOUS;
 
     if (eMeasurementMode == ADMW_MEASUREMENT_MODE_OMIT_RAW)
     {
-    *pnBytesPerSample = 5;
+        *pnBytesPerSample = 5;
     }
     else
     {
-    *pnBytesPerSample = 8;
+        *pnBytesPerSample = 8;
     }
   
-    for (ADMW1001_CHANNEL_ID chId = ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL;
-     chId < ADMW1001_MAX_CHANNELS;
-     chId++)
+    for (ADMW1001_CH_ID chId = ADMW1001_CH_ID_ANLG_1_UNIVERSAL;
+         chId < ADMW1001_MAX_CHANNELS;
+         chId++)
     {
-    CORE_Sensor_Details_t sensorDetailsReg;
-    CORE_Channel_Count_t channelCountReg;
-  
-    if (ADMW1001_CHANNEL_IS_VIRTUAL(chId))
-        continue;
-  
-    READ_REG_U8(hDevice, channelCountReg.VALUE8, CORE_CHANNEL_COUNTn(chId));
-    READ_REG_U32(hDevice, sensorDetailsReg.VALUE32, CORE_SENSOR_DETAILSn(chId));
-  
-    if (channelCountReg.Channel_Enable && !sensorDetailsReg.Do_Not_Publish)
-    {
-        CORE_Sensor_Type_t sensorTypeReg;
-        unsigned nActualChannels = 1;
+        ADMW_CORE_Sensor_Details_t sensorDetailsReg;
+        ADMW_CORE_Channel_Count_t channelCountReg;
+      
+        if (ADMW1001_CHANNEL_IS_VIRTUAL(chId))
+            continue;
+      
+        READ_REG_U8(hDevice, channelCountReg.VALUE8, CORE_CHANNEL_COUNTn(chId));
+        READ_REG_U32(hDevice, sensorDetailsReg.VALUE32, CORE_SENSOR_DETAILSn(chId));
+      
+        if (channelCountReg.Channel_Enable && !sensorDetailsReg.Do_Not_Publish)
+        {
+            ADMW_CORE_Sensor_Type_t sensorTypeReg;
+            unsigned nActualChannels = 1;
+      
+            READ_REG_U16(hDevice, sensorTypeReg.VALUE16, CORE_SENSOR_TYPEn(chId));
+      
+            if (chId == ADMW1001_CH_ID_DIG_SPI_0)
+            {
+                /* Some sensors automatically generate samples on additional 
+                 * "virtual" channels so these channels must be counted as 
+                 * active when those sensors are selected and we use the count 
+                 * from the corresponding "physical" channel 
+                 */
+                if ((sensorTypeReg.Sensor_Type >=
+                    CORE_SENSOR_TYPE_SPI_ACCELEROMETER_A) &&
+                    (sensorTypeReg.Sensor_Type <=
+                    CORE_SENSOR_TYPE_SPI_ACCELEROMETER_B))
+                {
+                    nActualChannels += 2;
+                }
+            }
   
-        READ_REG_U16(hDevice, sensorTypeReg.VALUE16, CORE_SENSOR_TYPEn(chId));
-  
-        if (chId == ADMW1001_CHANNEL_ID_SPI_0)
-        {
-          /* Some sensors automatically generate samples on additional "virtual" channels
-           * so these channels must be counted as active when those sensors are selected
-           * and we use the count from the corresponding "physical" channel */
-          if ((sensorTypeReg.Sensor_Type >=
-             CORE_SENSOR_TYPE_SPI_ACCELEROMETER_A) &&
-            (sensorTypeReg.Sensor_Type <=
-             CORE_SENSOR_TYPE_SPI_ACCELEROMETER_B))
-            nActualChannels += 2;
+            nChannelsEnabled += nActualChannels;
+            
+            nSamplesPerCycle += nActualChannels *
+                                (channelCountReg.Channel_Count + 1);
         }
-  
-        nChannelsEnabled += nActualChannels;
-        
-        nSamplesPerCycle += nActualChannels *
-            (channelCountReg.Channel_Count + 1);
-    }
     }
   
     if (nChannelsEnabled == 0)
     {
-    *pnSamplesPerDataready = 0;
-    *pnSamplesPerCycle = 0;
-    return ADMW_SUCCESS;
+        *pnSamplesPerDataready = 0;
+        *pnSamplesPerCycle = 0;
+        return ADMW_SUCCESS;
     }
   
     *pnSamplesPerCycle = nSamplesPerCycle;
   
-    if (modeReg.Drdy_Mode == ENUM_CORE_MODE_DRDY_PER_CONVERSION)
+    if (modeReg.Drdy_Mode == CORE_MODE_DRDY_PER_CONVERSION)
     {
-    *pnSamplesPerDataready = 1;
-    }
-    else if (modeReg.Drdy_Mode == ENUM_CORE_MODE_DRDY_PER_CYCLE)
-    {
-    *pnSamplesPerDataready = nSamplesPerCycle;
+        *pnSamplesPerDataready = 1;
     }
     else
     {
-         CORE_Fifo_Num_Cycles_t fifoNumCyclesReg;
-         READ_REG_U8(hDevice, fifoNumCyclesReg.VALUE8, CORE_FIFO_NUM_CYCLES);
-         
-         *pnSamplesPerDataready =
-         nSamplesPerCycle * fifoNumCyclesReg.Fifo_Num_Cycles;
+        *pnSamplesPerDataready = nSamplesPerCycle;
     }
-  
-    if (modeReg.Drdy_Mode == ENUM_CORE_MODE_DRDY_PER_CONVERSION)
-    *peDataReadyMode = ADMW1001_DATAREADY_PER_CONVERSION;
-    else if (modeReg.Drdy_Mode == ENUM_CORE_MODE_DRDY_PER_CYCLE)
-    *peDataReadyMode = ADMW1001_DATAREADY_PER_CYCLE;
+    
+    if (modeReg.Drdy_Mode == CORE_MODE_DRDY_PER_CONVERSION)
+    {
+        *peDataReadyMode = ADMW1001_DATAREADY_PER_CONVERSION;
+    }
     else
     {
-    *peDataReadyMode = ADMW1001_DATAREADY_PER_MULTICYCLE_BURST;
+        *peDataReadyMode = ADMW1001_DATAREADY_PER_CYCLE;
     }
-
+    
     return ADMW_SUCCESS;
 }
 
@@ -1035,8 +991,8 @@
     READ_REG_U8(hDevice, productIdLoReg.VALUE8, SPI_PRODUCT_ID_L);
     READ_REG_U8(hDevice, productIdHiReg.VALUE8, SPI_PRODUCT_ID_H);
 
-    *pProductId = (ADMW_PRODUCT_ID)((productIdHiReg.VALUE8 << 8)
-                                         | productIdLoReg.VALUE8);
+    *pProductId = (ADMW_PRODUCT_ID)((productIdHiReg.VALUE8 << 8) | 
+                                    productIdLoReg.VALUE8);
     return ADMW_SUCCESS;
 }
 
@@ -1044,7 +1000,7 @@
     ADMW_DEVICE_HANDLE hDevice,
     ADMW1001_POWER_MODE powerMode)
 {
-    CORE_Power_Config_t powerConfigReg;
+    ADMW_CORE_Power_Config_t powerConfigReg;
 
     if (powerMode == ADMW1001_POWER_MODE_HIBERNATION)
     {
@@ -1084,10 +1040,9 @@
 static ADMW_RESULT admw_SetMode(
     ADMW_DEVICE_HANDLE hDevice,
     ADMW1001_OPERATING_MODE eOperatingMode,
-    ADMW1001_DATAREADY_MODE eDataReadyMode,
-    bool bEnableExtFlash)
+    ADMW1001_DATAREADY_MODE eDataReadyMode)
 {
-    CORE_Mode_t modeReg;
+    ADMW_CORE_Mode_t modeReg;
 
     modeReg.VALUE8 = REG_RESET_VAL(CORE_MODE);
 
@@ -1099,10 +1054,6 @@
     {
         modeReg.Conversion_Mode = CORE_MODE_CONTINUOUS;
     }
-    else if (eOperatingMode == ADMW1001_OPERATING_MODE_MULTICYCLE)
-    {
-        modeReg.Conversion_Mode = CORE_MODE_MULTICYCLE;
-    }
     else
     {
         ADMW_LOG_ERROR("Invalid operating mode %d specified",
@@ -1118,20 +1069,6 @@
     {
         modeReg.Drdy_Mode = CORE_MODE_DRDY_PER_CYCLE;
     }
-    else if (eDataReadyMode == ADMW1001_DATAREADY_PER_MULTICYCLE_BURST)
-    {
-        if (eOperatingMode != ADMW1001_OPERATING_MODE_MULTICYCLE)
-        {
-            ADMW_LOG_ERROR(
-                "Data-ready mode %d cannot be used with operating mode %d",
-                eDataReadyMode, eOperatingMode);
-            return ADMW_INVALID_PARAM;
-        }
-        else
-        {
-            modeReg.Drdy_Mode = CORE_MODE_DRDY_PER_FIFO_FILL;
-        }
-    }
     else
     {
         ADMW_LOG_ERROR("Invalid data-ready mode %d specified", eDataReadyMode);
@@ -1143,26 +1080,15 @@
     return ADMW_SUCCESS;
 }
 
-ADMW_RESULT admw_SetCycleControl(
-    ADMW_DEVICE_HANDLE hDevice,
-    uint32_t nCycleInterval
-
-#ifdef __V2_3_CFG_FMT__    
-    , ADMW1001_CYCLE_TYPE eCycleType,
-    ADMW1001_FILTER_SETTLING eFilterSettling)
-#else
-    )
-#endif
+ADMW_RESULT admw_SetCycleControl(ADMW_DEVICE_HANDLE hDevice,
+                                 uint32_t           nCycleInterval,
+                                 bool               vBiasEnable)
 {
-    CORE_Cycle_Control_t cycleControlReg;
+    ADMW_CORE_Cycle_Control_t cycleControlReg;
 
     cycleControlReg.VALUE16 = REG_RESET_VAL(CORE_CYCLE_CONTROL);
 
-    if (nCycleInterval < (1 << 12))
-    {
-        cycleControlReg.Cycle_Time_Units = CORE_CYCLE_CONTROL_MICROSECONDS;
-    }
-    else if (nCycleInterval < (1000 * (1 << 12)))
+    if (nCycleInterval < (1000 * (1 << 12)))
     {
         cycleControlReg.Cycle_Time_Units = CORE_CYCLE_CONTROL_MILLISECONDS;
         nCycleInterval /= 1000;
@@ -1173,46 +1099,18 @@
         nCycleInterval /= 1000000;
     }
 
+    if (vBiasEnable == true)
+    {
+        cycleControlReg.Vbias = 1;
+    }
     CHECK_REG_FIELD_VAL(CORE_CYCLE_CONTROL_CYCLE_TIME, nCycleInterval);
     cycleControlReg.Cycle_Time = nCycleInterval;
 
-#ifdef __V2_3_CFG_FMT__   
-    if (eFilterSettling == ADMW1001_FILTER_SETTLING_ALWAYS)
-    {
-        cycleControlReg.Filter_Settling = CORE_CYCLE_CONTROL_FILTER_SETTLING_SETTLED;
-    }
-    else if (eFilterSettling == ADMW1001_FILTER_SETTLING_FAST)
-    {
-        cycleControlReg.Filter_Settling = CORE_CYCLE_CONTROL_FILTER_SETTLING_FAST;
-    }
-    else
-    {
-        ADMW_LOG_ERROR("Invalid filter settling option %d specified", eFilterSettling);
-        return ADMW_INVALID_PARAM;
-    }
-#endif
-    
     WRITE_REG_U16(hDevice, cycleControlReg.VALUE16, CORE_CYCLE_CONTROL);
 
     return ADMW_SUCCESS;
 }
 
-static ADMW_RESULT admw_SetMultiCycleConfig(
-    ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_MULTICYCLE_CONFIG *pMultiCycleConfig)
-{
-    CHECK_REG_FIELD_VAL(CORE_FIFO_NUM_CYCLES_FIFO_NUM_CYCLES,
-                        pMultiCycleConfig->cyclesPerBurst);
-
-    WRITE_REG_U8(hDevice, pMultiCycleConfig->cyclesPerBurst,
-                 CORE_FIFO_NUM_CYCLES);
-
-    WRITE_REG_U32(hDevice, pMultiCycleConfig->burstInterval,
-                  CORE_MULTI_CYCLE_REPEAT_INTERVAL);
-
-    return ADMW_SUCCESS;
-}
-
 static ADMW_RESULT admw_SetExternalReferenceValues(
     ADMW_DEVICE_HANDLE hDevice,
     float32_t externalRef1Value)
@@ -1229,39 +1127,28 @@
     ADMW_RESULT eRet;
 
     eRet = admw_SetMode(hDevice,
-                             pMeasConfig->operatingMode,
-                             pMeasConfig->dataReadyMode,
-                             pMeasConfig->enableExternalFlash);
+                        pMeasConfig->operatingMode,
+                        pMeasConfig->dataReadyMode);
     if (eRet != ADMW_SUCCESS)
     {
         ADMW_LOG_ERROR("Failed to set operating mode");
         return eRet;
     }
 
-    eRet = admw_SetCycleControl(hDevice,
-                                     pMeasConfig->cycleInterval);
+    eRet = admw_SetCycleControl(hDevice, pMeasConfig->cycleInterval,
+                                pMeasConfig->vBiasEnable);
     if (eRet != ADMW_SUCCESS)
     {
         ADMW_LOG_ERROR("Failed to set cycle control");
         return eRet;
     }
 
-    if (pMeasConfig->operatingMode == ADMW1001_OPERATING_MODE_MULTICYCLE)
+    if(pMeasConfig->externalRef1Value>0)
     {
-        eRet = admw_SetMultiCycleConfig(hDevice,
-                                            &pMeasConfig->multiCycleConfig);
-        if (eRet != ADMW_SUCCESS)
-        {
-            ADMW_LOG_ERROR("Failed to set multi-cycle configuration");
-            return eRet;
-        }
+        eRet = admw_SetExternalReferenceValues(hDevice,
+                                               pMeasConfig->externalRef1Value);
     }
-    if(pMeasConfig->externalRef1Value>0)
-          eRet = admw_SetExternalReferenceValues(hDevice,
-                                                pMeasConfig->externalRef1Value);
-    else
-        ;
-        
+
     if (eRet != ADMW_SUCCESS)
     {
         ADMW_LOG_ERROR("Failed to set external reference values");
@@ -1275,7 +1162,7 @@
     ADMW_DEVICE_HANDLE hDevice,
     ADMW1001_DIAGNOSTICS_CONFIG *pDiagnosticsConfig)
 {
-    CORE_Diagnostics_Control_t diagnosticsControlReg;
+    ADMW_CORE_Diagnostics_Control_t diagnosticsControlReg;
 
     diagnosticsControlReg.VALUE16 = REG_RESET_VAL(CORE_DIAGNOSTICS_CONTROL);
 
@@ -1316,10 +1203,10 @@
 
 ADMW_RESULT admw1001_SetChannelCount(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     uint32_t nMeasurementsPerCycle)
 {
-    CORE_Channel_Count_t channelCountReg;
+    ADMW_CORE_Channel_Count_t channelCountReg;
 
     channelCountReg.VALUE8 = REG_RESET_VAL(CORE_CHANNEL_COUNTn);
 
@@ -1345,10 +1232,10 @@
 
 ADMW_RESULT admw1001_SetChannelOptions(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_CHANNEL_PRIORITY ePriority)
 {
-    CORE_Channel_Options_t channelOptionsReg;
+    ADMW_CORE_Channel_Options_t channelOptionsReg;
 
     channelOptionsReg.VALUE8 = REG_RESET_VAL(CORE_CHANNEL_OPTIONSn);
 
@@ -1362,10 +1249,10 @@
 
 ADMW_RESULT admw1001_SetChannelSkipCount(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     uint32_t nCycleSkipCount)
 {
-    CORE_Channel_Skip_t channelSkipReg;
+    ADMW_CORE_Channel_Skip_t channelSkipReg;
 
     channelSkipReg.VALUE16 = REG_RESET_VAL(CORE_CHANNEL_SKIPn);
 
@@ -1379,97 +1266,53 @@
 }
 
 static ADMW_RESULT admw_SetChannelAdcSensorType(
-    ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
-    ADMW1001_ADC_SENSOR_TYPE sensorType)
+    ADMW_DEVICE_HANDLE          hDevice,
+    ADMW1001_CH_ID              eChannelId,
+    ADMW1001_ADC_SENSOR_TYPE    sensorType)
 {
-    CORE_Sensor_Type_t sensorTypeReg;
+    ADMW_CORE_Sensor_Type_t sensorTypeReg;
 
     sensorTypeReg.VALUE16 = REG_RESET_VAL(CORE_SENSOR_TYPEn);
 
     /* Ensure that the sensor type is valid for this channel */
     switch(sensorType)
     {
-        case ADMW1001_ADC_SENSOR_RTD_3WIRE_PT100_DEF_L1:
-        case ADMW1001_ADC_SENSOR_RTD_3WIRE_PT1000_DEF_L1:
-        case ADMW1001_ADC_SENSOR_RTD_3WIRE_1_DEF_L2:
-        case ADMW1001_ADC_SENSOR_RTD_3WIRE_2_DEF_L2:
-        case ADMW1001_ADC_SENSOR_RTD_3WIRE_3_DEF_L2:
-        case ADMW1001_ADC_SENSOR_RTD_3WIRE_4_DEF_L2:
-        case ADMW1001_ADC_SENSOR_RTD_3WIRE_PT100_ADV_L1:
-        case ADMW1001_ADC_SENSOR_RTD_3WIRE_PT1000_ADV_L1:
-        case ADMW1001_ADC_SENSOR_RTD_3WIRE_1_ADV_L2:
-        case ADMW1001_ADC_SENSOR_RTD_3WIRE_2_ADV_L2:
-        case ADMW1001_ADC_SENSOR_RTD_3WIRE_3_ADV_L2:
-        case ADMW1001_ADC_SENSOR_RTD_3WIRE_4_ADV_L2:
-        case ADMW1001_ADC_SENSOR_RTD_4WIRE_PT100_DEF_L1:
-        case ADMW1001_ADC_SENSOR_RTD_4WIRE_PT1000_DEF_L1:
-        case ADMW1001_ADC_SENSOR_RTD_4WIRE_1_DEF_L2:
-        case ADMW1001_ADC_SENSOR_RTD_4WIRE_2_DEF_L2:
-        case ADMW1001_ADC_SENSOR_RTD_4WIRE_3_DEF_L2:
-        case ADMW1001_ADC_SENSOR_RTD_4WIRE_4_DEF_L2:
-        case ADMW1001_ADC_SENSOR_RTD_4WIRE_PT100_ADV_L1:
-        case ADMW1001_ADC_SENSOR_RTD_4WIRE_PT1000_ADV_L1:
-        case ADMW1001_ADC_SENSOR_RTD_4WIRE_1_ADV_L2:
-        case ADMW1001_ADC_SENSOR_RTD_4WIRE_2_ADV_L2:
-        case ADMW1001_ADC_SENSOR_RTD_4WIRE_3_ADV_L2:
-        case ADMW1001_ADC_SENSOR_RTD_4WIRE_4_ADV_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_1_DEF_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_2_DEF_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_3_DEF_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_4_DEF_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_1_ADV_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_2_ADV_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_3_ADV_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_4_ADV_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_1_DEF_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_2_DEF_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_3_DEF_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_4_DEF_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_1_ADV_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_2_ADV_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_3_ADV_L2:
-        case ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_4_ADV_L2:
-        case ADMW1001_ADC_SENSOR_MICROPHONE_A_DEF_L1:
-        case ADMW1001_ADC_SENSOR_MICROPHONE_B_DEF_L1:
-        case ADMW1001_ADC_SENSOR_MICROPHONE_1_DEF_L2:
-        case ADMW1001_ADC_SENSOR_MICROPHONE_2_DEF_L2:
-        case ADMW1001_ADC_SENSOR_MICROPHONE_A_ADV_L1:
-        case ADMW1001_ADC_SENSOR_MICROPHONE_B_ADV_L1:
-        case ADMW1001_ADC_SENSOR_MICROPHONE_1_ADV_L2:
-        case ADMW1001_ADC_SENSOR_MICROPHONE_2_ADV_L2:
-        case ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_DEF_L1:
-        case ADMW1001_ADC_SENSOR_RTD_2WIRE_PT1000_DEF_L1:
-        case ADMW1001_ADC_SENSOR_RTD_2WIRE_1_DEF_L2:
-        case ADMW1001_ADC_SENSOR_RTD_2WIRE_2_DEF_L2:
-        case ADMW1001_ADC_SENSOR_RTD_2WIRE_3_DEF_L2:
-        case ADMW1001_ADC_SENSOR_RTD_2WIRE_4_DEF_L2:
-        case ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100_ADV_L1:
-        case ADMW1001_ADC_SENSOR_RTD_2WIRE_PT1000_ADV_L1:
-        case ADMW1001_ADC_SENSOR_RTD_2WIRE_1_ADV_L2:
-        case ADMW1001_ADC_SENSOR_RTD_2WIRE_2_ADV_L2:
-        case ADMW1001_ADC_SENSOR_RTD_2WIRE_3_ADV_L2:
-        case ADMW1001_ADC_SENSOR_RTD_2WIRE_4_ADV_L2:
-        case ADMW1001_ADC_SENSOR_DIODE_2C_TYPEA_DEF_L1:
-        case ADMW1001_ADC_SENSOR_DIODE_3C_TYPEA_DEF_L1:
-        case ADMW1001_ADC_SENSOR_DIODE_2C_1_DEF_L2:
-        case ADMW1001_ADC_SENSOR_DIODE_3C_1_DEF_L2:
-        case ADMW1001_ADC_SENSOR_DIODE_2C_TYPEA_ADV_L1:
-        case ADMW1001_ADC_SENSOR_DIODE_3C_TYPEA_ADV_L1:
-        case ADMW1001_ADC_SENSOR_DIODE_2C_1_ADV_L2:
-        case ADMW1001_ADC_SENSOR_DIODE_3C_1_ADV_L2:
-        case ADMW1001_ADC_SENSOR_THERMISTOR_A_10K_DEF_L1:
-        case ADMW1001_ADC_SENSOR_THERMISTOR_B_10K_DEF_L1:
-        case ADMW1001_ADC_SENSOR_THERMISTOR_1_DEF_L2:
-        case ADMW1001_ADC_SENSOR_THERMISTOR_2_DEF_L2:
-        case ADMW1001_ADC_SENSOR_THERMISTOR_3_DEF_L2:
-        case ADMW1001_ADC_SENSOR_THERMISTOR_4_DEF_L2:
-        case ADMW1001_ADC_SENSOR_THERMISTOR_A_10K_ADV_L1:
-        case ADMW1001_ADC_SENSOR_THERMISTOR_B_10K_ADV_L1:
-        case ADMW1001_ADC_SENSOR_THERMISTOR_1_ADV_L2:
-        case ADMW1001_ADC_SENSOR_THERMISTOR_2_ADV_L2:
-        case ADMW1001_ADC_SENSOR_THERMISTOR_3_ADV_L2:
-        case ADMW1001_ADC_SENSOR_THERMISTOR_4_ADV_L2:
+        case ADMW1001_ADC_SENSOR_RTD_3WIRE_PT100:
+        case ADMW1001_ADC_SENSOR_RTD_3WIRE_PT1000:
+        case ADMW1001_ADC_SENSOR_RTD_3WIRE_1:
+        case ADMW1001_ADC_SENSOR_RTD_3WIRE_2:
+        case ADMW1001_ADC_SENSOR_RTD_3WIRE_3:
+        case ADMW1001_ADC_SENSOR_RTD_3WIRE_4:
+        case ADMW1001_ADC_SENSOR_RTD_4WIRE_PT100:
+        case ADMW1001_ADC_SENSOR_RTD_4WIRE_PT1000:
+        case ADMW1001_ADC_SENSOR_RTD_4WIRE_1:
+        case ADMW1001_ADC_SENSOR_RTD_4WIRE_2:
+        case ADMW1001_ADC_SENSOR_RTD_4WIRE_3:
+        case ADMW1001_ADC_SENSOR_RTD_4WIRE_4:
+        case ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_1:
+        case ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_2:
+        case ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_3:
+        case ADMW1001_ADC_SENSOR_BRIDGE_4WIRE_4:
+        case ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_1:
+        case ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_2:
+        case ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_3:
+        case ADMW1001_ADC_SENSOR_BRIDGE_6WIRE_4:
+        case ADMW1001_ADC_SENSOR_RTD_2WIRE_PT100:
+        case ADMW1001_ADC_SENSOR_RTD_2WIRE_PT1000:
+        case ADMW1001_ADC_SENSOR_RTD_2WIRE_1:
+        case ADMW1001_ADC_SENSOR_RTD_2WIRE_2:
+        case ADMW1001_ADC_SENSOR_RTD_2WIRE_3:
+        case ADMW1001_ADC_SENSOR_RTD_2WIRE_4:
+        case ADMW1001_ADC_SENSOR_DIODE_2C_TYPEA:
+        case ADMW1001_ADC_SENSOR_DIODE_3C_TYPEA:
+        case ADMW1001_ADC_SENSOR_DIODE_2C_1:
+        case ADMW1001_ADC_SENSOR_DIODE_3C_1:
+        case ADMW1001_ADC_SENSOR_THERMISTOR_A_10K:
+        case ADMW1001_ADC_SENSOR_THERMISTOR_B_10K:
+        case ADMW1001_ADC_SENSOR_THERMISTOR_1:
+        case ADMW1001_ADC_SENSOR_THERMISTOR_2:
+        case ADMW1001_ADC_SENSOR_THERMISTOR_3:
+        case ADMW1001_ADC_SENSOR_THERMISTOR_4:
             if (! (ADMW1001_CHANNEL_IS_ADC_SENSOR(eChannelId) ||
                    ADMW1001_CHANNEL_IS_ADC_CJC(eChannelId)))
             {
@@ -1480,28 +1323,17 @@
             }
             break;
         case ADMW1001_ADC_SENSOR_VOLTAGE:
-        case ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_A_DEF_L1:
-        case ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_B_DEF_L1:
-        case ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_1_DEF_L2:
-        case ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_2_DEF_L2:
-        case ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_A_ADV_L1:
-        case ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_B_ADV_L1:
-        case ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_1_ADV_L2:
-        case ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_2_ADV_L2:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_J_DEF_L1:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_K_DEF_L1:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_T_DEF_L1:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_1_DEF_L2:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_2_DEF_L2:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_3_DEF_L2:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_4_DEF_L2:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_J_ADV_L1:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_K_ADV_L1:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_T_ADV_L1:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_1_ADV_L2:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_2_ADV_L2:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_3_ADV_L2:
-        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_4_ADV_L2:
+        case ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_A:
+        case ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_B:
+        case ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_1:
+        case ADMW1001_ADC_SENSOR_VOLTAGE_PRESSURE_2:
+        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_J:
+        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_K:
+        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_T:
+        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_1:
+        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_2:
+        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_3:
+        case ADMW1001_ADC_SENSOR_THERMOCOUPLE_4:
             if (! ADMW1001_CHANNEL_IS_ADC_VOLTAGE(eChannelId))
             {
                 ADMW_LOG_ERROR(
@@ -1511,12 +1343,9 @@
             }
             break;
         case ADMW1001_ADC_SENSOR_CURRENT:
-        case ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_A_DEF_L1:
-        case ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_1_DEF_L2:
-        case ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_2_DEF_L2:
-        case ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_A_ADV_L1:
-        case ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_1_ADV_L2:
-        case ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_2_ADV_L2:
+        case ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_A:
+        case ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_1:
+        case ADMW1001_ADC_SENSOR_CURRENT_PRESSURE_2:
             if (! ADMW1001_CHANNEL_IS_ADC_CURRENT(eChannelId))
             {
                 ADMW_LOG_ERROR(
@@ -1539,8 +1368,8 @@
 }
 
 static ADMW_RESULT admw_SetChannelAdcSensorDetails(
-    ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW_DEVICE_HANDLE      hDevice,
+    ADMW1001_CH_ID          eChannelId,
     ADMW1001_CHANNEL_CONFIG *pChannelConfig)
 /*
  * TODO - it would be nice if the general- vs. ADC-specific sensor details could be split into separate registers
@@ -1552,33 +1381,32 @@
  * - PGA_Gain
  * - Reference_Select
  * - Reference_Buffer_Disable
- * - Vbias
  */
 {
     ADMW1001_ADC_CHANNEL_CONFIG *pAdcChannelConfig = &pChannelConfig->adcChannelConfig;
-    ADMW1001_ADC_REFERENCE_CONFIG *pRefConfig = &pAdcChannelConfig->reference;
-    CORE_Sensor_Details_t sensorDetailsReg;
+    ADMW1001_ADC_REFERENCE_TYPE refType            = pAdcChannelConfig->reference;
+    ADMW_CORE_Sensor_Details_t  sensorDetailsReg;
 
     sensorDetailsReg.VALUE32 = REG_RESET_VAL(CORE_SENSOR_DETAILSn);
 
     switch(pChannelConfig->measurementUnit)
     {
-    case ADMW1001_MEASUREMENT_UNIT_FAHRENHEIT:
-        sensorDetailsReg.Measurement_Units = CORE_SENSOR_DETAILS_UNITS_DEGF;
-        break;
-    case ADMW1001_MEASUREMENT_UNIT_CELSIUS:
-        sensorDetailsReg.Measurement_Units = CORE_SENSOR_DETAILS_UNITS_DEGC;
-        break;
-    case ADMW1001_MEASUREMENT_UNIT_UNSPECIFIED:
-        sensorDetailsReg.Measurement_Units = CORE_SENSOR_DETAILS_UNITS_UNSPECIFIED;
-        break;
-    default:
-        ADMW_LOG_ERROR("Invalid measurement unit %d specified",
-                            pChannelConfig->measurementUnit);
-        return ADMW_INVALID_PARAM;
+        case ADMW1001_MEASUREMENT_UNIT_FAHRENHEIT:
+            sensorDetailsReg.Measurement_Units = CORE_SENSOR_DETAILS_UNITS_DEGF;
+            break;
+        case ADMW1001_MEASUREMENT_UNIT_CELSIUS:
+            sensorDetailsReg.Measurement_Units = CORE_SENSOR_DETAILS_UNITS_DEGC;
+            break;
+        case ADMW1001_MEASUREMENT_UNIT_UNSPECIFIED:
+            sensorDetailsReg.Measurement_Units = CORE_SENSOR_DETAILS_UNITS_UNSPECIFIED;
+            break;
+        default:
+            ADMW_LOG_ERROR("Invalid measurement unit %d specified",
+                           pChannelConfig->measurementUnit);
+            return ADMW_INVALID_PARAM;
     }
 
-    if (pChannelConfig->compensationChannel == ADMW1001_CHANNEL_ID_NONE)
+    if (pChannelConfig->compensationChannel == ADMW1001_CH_ID_NONE)
     {
         sensorDetailsReg.Compensation_Disable = 1;
         sensorDetailsReg.Compensation_Channel = 0;
@@ -1589,96 +1417,96 @@
         sensorDetailsReg.Compensation_Channel = pChannelConfig->compensationChannel;
     }
 
-    switch(pRefConfig->type)
+    switch(refType)
     {
-    case ADMW1001_ADC_REFERENCE_RESISTOR_INTERNAL_1:
-        sensorDetailsReg.Reference_Select = CORE_SENSOR_DETAILS_REF_INT;
-        break;
-    case ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL:
-        sensorDetailsReg.Reference_Select = CORE_SENSOR_DETAILS_REF_INT;
-        break;
-    case ADMW1001_ADC_REFERENCE_VOLTAGE_AVDD:
-        sensorDetailsReg.Reference_Select = CORE_SENSOR_DETAILS_REF_AVDD;
-        break;
-    case ADMW1001_ADC_REFERENCE_RESISTOR_EXTERNAL_1:
-        sensorDetailsReg.Reference_Select = CORE_SENSOR_DETAILS_REF_REXT1;
-        break;
-    case ADMW1001_ADC_REFERENCE_BRIDGE_EXCITATION:
-        sensorDetailsReg.Reference_Select = CORE_SENSOR_DETAILS_REF_EXC;
-        break;
-    default:
-        ADMW_LOG_ERROR("Invalid ADC reference type %d specified",
-                            pRefConfig->type);
-        return ADMW_INVALID_PARAM;
+        case ADMW1001_ADC_REFERENCE_VOLTAGE_INTERNAL:
+            sensorDetailsReg.Reference_Select = CORE_SENSOR_DETAILS_REF_VINT;
+            break;
+        case ADMW1001_ADC_REFERENCE_VOLTAGE_EXTERNAL_1:
+            sensorDetailsReg.Reference_Select = CORE_SENSOR_DETAILS_REF_VEXT1;
+            break;
+        case ADMW1001_ADC_REFERENCE_VOLTAGE_AVDD:
+            sensorDetailsReg.Reference_Select = CORE_SENSOR_DETAILS_REF_AVDD;
+            break;
+        default:
+            ADMW_LOG_ERROR("Invalid ADC reference type %d specified", refType);
+            return ADMW_INVALID_PARAM;
     }
     
     switch(pAdcChannelConfig->gain)
     {
-    case ADMW1001_ADC_GAIN_1X:
-        sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_1;
-        break;
-    case ADMW1001_ADC_GAIN_2X:
-        sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_2;
-        break;
-    case ADMW1001_ADC_GAIN_4X:
-        sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_4;
-        break;
-    case ADMW1001_ADC_GAIN_8X:
-        sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_8;
-        break;
-    case ADMW1001_ADC_GAIN_16X:
-        sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_16;
-        break;
-    case ADMW1001_ADC_GAIN_32X:
-        sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_32;
-        break;
-    case ADMW1001_ADC_GAIN_64X:
-        sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_64;
-        break;
-    case ADMW1001_ADC_GAIN_128X:
-        sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_128;
-        break;
-    default:
-        ADMW_LOG_ERROR("Invalid ADC gain %d specified",
-                            pAdcChannelConfig->gain);
-        return ADMW_INVALID_PARAM;
+        case ADMW1001_ADC_GAIN_1X:
+            sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_1;
+            break;
+        case ADMW1001_ADC_GAIN_2X:
+            sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_2;
+            break;
+        case ADMW1001_ADC_GAIN_4X:
+            sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_4;
+            break;
+        case ADMW1001_ADC_GAIN_8X:
+            sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_8;
+            break;
+        case ADMW1001_ADC_GAIN_16X:
+            sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_16;
+            break;
+        case ADMW1001_ADC_GAIN_32X:
+            sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_32;
+            break;
+        case ADMW1001_ADC_GAIN_64X:
+            sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_64;
+            break;
+        case ADMW1001_ADC_GAIN_128X:
+            sensorDetailsReg.PGA_Gain = CORE_SENSOR_DETAILS_PGA_GAIN_128;
+            break;
+        default:
+            ADMW_LOG_ERROR("Invalid ADC gain %d specified",
+                                pAdcChannelConfig->gain);
+            return ADMW_INVALID_PARAM;
     }
 
     switch(pAdcChannelConfig->rtdCurve)
     {
-    case ADMW1001_ADC_RTD_CURVE_EUROPEAN:
-        sensorDetailsReg.RTD_Curve = CORE_SENSOR_DETAILS_EUROPEAN_CURVE;
-        break;
-    case ADMW1001_ADC_RTD_CURVE_AMERICAN:
-        sensorDetailsReg.RTD_Curve = CORE_SENSOR_DETAILS_AMERICAN_CURVE;
-        break;
-    case ADMW1001_ADC_RTD_CURVE_JAPANESE:
-        sensorDetailsReg.RTD_Curve = CORE_SENSOR_DETAILS_JAPANESE_CURVE;
-        break;
-    case ADMW1001_ADC_RTD_CURVE_ITS90:
-        sensorDetailsReg.RTD_Curve = CORE_SENSOR_DETAILS_ITS90_CURVE;
-        break;
-    default:
-        ADMW_LOG_ERROR("Invalid RTD Curve %d specified",
-                            pAdcChannelConfig->rtdCurve);
-        return ADMW_INVALID_PARAM;
+        case ADMW1001_ADC_RTD_CURVE_EUROPEAN:
+            sensorDetailsReg.RTD_Curve = CORE_SENSOR_DETAILS_EUROPEAN_CURVE;
+            break;
+        case ADMW1001_ADC_RTD_CURVE_AMERICAN:
+            sensorDetailsReg.RTD_Curve = CORE_SENSOR_DETAILS_AMERICAN_CURVE;
+            break;
+        case ADMW1001_ADC_RTD_CURVE_JAPANESE:
+            sensorDetailsReg.RTD_Curve = CORE_SENSOR_DETAILS_JAPANESE_CURVE;
+            break;
+        case ADMW1001_ADC_RTD_CURVE_ITS90:
+            sensorDetailsReg.RTD_Curve = CORE_SENSOR_DETAILS_ITS90_CURVE;
+            break;
+        default:
+            ADMW_LOG_ERROR("Invalid RTD Curve %d specified",
+                                pAdcChannelConfig->rtdCurve);
+            return ADMW_INVALID_PARAM;
     }
 
-    if (pAdcChannelConfig->enableVbias)
-        sensorDetailsReg.Vbias = 1;
-    else
-        sensorDetailsReg.Vbias = 0;
-
     if (pChannelConfig->disablePublishing)
+    {
         sensorDetailsReg.Do_Not_Publish = 1;
+    }
     else
+    {
         sensorDetailsReg.Do_Not_Publish = 0;
-
-    if (pChannelConfig->enableUnityLut)
-        sensorDetailsReg.Unity_LUT_Select = 1;
-    else
-        sensorDetailsReg.Unity_LUT_Select = 0;
-
+    }
+    
+    switch (pChannelConfig->lutSelect)
+    {
+        case ADMW1001_LUT_DEFAULT:
+        case ADMW1001_LUT_UNITY:
+        case ADMW1001_LUT_CUSTOM:
+            sensorDetailsReg.LUT_Select = pChannelConfig->lutSelect;
+            break;
+        default:
+            ADMW_LOG_ERROR("Invalid LUT selection %d specified",
+                            pChannelConfig->lutSelect);
+            return ADMW_INVALID_PARAM;        
+    }
+    
     WRITE_REG_U32(hDevice, sensorDetailsReg.VALUE32, CORE_SENSOR_DETAILSn(eChannelId));
 
     return ADMW_SUCCESS;
@@ -1686,10 +1514,10 @@
 
 static ADMW_RESULT admw_SetChannelAdcFilter(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_ADC_FILTER_CONFIG *pFilterConfig)
 {
-    CORE_Measurement_Setup_t MeasSetupReg;
+    ADMW_CORE_Measurement_Setup_t MeasSetupReg;
     MeasSetupReg.VALUE32 = REG_RESET_VAL(CORE_MEASUREMENT_SETUPn);
 
     if (pFilterConfig->type == ADMW1001_ADC_FILTER_SINC4)
@@ -1709,10 +1537,8 @@
         return ADMW_INVALID_PARAM;
     }
     
-    if(pFilterConfig->filterChop) 
-          MeasSetupReg.Chop_Mode = 1;
-    else
-        MeasSetupReg.Chop_Mode = 1;
+    /* chop mod ecan be 0 (none), 1 (HW, 2 (SW, 3 (HW+SW). */
+    MeasSetupReg.Chop_Mode = pFilterConfig->filterChop;
     
     if(pFilterConfig->notch1p2)
         MeasSetupReg.NOTCH_EN_2 = 1;
@@ -1740,10 +1566,10 @@
 
 static ADMW_RESULT admw_SetChannelAdcCurrentConfig(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_ADC_EXC_CURRENT_CONFIG *pCurrentConfig)
 {
-    CORE_Channel_Excitation_t channelExcitationReg;
+    ADMW_CORE_Channel_Excitation_t channelExcitationReg;
 
     channelExcitationReg.VALUE16 = REG_RESET_VAL(CORE_CHANNEL_EXCITATIONn);
 
@@ -1806,7 +1632,7 @@
 
 ADMW_RESULT admw_SetAdcChannelConfig(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_CHANNEL_CONFIG *pChannelConfig)
 {
     ADMW_RESULT eRet;
@@ -1854,14 +1680,14 @@
 
 static ADMW_RESULT admw_SetChannelDigitalSensorDetails(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_CHANNEL_CONFIG *pChannelConfig)
 {
-    CORE_Sensor_Details_t sensorDetailsReg;
+    ADMW_CORE_Sensor_Details_t sensorDetailsReg;
 
     sensorDetailsReg.VALUE32 = REG_RESET_VAL(CORE_SENSOR_DETAILSn);
 
-    if (pChannelConfig->compensationChannel == ADMW1001_CHANNEL_ID_NONE)
+    if (pChannelConfig->compensationChannel == ADMW1001_CH_ID_NONE)
     {
         sensorDetailsReg.Compensation_Disable = 1;
         sensorDetailsReg.Compensation_Channel = 0;
@@ -1887,13 +1713,6 @@
     else
         sensorDetailsReg.Do_Not_Publish = 0;
 
-    if (pChannelConfig->enableUnityLut)
-        sensorDetailsReg.Unity_LUT_Select = 1;
-    else
-        sensorDetailsReg.Unity_LUT_Select = 0;
-
-    sensorDetailsReg.Vbias = 0;
-
     WRITE_REG_U32(hDevice, sensorDetailsReg.VALUE32, CORE_SENSOR_DETAILSn(eChannelId));
 
     return ADMW_SUCCESS;
@@ -1901,11 +1720,11 @@
 
 static ADMW_RESULT admw_SetDigitalSensorCommands(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_DIGITAL_SENSOR_COMMAND *pConfigCommand,
     ADMW1001_DIGITAL_SENSOR_COMMAND *pDataRequestCommand)
 {
-    CORE_Digital_Sensor_Num_Cmds_t numCmdsReg;
+    ADMW_CORE_Digital_Sensor_Num_Cmds_t numCmdsReg;
 
     numCmdsReg.VALUE8 = REG_RESET_VAL(CORE_DIGITAL_SENSOR_NUM_CMDSn);
 
@@ -1922,84 +1741,73 @@
 
     /*
      * NOTE - the fall-through cases in the switch statement below are
-     * intentional, so temporarily disable related compiler warnings which may
-     * be produced here by GCC
+     * intentional.
      */
-#ifndef __CC_ARM
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
-#endif
-
     switch (pConfigCommand->commandLength)
     {
-    case 7:
-        WRITE_REG_U8(hDevice, pConfigCommand->command[6],
-                     CORE_DIGITAL_SENSOR_COMMAND7n(eChannelId));
-    case 6:
-        WRITE_REG_U8(hDevice, pConfigCommand->command[5],
-                     CORE_DIGITAL_SENSOR_COMMAND6n(eChannelId));
-    case 5:
-        WRITE_REG_U8(hDevice, pConfigCommand->command[4],
-                     CORE_DIGITAL_SENSOR_COMMAND5n(eChannelId));
-    case 4:
-        WRITE_REG_U8(hDevice, pConfigCommand->command[3],
-                     CORE_DIGITAL_SENSOR_COMMAND4n(eChannelId));
-    case 3:
-        WRITE_REG_U8(hDevice, pConfigCommand->command[2],
-                     CORE_DIGITAL_SENSOR_COMMAND3n(eChannelId));
-    case 2:
-        WRITE_REG_U8(hDevice, pConfigCommand->command[1],
-                     CORE_DIGITAL_SENSOR_COMMAND2n(eChannelId));
-    case 1:
-        WRITE_REG_U8(hDevice, pConfigCommand->command[0],
-                     CORE_DIGITAL_SENSOR_COMMAND1n(eChannelId));
-    case 0:
-    default:
-        break;
+        case 7:
+            WRITE_REG_U8(hDevice, pConfigCommand->command[6],
+                         CORE_DIGITAL_SENSOR_COMMAND7n(eChannelId));
+        case 6:
+            WRITE_REG_U8(hDevice, pConfigCommand->command[5],
+                         CORE_DIGITAL_SENSOR_COMMAND6n(eChannelId));
+        case 5:
+            WRITE_REG_U8(hDevice, pConfigCommand->command[4],
+                         CORE_DIGITAL_SENSOR_COMMAND5n(eChannelId));
+        case 4:
+            WRITE_REG_U8(hDevice, pConfigCommand->command[3],
+                         CORE_DIGITAL_SENSOR_COMMAND4n(eChannelId));
+        case 3:
+            WRITE_REG_U8(hDevice, pConfigCommand->command[2],
+                         CORE_DIGITAL_SENSOR_COMMAND3n(eChannelId));
+        case 2:
+            WRITE_REG_U8(hDevice, pConfigCommand->command[1],
+                         CORE_DIGITAL_SENSOR_COMMAND2n(eChannelId));
+        case 1:
+            WRITE_REG_U8(hDevice, pConfigCommand->command[0],
+                         CORE_DIGITAL_SENSOR_COMMAND1n(eChannelId));
+        case 0:
+        default:
+            break;
     };
 
     switch (pDataRequestCommand->commandLength)
     {
-    case 7:
-        WRITE_REG_U8(hDevice, pDataRequestCommand->command[6],
-                     CORE_DIGITAL_SENSOR_READ_CMD7n(eChannelId));
-    case 6:
-        WRITE_REG_U8(hDevice, pDataRequestCommand->command[5],
-                     CORE_DIGITAL_SENSOR_READ_CMD6n(eChannelId));
-    case 5:
-        WRITE_REG_U8(hDevice, pDataRequestCommand->command[4],
-                     CORE_DIGITAL_SENSOR_READ_CMD5n(eChannelId));
-    case 4:
-        WRITE_REG_U8(hDevice, pDataRequestCommand->command[3],
-                     CORE_DIGITAL_SENSOR_READ_CMD4n(eChannelId));
-    case 3:
-        WRITE_REG_U8(hDevice, pDataRequestCommand->command[2],
-                     CORE_DIGITAL_SENSOR_READ_CMD3n(eChannelId));
-    case 2:
-        WRITE_REG_U8(hDevice, pDataRequestCommand->command[1],
-                     CORE_DIGITAL_SENSOR_READ_CMD2n(eChannelId));
-    case 1:
-        WRITE_REG_U8(hDevice, pDataRequestCommand->command[0],
-                     CORE_DIGITAL_SENSOR_READ_CMD1n(eChannelId));
-    case 0:
-    default:
-        break;
+        case 7:
+            WRITE_REG_U8(hDevice, pDataRequestCommand->command[6],
+                         CORE_DIGITAL_SENSOR_READ_CMD7n(eChannelId));
+        case 6:
+            WRITE_REG_U8(hDevice, pDataRequestCommand->command[5],
+                         CORE_DIGITAL_SENSOR_READ_CMD6n(eChannelId));
+        case 5:
+            WRITE_REG_U8(hDevice, pDataRequestCommand->command[4],
+                         CORE_DIGITAL_SENSOR_READ_CMD5n(eChannelId));
+        case 4:
+            WRITE_REG_U8(hDevice, pDataRequestCommand->command[3],
+                         CORE_DIGITAL_SENSOR_READ_CMD4n(eChannelId));
+        case 3:
+            WRITE_REG_U8(hDevice, pDataRequestCommand->command[2],
+                         CORE_DIGITAL_SENSOR_READ_CMD3n(eChannelId));
+        case 2:
+            WRITE_REG_U8(hDevice, pDataRequestCommand->command[1],
+                         CORE_DIGITAL_SENSOR_READ_CMD2n(eChannelId));
+        case 1:
+            WRITE_REG_U8(hDevice, pDataRequestCommand->command[0],
+                         CORE_DIGITAL_SENSOR_READ_CMD1n(eChannelId));
+        case 0:
+        default:
+            break;
     };
 
-    /* Re-enable the implicit-fallthrough warning */
-#ifndef __CC_ARM
-#pragma GCC diagnostic pop
-#endif
-
     return ADMW_SUCCESS;
 }
 
 static ADMW_RESULT admw_SetDigitalSensorFormat(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_DIGITAL_SENSOR_DATA_FORMAT *pDataFormat)
 {
-    CORE_Digital_Sensor_Config_t sensorConfigReg;
+    ADMW_CORE_Digital_Sensor_Config_t sensorConfigReg;
 
     sensorConfigReg.VALUE16 = REG_RESET_VAL(CORE_DIGITAL_SENSOR_CONFIGn);
 
@@ -2059,10 +1867,10 @@
 
 static ADMW_RESULT admw_SetDigitalCalibrationParam(
         ADMW_DEVICE_HANDLE hDevice,
-        ADMW1001_CHANNEL_ID eChannelId,
+        ADMW1001_CH_ID eChannelId,
         ADMW1001_DIGITAL_CALIBRATION_COMMAND *pCalibrationParam)
 {
-    CORE_Calibration_Parameter_t calibrationParamReg;
+    ADMW_CORE_Calibration_Parameter_t calibrationParamReg;
 
     calibrationParamReg.VALUE32 = REG_RESET_VAL(CORE_CALIBRATION_PARAMETERn);
 
@@ -2084,33 +1892,23 @@
 
 static ADMW_RESULT admw_SetChannelI2cSensorType(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_I2C_SENSOR_TYPE sensorType)
 {
-    CORE_Sensor_Type_t sensorTypeReg;
+    ADMW_CORE_Sensor_Type_t sensorTypeReg;
 
     sensorTypeReg.VALUE16 = REG_RESET_VAL(CORE_SENSOR_TYPEn);
 
     /* Ensure that the sensor type is valid for this channel */
     switch(sensorType)
     {
-    case ADMW1001_I2C_SENSOR_HUMIDITY_A_DEF_L1:
-    case ADMW1001_I2C_SENSOR_HUMIDITY_B_DEF_L1:
-    case ADMW1001_I2C_SENSOR_HUMIDITY_A_DEF_L2:
-    case ADMW1001_I2C_SENSOR_HUMIDITY_B_DEF_L2:
-    case ADMW1001_I2C_SENSOR_HUMIDITY_A_ADV_L1:
-    case ADMW1001_I2C_SENSOR_HUMIDITY_B_ADV_L1:
-    case ADMW1001_I2C_SENSOR_HUMIDITY_A_ADV_L2:
-    case ADMW1001_I2C_SENSOR_HUMIDITY_B_ADV_L2:
-    case ADMW1001_I2C_SENSOR_AMBIENTLIGHT_A_DEF_L1:
-    case ADMW1001_I2C_SENSOR_AMBIENTLIGHT_A_DEF_L2:
-    case ADMW1001_I2C_SENSOR_AMBIENTLIGHT_A_ADV_L1:
-    case ADMW1001_I2C_SENSOR_AMBIENTLIGHT_A_ADV_L2:
-        sensorTypeReg.Sensor_Type = sensorType;
-        break;
-    default:
-        ADMW_LOG_ERROR("Unsupported I2C sensor type %d specified", sensorType);
-        return ADMW_INVALID_PARAM;
+        case ADMW1001_I2C_SENSOR_HUMIDITY_A:
+        case ADMW1001_I2C_SENSOR_HUMIDITY_B:
+            sensorTypeReg.Sensor_Type = sensorType;
+            break;
+        default:
+            ADMW_LOG_ERROR("Unsupported I2C sensor type %d specified", sensorType);
+            return ADMW_INVALID_PARAM;
     }
 
     WRITE_REG_U16(hDevice, sensorTypeReg.VALUE16, CORE_SENSOR_TYPEn(eChannelId));
@@ -2120,7 +1918,7 @@
 
 static ADMW_RESULT admw_SetChannelI2cSensorAddress(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     uint32_t deviceAddress)
 {
     CHECK_REG_FIELD_VAL(CORE_DIGITAL_SENSOR_ADDRESS_DIGITAL_SENSOR_ADDRESS, deviceAddress);
@@ -2131,10 +1929,10 @@
 
 static ADMW_RESULT admw_SetDigitalChannelComms(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_DIGITAL_SENSOR_COMMS *pDigitalComms)
 {
-    CORE_Digital_Sensor_Comms_t digitalSensorComms;
+    ADMW_CORE_Digital_Sensor_Comms_t digitalSensorComms;
 
     digitalSensorComms.VALUE16 = REG_RESET_VAL(CORE_DIGITAL_SENSOR_COMMSn);
 
@@ -2182,53 +1980,53 @@
 
         switch (pDigitalComms->spiClock)
         {
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_13MHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_13MHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_8MHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_8MHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_6_5MHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_6_5MHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_4MHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_4MHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_3_25MHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_3_25MHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_2MHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_2MHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_1_625MHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_1_625MHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_1MHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_1MHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_812KHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_812KHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_500KHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_500KHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_406KHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_406KHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_250KHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_250KHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_203KHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_203KHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_125KHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_125KHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_101KHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_101KHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_62P5KHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_62P5KHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_50KHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_50KHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_31P3KHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_31P3KHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_25KHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_25KHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_15P6KHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_15P6KHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_12KHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_12KHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_7P8KHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_7P8KHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_6KHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_6KHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_3P9KHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_3P9KHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_3KHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_3KHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_1P9KHZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_1P9KHZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_1_5KHZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_1_5KHZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_977HZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_977HZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_793HZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_793HZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_488HZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_488HZ;
             break;
-        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_396HZ:
-            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_396HZ;
+        case ADMW1001_DIGITAL_SENSOR_COMMS_SPI_CLOCK_244HZ:
+            digitalSensorComms.SPI_Clock = CORE_DIGITAL_SENSOR_COMMS_SPI_244HZ;
             break;
         default:
             ADMW_LOG_ERROR("Invalid SPI clock %d specified",
@@ -2248,7 +2046,7 @@
 
 ADMW_RESULT admw_SetI2cChannelConfig(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_CHANNEL_CONFIG *pChannelConfig)
 {
     ADMW_RESULT eRet;
@@ -2324,28 +2122,20 @@
 
 static ADMW_RESULT admw_SetChannelSpiSensorType(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_SPI_SENSOR_TYPE sensorType)
 {
-    CORE_Sensor_Type_t sensorTypeReg;
+    ADMW_CORE_Sensor_Type_t sensorTypeReg;
 
     sensorTypeReg.VALUE16 = REG_RESET_VAL(CORE_SENSOR_TYPEn);
 
     /* Ensure that the sensor type is valid for this channel */
     switch(sensorType)
     {
-    case ADMW1001_SPI_SENSOR_PRESSURE_A_DEF_L1:
-    case ADMW1001_SPI_SENSOR_PRESSURE_A_DEF_L2:
-    case ADMW1001_SPI_SENSOR_PRESSURE_A_ADV_L1:
-    case ADMW1001_SPI_SENSOR_PRESSURE_A_ADV_L2:
-    case ADMW1001_SPI_SENSOR_ACCELEROMETER_A_DEF_L1:
-    case ADMW1001_SPI_SENSOR_ACCELEROMETER_B_DEF_L1:
-    case ADMW1001_SPI_SENSOR_ACCELEROMETER_A_DEF_L2:
-    case ADMW1001_SPI_SENSOR_ACCELEROMETER_B_DEF_L2:
-    case ADMW1001_SPI_SENSOR_ACCELEROMETER_A_ADV_L1:
-    case ADMW1001_SPI_SENSOR_ACCELEROMETER_B_ADV_L1:
-    case ADMW1001_SPI_SENSOR_ACCELEROMETER_A_ADV_L2:
-    case ADMW1001_SPI_SENSOR_ACCELEROMETER_B_ADV_L2:
+    case ADMW1001_SPI_SENSOR_PRESSURE_A:
+    case ADMW1001_SPI_SENSOR_ACCELEROMETER_A:
+    case ADMW1001_SPI_SENSOR_ACCELEROMETER_B:
+
         sensorTypeReg.Sensor_Type = sensorType;
         break;
     default:
@@ -2360,7 +2150,7 @@
 
 ADMW_RESULT admw_SetSpiChannelConfig(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_CHANNEL_CONFIG *pChannelConfig)
 {
     ADMW_RESULT eRet;
@@ -2427,7 +2217,7 @@
 
 ADMW_RESULT admw1001_SetChannelThresholdLimits(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     float32_t fHighThresholdLimit,
     float32_t fLowThresholdLimit)
 {
@@ -2458,7 +2248,7 @@
 
 ADMW_RESULT admw1001_SetOffsetGain(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     float32_t fOffsetAdjustment,
     float32_t fGainAdjustment)
 {
@@ -2476,7 +2266,7 @@
 
 ADMW_RESULT admw1001_SetSensorParameter(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     float32_t fSensorParam)
 {
     if (fSensorParam == 0.0f)
@@ -2489,10 +2279,10 @@
 
 ADMW_RESULT admw1001_SetChannelSettlingTime(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     uint32_t nSettlingTime)
 {
-    CORE_Settling_Time_t settlingTimeReg;
+    ADMW_CORE_Settling_Time_t settlingTimeReg;
 
     if (nSettlingTime < (1 << 12))
     {
@@ -2519,7 +2309,7 @@
 
 ADMW_RESULT admw1001_SetChannelConfig(
     ADMW_DEVICE_HANDLE hDevice,
-    ADMW1001_CHANNEL_ID eChannelId,
+    ADMW1001_CH_ID eChannelId,
     ADMW1001_CHANNEL_CONFIG *pChannelConfig)
 {
     ADMW_RESULT eRet;
@@ -2559,17 +2349,17 @@
 
             switch (eChannelId)
             {
-            case ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL:
-            case ADMW1001_CHANNEL_ID_ANALOG_2_UNIVERSAL:
-            case ADMW1001_CHANNEL_ID_ANALOG_1_DIFFERENTIAL:
-            case ADMW1001_CHANNEL_ID_ANALOG_2_DIFFERENTIAL:
+            case ADMW1001_CH_ID_ANLG_1_UNIVERSAL:
+            case ADMW1001_CH_ID_ANLG_2_UNIVERSAL:
+            case ADMW1001_CH_ID_ANLG_1_DIFFERENTIAL:
+            case ADMW1001_CH_ID_ANLG_2_DIFFERENTIAL:
                 eRet = admw_SetAdcChannelConfig(hDevice, eChannelId, pChannelConfig);
                 break;
-            case ADMW1001_CHANNEL_ID_I2C_0:
-            case ADMW1001_CHANNEL_ID_I2C_1:
+            case ADMW1001_CH_ID_DIG_I2C_0:
+            case ADMW1001_CH_ID_DIG_I2C_1:
                 eRet = admw_SetI2cChannelConfig(hDevice, eChannelId, pChannelConfig);
                 break;
-            case ADMW1001_CHANNEL_ID_SPI_0:
+            case ADMW1001_CH_ID_DIG_SPI_0:
                 eRet = admw_SetSpiChannelConfig(hDevice, eChannelId, pChannelConfig);
                 break;
             default:
@@ -2641,7 +2431,8 @@
         return ADMW_INVALID_PARAM;
     }
    
-    if(!((pConfig->versionId.major==VERSIONID_MAJOR) && (pConfig->versionId.minor==VERSIONID_MINOR)))
+    if (!((pConfig->versionId.major==VERSIONID_MAJOR) && 
+         (pConfig->versionId.minor==VERSIONID_MINOR)))
     {
       ADMW_LOG_ERROR("Configuration Version ID (0x%X) is not supported",
                             pConfig->versionId);
@@ -2659,7 +2450,7 @@
     if (pConfig->productId != productId)
     {
         ADMW_LOG_ERROR("Configuration Product ID (0x%X) does not match device (0x%0X)",
-                            pConfig->productId, productId);
+                       pConfig->productId, productId);
         return ADMW_INVALID_PARAM;
     }
 
@@ -2686,7 +2477,7 @@
         return eRet;
     }
 
-    for (ADMW1001_CHANNEL_ID id = ADMW1001_CHANNEL_ID_ANALOG_1_UNIVERSAL;
+    for (ADMW1001_CH_ID id = ADMW1001_CH_ID_ANLG_1_UNIVERSAL;
          id < ADMW1001_MAX_CHANNELS;
          id++)
     {
@@ -2702,13 +2493,12 @@
     return ADMW_SUCCESS;
 }
 
-
 ADMW_RESULT admw1001_SetLutData(
-    ADMW_DEVICE_HANDLE    const hDevice,
+    ADMW_DEVICE_HANDLE   const hDevice,
     ADMW1001_LUT       * const pLutData)
 {
     ADMW1001_LUT_HEADER *pLutHeader = &pLutData->header;
-    ADMW1001_LUT_TABLE *pLutTable = pLutData->tables;
+    ADMW1001_LUT_TABLE  *pLutTable = pLutData->tables;
     unsigned actualLength = 0;
 
     if (pLutData->header.signature != ADMW_LUT_SIGNATURE)