
initial commit
Revision 8:2f2775c34640, committed 2019-06-20
- 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
--- 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)