Minor changes to support ADMW FWv1.17.75

Committer:
Vkadaba
Date:
Wed Apr 08 10:05:08 2020 +0000
Revision:
62:a5b88f433406
Parent:
58:aa9cd5072f66
Minor changes to support FW v1.17.75

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Vkadaba 5:0728bde67bdb 1 /* ================================================================================
Vkadaba 32:52445bef314d 2
Vkadaba 32:52445bef314d 3 Created by :
Vkadaba 58:aa9cd5072f66 4 Created on : 2020 Mar 12, 16:15 GMT Standard Time
Vkadaba 5:0728bde67bdb 5
Vkadaba 5:0728bde67bdb 6 Project : ADMW1001_REGISTERS
Vkadaba 5:0728bde67bdb 7 File : ADMW1001_REGISTERS_typedefs.h
Vkadaba 5:0728bde67bdb 8 Description : C Register Structures
Vkadaba 5:0728bde67bdb 9
Vkadaba 32:52445bef314d 10 !! ADI Confidential !!
Vkadaba 32:52445bef314d 11 INTERNAL USE ONLY
Vkadaba 5:0728bde67bdb 12
Vkadaba 44:94bdfaefddac 13 Copyright (c) 2020 Analog Devices, Inc. All Rights Reserved.
Vkadaba 5:0728bde67bdb 14 This software is proprietary and confidential to Analog Devices, Inc. and
Vkadaba 5:0728bde67bdb 15 its licensors.
Vkadaba 5:0728bde67bdb 16
Vkadaba 5:0728bde67bdb 17 This file was auto-generated. Do not make local changes to this file.
Vkadaba 32:52445bef314d 18
Vkadaba 32:52445bef314d 19 Auto generation script information:
Vkadaba 32:52445bef314d 20 Script: C:\Program Files (x86)\Yoda-19.05.01\generators\inc\genHeaders
Vkadaba 32:52445bef314d 21 Last modified: 26-SEP-2017
Vkadaba 5:0728bde67bdb 22
Vkadaba 5:0728bde67bdb 23 ================================================================================ */
Vkadaba 5:0728bde67bdb 24
Vkadaba 5:0728bde67bdb 25 #ifndef _ADMW1001_REGISTERS_TYPEDEFS_H
Vkadaba 5:0728bde67bdb 26 #define _ADMW1001_REGISTERS_TYPEDEFS_H
Vkadaba 5:0728bde67bdb 27
Vkadaba 5:0728bde67bdb 28 /* pickup integer types */
Vkadaba 5:0728bde67bdb 29 #if defined(_LANGUAGE_C) || (defined(__GNUC__) && !defined(__ASSEMBLER__))
Vkadaba 5:0728bde67bdb 30 #include <stdint.h>
Vkadaba 5:0728bde67bdb 31 #endif /* _LANGUAGE_C */
Vkadaba 5:0728bde67bdb 32
Vkadaba 5:0728bde67bdb 33 #if defined ( __CC_ARM )
Vkadaba 5:0728bde67bdb 34 #pragma push
Vkadaba 5:0728bde67bdb 35 #pragma anon_unions
Vkadaba 5:0728bde67bdb 36 #endif
Vkadaba 5:0728bde67bdb 37
Vkadaba 5:0728bde67bdb 38 /** @defgroup Interface_Config_A Interface Configuration A (Interface_Config_A) Register
Vkadaba 5:0728bde67bdb 39 * Interface Configuration A (Interface_Config_A) Register.
Vkadaba 5:0728bde67bdb 40 * @{
Vkadaba 5:0728bde67bdb 41 */
Vkadaba 5:0728bde67bdb 42
Vkadaba 5:0728bde67bdb 43 /* =========================================================================
Vkadaba 5:0728bde67bdb 44 *! \enum ADMW_SPI_Interface_Config_A_Addr_Ascension
Vkadaba 5:0728bde67bdb 45 *! \brief Determines Sequential Addressing Behavior (Addr_Ascension) Enumerations
Vkadaba 5:0728bde67bdb 46 * ========================================================================= */
Vkadaba 5:0728bde67bdb 47 typedef enum
Vkadaba 5:0728bde67bdb 48 {
Vkadaba 5:0728bde67bdb 49 SPI_INTERFACE_CONFIG_A_DESCEND = 0, /**< Address accessed is decremented by one for each data byte when streaming */
Vkadaba 5:0728bde67bdb 50 SPI_INTERFACE_CONFIG_A_ASCEND = 1 /**< Address accessed is incremented by one for each data byte when streaming */
Vkadaba 5:0728bde67bdb 51 } ADMW_SPI_Interface_Config_A_Addr_Ascension;
Vkadaba 5:0728bde67bdb 52
Vkadaba 5:0728bde67bdb 53
Vkadaba 5:0728bde67bdb 54 /* ==========================================================================
Vkadaba 5:0728bde67bdb 55 *! \struct ADMW_SPI_Interface_Config_A_Struct
Vkadaba 5:0728bde67bdb 56 *! \brief Interface Configuration A Register bit field structure
Vkadaba 5:0728bde67bdb 57 * ========================================================================== */
Vkadaba 8:2f2775c34640 58 typedef struct _ADMW_SPI_Interface_Config_A_t {
Vkadaba 5:0728bde67bdb 59 union {
Vkadaba 5:0728bde67bdb 60 struct {
Vkadaba 32:52445bef314d 61 uint8_t SW_ResetX : 1; /**< Second of Two of the SW_RESET Bits. */
Vkadaba 5:0728bde67bdb 62 uint8_t reserved1 : 3;
Vkadaba 32:52445bef314d 63 uint8_t SDO_Enable : 1; /**< Serial Data Output Pin Enable */
Vkadaba 5:0728bde67bdb 64 uint8_t Addr_Ascension : 1; /**< Determines Sequential Addressing Behavior */
Vkadaba 5:0728bde67bdb 65 uint8_t reserved6 : 1;
Vkadaba 32:52445bef314d 66 uint8_t SW_Reset : 1; /**< First of Two of the SW_RESET Bits. */
Vkadaba 5:0728bde67bdb 67 };
Vkadaba 5:0728bde67bdb 68 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 69 };
Vkadaba 5:0728bde67bdb 70 } ADMW_SPI_Interface_Config_A_t;
Vkadaba 5:0728bde67bdb 71
Vkadaba 5:0728bde67bdb 72 /*@}*/
Vkadaba 5:0728bde67bdb 73
Vkadaba 5:0728bde67bdb 74 /** @defgroup Chip_Type Chip Type (Chip_Type) Register
Vkadaba 5:0728bde67bdb 75 * Chip Type (Chip_Type) Register.
Vkadaba 5:0728bde67bdb 76 * @{
Vkadaba 5:0728bde67bdb 77 */
Vkadaba 5:0728bde67bdb 78
Vkadaba 5:0728bde67bdb 79 /* ==========================================================================
Vkadaba 5:0728bde67bdb 80 *! \struct ADMW_SPI_Chip_Type_Struct
Vkadaba 5:0728bde67bdb 81 *! \brief Chip Type Register bit field structure
Vkadaba 5:0728bde67bdb 82 * ========================================================================== */
Vkadaba 8:2f2775c34640 83 typedef struct _ADMW_SPI_Chip_Type_t {
Vkadaba 5:0728bde67bdb 84 union {
Vkadaba 5:0728bde67bdb 85 struct {
Vkadaba 5:0728bde67bdb 86 uint8_t Chip_Type : 4; /**< Precision ADC */
Vkadaba 5:0728bde67bdb 87 uint8_t reserved4 : 4;
Vkadaba 5:0728bde67bdb 88 };
Vkadaba 5:0728bde67bdb 89 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 90 };
Vkadaba 5:0728bde67bdb 91 } ADMW_SPI_Chip_Type_t;
Vkadaba 5:0728bde67bdb 92
Vkadaba 5:0728bde67bdb 93 /*@}*/
Vkadaba 5:0728bde67bdb 94
Vkadaba 5:0728bde67bdb 95 /** @defgroup Product_ID_L Product ID Low (Product_ID_L) Register
Vkadaba 5:0728bde67bdb 96 * Product ID Low (Product_ID_L) Register.
Vkadaba 5:0728bde67bdb 97 * @{
Vkadaba 5:0728bde67bdb 98 */
Vkadaba 5:0728bde67bdb 99
Vkadaba 5:0728bde67bdb 100 /* ==========================================================================
Vkadaba 5:0728bde67bdb 101 *! \struct ADMW_SPI_Product_ID_L_Struct
Vkadaba 5:0728bde67bdb 102 *! \brief Product ID Low Register bit field structure
Vkadaba 5:0728bde67bdb 103 * ========================================================================== */
Vkadaba 8:2f2775c34640 104 typedef struct _ADMW_SPI_Product_ID_L_t {
Vkadaba 5:0728bde67bdb 105 union {
Vkadaba 5:0728bde67bdb 106 struct {
Vkadaba 50:d84305e5e1c0 107 uint8_t Product_ID : 8; /**< Product_ID[7:0] The Device Chip Type and Family */
Vkadaba 5:0728bde67bdb 108 };
Vkadaba 5:0728bde67bdb 109 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 110 };
Vkadaba 5:0728bde67bdb 111 } ADMW_SPI_Product_ID_L_t;
Vkadaba 5:0728bde67bdb 112
Vkadaba 5:0728bde67bdb 113 /*@}*/
Vkadaba 5:0728bde67bdb 114
Vkadaba 5:0728bde67bdb 115 /** @defgroup Product_ID_H Product ID High (Product_ID_H) Register
Vkadaba 5:0728bde67bdb 116 * Product ID High (Product_ID_H) Register.
Vkadaba 5:0728bde67bdb 117 * @{
Vkadaba 5:0728bde67bdb 118 */
Vkadaba 5:0728bde67bdb 119
Vkadaba 5:0728bde67bdb 120 /* ==========================================================================
Vkadaba 5:0728bde67bdb 121 *! \struct ADMW_SPI_Product_ID_H_Struct
Vkadaba 5:0728bde67bdb 122 *! \brief Product ID High Register bit field structure
Vkadaba 5:0728bde67bdb 123 * ========================================================================== */
Vkadaba 8:2f2775c34640 124 typedef struct _ADMW_SPI_Product_ID_H_t {
Vkadaba 5:0728bde67bdb 125 union {
Vkadaba 5:0728bde67bdb 126 struct {
Vkadaba 50:d84305e5e1c0 127 uint8_t Product_ID : 8; /**< Product_ID[15:8] The Device Chip Type and Family */
Vkadaba 5:0728bde67bdb 128 };
Vkadaba 5:0728bde67bdb 129 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 130 };
Vkadaba 5:0728bde67bdb 131 } ADMW_SPI_Product_ID_H_t;
Vkadaba 5:0728bde67bdb 132
Vkadaba 5:0728bde67bdb 133 /*@}*/
Vkadaba 5:0728bde67bdb 134
Vkadaba 5:0728bde67bdb 135 /** @defgroup Scratch_Pad Scratch Pad (Scratch_Pad) Register
Vkadaba 5:0728bde67bdb 136 * Scratch Pad (Scratch_Pad) Register.
Vkadaba 5:0728bde67bdb 137 * @{
Vkadaba 5:0728bde67bdb 138 */
Vkadaba 5:0728bde67bdb 139
Vkadaba 5:0728bde67bdb 140 /* ==========================================================================
Vkadaba 5:0728bde67bdb 141 *! \struct ADMW_SPI_Scratch_Pad_Struct
Vkadaba 5:0728bde67bdb 142 *! \brief Scratch Pad Register bit field structure
Vkadaba 5:0728bde67bdb 143 * ========================================================================== */
Vkadaba 8:2f2775c34640 144 typedef struct _ADMW_SPI_Scratch_Pad_t {
Vkadaba 5:0728bde67bdb 145 union {
Vkadaba 5:0728bde67bdb 146 struct {
Vkadaba 5:0728bde67bdb 147 uint8_t Scratch_Value : 8; /**< Software Scratchpad */
Vkadaba 5:0728bde67bdb 148 };
Vkadaba 5:0728bde67bdb 149 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 150 };
Vkadaba 5:0728bde67bdb 151 } ADMW_SPI_Scratch_Pad_t;
Vkadaba 5:0728bde67bdb 152
Vkadaba 5:0728bde67bdb 153 /*@}*/
Vkadaba 5:0728bde67bdb 154
Vkadaba 5:0728bde67bdb 155 /** @defgroup SPI_Revision SPI Revision (SPI_Revision) Register
Vkadaba 5:0728bde67bdb 156 * SPI Revision (SPI_Revision) Register.
Vkadaba 5:0728bde67bdb 157 * @{
Vkadaba 5:0728bde67bdb 158 */
Vkadaba 5:0728bde67bdb 159
Vkadaba 5:0728bde67bdb 160 /* =========================================================================
Vkadaba 5:0728bde67bdb 161 *! \enum ADMW_SPI_SPI_Revision_Version
Vkadaba 5:0728bde67bdb 162 *! \brief SPI Version (Version) Enumerations
Vkadaba 5:0728bde67bdb 163 * ========================================================================= */
Vkadaba 5:0728bde67bdb 164 typedef enum
Vkadaba 5:0728bde67bdb 165 {
Vkadaba 5:0728bde67bdb 166 SPI_SPI_REVISION_REV1_0 = 2 /**< Revision 1.0 */
Vkadaba 5:0728bde67bdb 167 } ADMW_SPI_SPI_Revision_Version;
Vkadaba 5:0728bde67bdb 168
Vkadaba 5:0728bde67bdb 169
Vkadaba 5:0728bde67bdb 170 /* =========================================================================
Vkadaba 5:0728bde67bdb 171 *! \enum ADMW_SPI_SPI_Revision_SPI_Type
Vkadaba 5:0728bde67bdb 172 *! \brief Always Reads as 0x2 (SPI_Type) Enumerations
Vkadaba 5:0728bde67bdb 173 * ========================================================================= */
Vkadaba 5:0728bde67bdb 174 typedef enum
Vkadaba 5:0728bde67bdb 175 {
Vkadaba 32:52445bef314d 176 SPI_SPI_REVISION_ADI_SPI = 0, /**< ADI_SPI */
Vkadaba 32:52445bef314d 177 SPI_SPI_REVISION_LPT_SPI = 2 /**< LPT_SPI */
Vkadaba 5:0728bde67bdb 178 } ADMW_SPI_SPI_Revision_SPI_Type;
Vkadaba 5:0728bde67bdb 179
Vkadaba 5:0728bde67bdb 180
Vkadaba 5:0728bde67bdb 181 /* ==========================================================================
Vkadaba 5:0728bde67bdb 182 *! \struct ADMW_SPI_SPI_Revision_Struct
Vkadaba 5:0728bde67bdb 183 *! \brief SPI Revision Register bit field structure
Vkadaba 5:0728bde67bdb 184 * ========================================================================== */
Vkadaba 8:2f2775c34640 185 typedef struct _ADMW_SPI_SPI_Revision_t {
Vkadaba 5:0728bde67bdb 186 union {
Vkadaba 5:0728bde67bdb 187 struct {
Vkadaba 5:0728bde67bdb 188 uint8_t Version : 6; /**< SPI Version */
Vkadaba 5:0728bde67bdb 189 uint8_t SPI_Type : 2; /**< Always Reads as 0x2 */
Vkadaba 5:0728bde67bdb 190 };
Vkadaba 5:0728bde67bdb 191 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 192 };
Vkadaba 5:0728bde67bdb 193 } ADMW_SPI_SPI_Revision_t;
Vkadaba 5:0728bde67bdb 194
Vkadaba 5:0728bde67bdb 195 /*@}*/
Vkadaba 5:0728bde67bdb 196
Vkadaba 5:0728bde67bdb 197 /** @defgroup Vendor_L Vendor ID Low (Vendor_L) Register
Vkadaba 5:0728bde67bdb 198 * Vendor ID Low (Vendor_L) Register.
Vkadaba 5:0728bde67bdb 199 * @{
Vkadaba 5:0728bde67bdb 200 */
Vkadaba 5:0728bde67bdb 201
Vkadaba 5:0728bde67bdb 202 /* ==========================================================================
Vkadaba 5:0728bde67bdb 203 *! \struct ADMW_SPI_Vendor_L_Struct
Vkadaba 5:0728bde67bdb 204 *! \brief Vendor ID Low Register bit field structure
Vkadaba 5:0728bde67bdb 205 * ========================================================================== */
Vkadaba 8:2f2775c34640 206 typedef struct _ADMW_SPI_Vendor_L_t {
Vkadaba 5:0728bde67bdb 207 union {
Vkadaba 5:0728bde67bdb 208 struct {
Vkadaba 5:0728bde67bdb 209 uint8_t VID : 8; /**< VID[7:0] Analog Devices Vendor ID */
Vkadaba 5:0728bde67bdb 210 };
Vkadaba 5:0728bde67bdb 211 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 212 };
Vkadaba 5:0728bde67bdb 213 } ADMW_SPI_Vendor_L_t;
Vkadaba 5:0728bde67bdb 214
Vkadaba 5:0728bde67bdb 215 /*@}*/
Vkadaba 5:0728bde67bdb 216
Vkadaba 5:0728bde67bdb 217 /** @defgroup Vendor_H Vendor ID High (Vendor_H) Register
Vkadaba 5:0728bde67bdb 218 * Vendor ID High (Vendor_H) Register.
Vkadaba 5:0728bde67bdb 219 * @{
Vkadaba 5:0728bde67bdb 220 */
Vkadaba 5:0728bde67bdb 221
Vkadaba 5:0728bde67bdb 222 /* ==========================================================================
Vkadaba 5:0728bde67bdb 223 *! \struct ADMW_SPI_Vendor_H_Struct
Vkadaba 5:0728bde67bdb 224 *! \brief Vendor ID High Register bit field structure
Vkadaba 5:0728bde67bdb 225 * ========================================================================== */
Vkadaba 8:2f2775c34640 226 typedef struct _ADMW_SPI_Vendor_H_t {
Vkadaba 5:0728bde67bdb 227 union {
Vkadaba 5:0728bde67bdb 228 struct {
Vkadaba 5:0728bde67bdb 229 uint8_t VID : 8; /**< VID[15:8] Analog Devices Vendor ID */
Vkadaba 5:0728bde67bdb 230 };
Vkadaba 5:0728bde67bdb 231 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 232 };
Vkadaba 5:0728bde67bdb 233 } ADMW_SPI_Vendor_H_t;
Vkadaba 5:0728bde67bdb 234
Vkadaba 5:0728bde67bdb 235 /*@}*/
Vkadaba 5:0728bde67bdb 236
Vkadaba 5:0728bde67bdb 237 /** @defgroup Stream_Mode Stream Mode (Stream_Mode) Register
Vkadaba 5:0728bde67bdb 238 * Stream Mode (Stream_Mode) Register.
Vkadaba 5:0728bde67bdb 239 * @{
Vkadaba 5:0728bde67bdb 240 */
Vkadaba 5:0728bde67bdb 241
Vkadaba 5:0728bde67bdb 242 /* ==========================================================================
Vkadaba 5:0728bde67bdb 243 *! \struct ADMW_SPI_Stream_Mode_Struct
Vkadaba 5:0728bde67bdb 244 *! \brief Stream Mode Register bit field structure
Vkadaba 5:0728bde67bdb 245 * ========================================================================== */
Vkadaba 8:2f2775c34640 246 typedef struct _ADMW_SPI_Stream_Mode_t {
Vkadaba 5:0728bde67bdb 247 union {
Vkadaba 5:0728bde67bdb 248 struct {
Vkadaba 32:52445bef314d 249 uint8_t Loop_Count : 8; /**< Set the Data Byte Count Before Looping to Start Address */
Vkadaba 5:0728bde67bdb 250 };
Vkadaba 5:0728bde67bdb 251 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 252 };
Vkadaba 5:0728bde67bdb 253 } ADMW_SPI_Stream_Mode_t;
Vkadaba 5:0728bde67bdb 254
Vkadaba 5:0728bde67bdb 255 /*@}*/
Vkadaba 5:0728bde67bdb 256
Vkadaba 5:0728bde67bdb 257 /** @defgroup Interface_Status_A Interface Status A (Interface_Status_A) Register
Vkadaba 5:0728bde67bdb 258 * Interface Status A (Interface_Status_A) Register.
Vkadaba 5:0728bde67bdb 259 * @{
Vkadaba 5:0728bde67bdb 260 */
Vkadaba 5:0728bde67bdb 261
Vkadaba 5:0728bde67bdb 262 /* ==========================================================================
Vkadaba 5:0728bde67bdb 263 *! \struct ADMW_SPI_Interface_Status_A_Struct
Vkadaba 5:0728bde67bdb 264 *! \brief Interface Status A Register bit field structure
Vkadaba 5:0728bde67bdb 265 * ========================================================================== */
Vkadaba 8:2f2775c34640 266 typedef struct _ADMW_SPI_Interface_Status_A_t {
Vkadaba 5:0728bde67bdb 267 union {
Vkadaba 5:0728bde67bdb 268 struct {
Vkadaba 32:52445bef314d 269 uint8_t Address_Invalid_Error : 1; /**< Attempt to Read/Write Nonexistent Register Address */
Vkadaba 5:0728bde67bdb 270 uint8_t Register_Partial_Access_Error : 1; /**< Set When Fewer Than Expected Number of Bytes Read/Written */
Vkadaba 32:52445bef314d 271 uint8_t Wr_To_Rd_Only_Reg_Error : 1; /**< Write to Read Only Register Attempted */
Vkadaba 5:0728bde67bdb 272 uint8_t CRC_Error : 1; /**< Invalid/No CRC Received */
Vkadaba 5:0728bde67bdb 273 uint8_t Clock_Count_Error : 1; /**< Incorrect Number of Clocks Detected in a Transaction */
Vkadaba 5:0728bde67bdb 274 uint8_t reserved5 : 2;
Vkadaba 5:0728bde67bdb 275 uint8_t Not_Ready_Error : 1; /**< Device Not Ready for Transaction */
Vkadaba 5:0728bde67bdb 276 };
Vkadaba 5:0728bde67bdb 277 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 278 };
Vkadaba 5:0728bde67bdb 279 } ADMW_SPI_Interface_Status_A_t;
Vkadaba 5:0728bde67bdb 280
Vkadaba 5:0728bde67bdb 281 /*@}*/
Vkadaba 5:0728bde67bdb 282
Vkadaba 32:52445bef314d 283 /** @defgroup Command Special Command Register (Command) Register
Vkadaba 32:52445bef314d 284 * Special Command Register (Command) Register.
Vkadaba 5:0728bde67bdb 285 * @{
Vkadaba 5:0728bde67bdb 286 */
Vkadaba 5:0728bde67bdb 287
Vkadaba 5:0728bde67bdb 288 /* =========================================================================
Vkadaba 8:2f2775c34640 289 *! \enum ADMW_CORE_Command_Special_Command
Vkadaba 5:0728bde67bdb 290 *! \brief Special Command (Special_Command) Enumerations
Vkadaba 5:0728bde67bdb 291 * ========================================================================= */
Vkadaba 5:0728bde67bdb 292 typedef enum
Vkadaba 5:0728bde67bdb 293 {
Vkadaba 32:52445bef314d 294 CORE_COMMAND_NOP = 0, /**< No command */
Vkadaba 32:52445bef314d 295 CORE_COMMAND_CONVERT = 1, /**< Start ADC conversions */
Vkadaba 32:52445bef314d 296 CORE_COMMAND_CONVERT_WITH_RAW = 2, /**< Start conversions with added raw ADC data */
Vkadaba 32:52445bef314d 297 CORE_COMMAND_LATCH_CONFIG = 7, /**< Latch configuration. */
Vkadaba 32:52445bef314d 298 CORE_COMMAND_LOAD_LUT = 8, /**< Load LUT from flash */
Vkadaba 32:52445bef314d 299 CORE_COMMAND_SAVE_LUT = 9, /**< Save LUT to flash */
Vkadaba 32:52445bef314d 300 CORE_COMMAND_LOAD_CONFIG_1 = 24, /**< Load registers with configuration from flash */
Vkadaba 32:52445bef314d 301 CORE_COMMAND_SAVE_CONFIG_1 = 25 /**< Store current registers to flash configuration */
Vkadaba 8:2f2775c34640 302 } ADMW_CORE_Command_Special_Command;
Vkadaba 5:0728bde67bdb 303
Vkadaba 5:0728bde67bdb 304
Vkadaba 5:0728bde67bdb 305 /* ==========================================================================
Vkadaba 8:2f2775c34640 306 *! \struct ADMW_CORE_Command_Struct
Vkadaba 5:0728bde67bdb 307 *! \brief Special Command Register bit field structure
Vkadaba 5:0728bde67bdb 308 * ========================================================================== */
Vkadaba 8:2f2775c34640 309 typedef struct _ADMW_CORE_Command_t {
Vkadaba 5:0728bde67bdb 310 union {
Vkadaba 5:0728bde67bdb 311 struct {
Vkadaba 5:0728bde67bdb 312 uint8_t Special_Command : 8; /**< Special Command */
Vkadaba 5:0728bde67bdb 313 };
Vkadaba 5:0728bde67bdb 314 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 315 };
Vkadaba 8:2f2775c34640 316 } ADMW_CORE_Command_t;
Vkadaba 5:0728bde67bdb 317
Vkadaba 5:0728bde67bdb 318 /*@}*/
Vkadaba 5:0728bde67bdb 319
Vkadaba 5:0728bde67bdb 320 /** @defgroup Mode Operating Mode and DRDY Control (Mode) Register
Vkadaba 5:0728bde67bdb 321 * Operating Mode and DRDY Control (Mode) Register.
Vkadaba 5:0728bde67bdb 322 * @{
Vkadaba 5:0728bde67bdb 323 */
Vkadaba 5:0728bde67bdb 324
Vkadaba 5:0728bde67bdb 325 /* =========================================================================
Vkadaba 8:2f2775c34640 326 *! \enum ADMW_CORE_Mode_Conversion_Mode
Vkadaba 5:0728bde67bdb 327 *! \brief Conversion Mode (Conversion_Mode) Enumerations
Vkadaba 5:0728bde67bdb 328 * ========================================================================= */
Vkadaba 5:0728bde67bdb 329 typedef enum
Vkadaba 5:0728bde67bdb 330 {
Vkadaba 32:52445bef314d 331 CORE_MODE_SINGLECYCLE = 0, /**< Single cycle conversion mode. A cycle is completed every time a convert command is issued */
Vkadaba 32:52445bef314d 332 CORE_MODE_RESERVED = 1, /**< Reserved for future use */
Vkadaba 32:52445bef314d 333 CORE_MODE_CONTINUOUS = 2 /**< Continuous conversion mode. A cycle is started repeatedly at time specified in cycle time */
Vkadaba 8:2f2775c34640 334 } ADMW_CORE_Mode_Conversion_Mode;
Vkadaba 5:0728bde67bdb 335
Vkadaba 5:0728bde67bdb 336
Vkadaba 5:0728bde67bdb 337 /* =========================================================================
Vkadaba 8:2f2775c34640 338 *! \enum ADMW_CORE_Mode_Drdy_Mode
Vkadaba 32:52445bef314d 339 *! \brief Indicates Behavior of DRDY Pin (Drdy_Mode) Enumerations
Vkadaba 5:0728bde67bdb 340 * ========================================================================= */
Vkadaba 5:0728bde67bdb 341 typedef enum
Vkadaba 5:0728bde67bdb 342 {
Vkadaba 32:52445bef314d 343 CORE_MODE_DRDY_PER_CONVERSION = 0, /**< Data ready per conversion */
Vkadaba 50:d84305e5e1c0 344 CORE_MODE_DRDY_PER_CYCLE = 1, /**< Data ready per cycle */
Vkadaba 58:aa9cd5072f66 345 CORE_MODE_DRDY_PER_FIFO_FILL = 2 /**< Data ready per FIFO fill */
Vkadaba 8:2f2775c34640 346 } ADMW_CORE_Mode_Drdy_Mode;
Vkadaba 5:0728bde67bdb 347
Vkadaba 5:0728bde67bdb 348
Vkadaba 5:0728bde67bdb 349 /* ==========================================================================
Vkadaba 8:2f2775c34640 350 *! \struct ADMW_CORE_Mode_Struct
Vkadaba 5:0728bde67bdb 351 *! \brief Operating Mode and DRDY Control Register bit field structure
Vkadaba 5:0728bde67bdb 352 * ========================================================================== */
Vkadaba 8:2f2775c34640 353 typedef struct _ADMW_CORE_Mode_t {
Vkadaba 5:0728bde67bdb 354 union {
Vkadaba 5:0728bde67bdb 355 struct {
Vkadaba 5:0728bde67bdb 356 uint8_t Conversion_Mode : 2; /**< Conversion Mode */
Vkadaba 32:52445bef314d 357 uint8_t Drdy_Mode : 2; /**< Indicates Behavior of DRDY Pin */
Vkadaba 6:9d393a9677f4 358 uint8_t reserved4 : 4;
Vkadaba 5:0728bde67bdb 359 };
Vkadaba 5:0728bde67bdb 360 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 361 };
Vkadaba 8:2f2775c34640 362 } ADMW_CORE_Mode_t;
Vkadaba 5:0728bde67bdb 363
Vkadaba 5:0728bde67bdb 364 /*@}*/
Vkadaba 5:0728bde67bdb 365
Vkadaba 32:52445bef314d 366 /** @defgroup Power_Config Power Configuration (Power_Config) Register
Vkadaba 32:52445bef314d 367 * Power Configuration (Power_Config) Register.
Vkadaba 5:0728bde67bdb 368 * @{
Vkadaba 5:0728bde67bdb 369 */
Vkadaba 5:0728bde67bdb 370
Vkadaba 5:0728bde67bdb 371 /* =========================================================================
Vkadaba 8:2f2775c34640 372 *! \enum ADMW_CORE_Power_Config_Power_Mode_MCU
Vkadaba 6:9d393a9677f4 373 *! \brief MCU Power Mode (Power_Mode_MCU) Enumerations
Vkadaba 5:0728bde67bdb 374 * ========================================================================= */
Vkadaba 5:0728bde67bdb 375 typedef enum
Vkadaba 5:0728bde67bdb 376 {
Vkadaba 32:52445bef314d 377 CORE_POWER_CONFIG_ACTIVE_MODE = 0, /**< ADMW1001 is fully power up and ready to convert */
Vkadaba 32:52445bef314d 378 CORE_POWER_CONFIG_HIBERNATION = 1 /**< Lowest power mode. wakeup pin required to enter active mode. SPI powered down */
Vkadaba 8:2f2775c34640 379 } ADMW_CORE_Power_Config_Power_Mode_MCU;
Vkadaba 5:0728bde67bdb 380
Vkadaba 5:0728bde67bdb 381
Vkadaba 5:0728bde67bdb 382 /* ==========================================================================
Vkadaba 8:2f2775c34640 383 *! \struct ADMW_CORE_Power_Config_Struct
Vkadaba 32:52445bef314d 384 *! \brief Power Configuration Register bit field structure
Vkadaba 5:0728bde67bdb 385 * ========================================================================== */
Vkadaba 8:2f2775c34640 386 typedef struct _ADMW_CORE_Power_Config_t {
Vkadaba 5:0728bde67bdb 387 union {
Vkadaba 5:0728bde67bdb 388 struct {
Vkadaba 6:9d393a9677f4 389 uint8_t Power_Mode_MCU : 1; /**< MCU Power Mode */
Vkadaba 6:9d393a9677f4 390 uint8_t reserved1 : 7;
Vkadaba 5:0728bde67bdb 391 };
Vkadaba 5:0728bde67bdb 392 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 393 };
Vkadaba 8:2f2775c34640 394 } ADMW_CORE_Power_Config_t;
Vkadaba 5:0728bde67bdb 395
Vkadaba 5:0728bde67bdb 396 /*@}*/
Vkadaba 5:0728bde67bdb 397
Vkadaba 5:0728bde67bdb 398 /** @defgroup Cycle_Control Measurement Cycle (Cycle_Control) Register
Vkadaba 5:0728bde67bdb 399 * Measurement Cycle (Cycle_Control) Register.
Vkadaba 5:0728bde67bdb 400 * @{
Vkadaba 5:0728bde67bdb 401 */
Vkadaba 5:0728bde67bdb 402
Vkadaba 5:0728bde67bdb 403 /* =========================================================================
Vkadaba 43:e1789b7214cf 404 *! \enum ADMW_CORE_Cycle_Control_GND_SW_CTRL
Vkadaba 43:e1789b7214cf 405 *! \brief Ground Switch Cycle Control (GND_SW_CTRL) Enumerations
Vkadaba 43:e1789b7214cf 406 * ========================================================================= */
Vkadaba 43:e1789b7214cf 407 typedef enum
Vkadaba 43:e1789b7214cf 408 {
Vkadaba 50:d84305e5e1c0 409 CORE_CYCLE_CONTROL_OPEN_SW = 0, /**< Ground Switch Opens outside of measurement cycle to conserve power */
Vkadaba 50:d84305e5e1c0 410 CORE_CYCLE_CONTROL_CLOSE_SW = 1 /**< Ground Switch Closed */
Vkadaba 43:e1789b7214cf 411 } ADMW_CORE_Cycle_Control_GND_SW_CTRL;
Vkadaba 43:e1789b7214cf 412
Vkadaba 44:94bdfaefddac 413
Vkadaba 43:e1789b7214cf 414 /* =========================================================================
Vkadaba 8:2f2775c34640 415 *! \enum ADMW_CORE_Cycle_Control_Vbias
Vkadaba 8:2f2775c34640 416 *! \brief Voltage Bias Global Enable (Vbias) Enumerations
Vkadaba 8:2f2775c34640 417 * ========================================================================= */
Vkadaba 8:2f2775c34640 418 typedef enum
Vkadaba 8:2f2775c34640 419 {
Vkadaba 32:52445bef314d 420 CORE_CYCLE_CONTROL_VBIAS_DISABLE = 0, /**< Vbias disabled */
Vkadaba 32:52445bef314d 421 CORE_CYCLE_CONTROL_VBIAS_ENABLE = 1 /**< Enable Vbias output for the duration of a cycle */
Vkadaba 8:2f2775c34640 422 } ADMW_CORE_Cycle_Control_Vbias;
Vkadaba 8:2f2775c34640 423
Vkadaba 8:2f2775c34640 424
Vkadaba 8:2f2775c34640 425 /* =========================================================================
Vkadaba 8:2f2775c34640 426 *! \enum ADMW_CORE_Cycle_Control_Cycle_Time_Units
Vkadaba 5:0728bde67bdb 427 *! \brief Units for Cycle Time (Cycle_Time_Units) Enumerations
Vkadaba 5:0728bde67bdb 428 * ========================================================================= */
Vkadaba 5:0728bde67bdb 429 typedef enum
Vkadaba 5:0728bde67bdb 430 {
Vkadaba 32:52445bef314d 431 CORE_CYCLE_CONTROL_MILLISECONDS = 0, /**< Milli-seconds */
Vkadaba 8:2f2775c34640 432 CORE_CYCLE_CONTROL_SECONDS = 1 /**< Seconds */
Vkadaba 8:2f2775c34640 433 } ADMW_CORE_Cycle_Control_Cycle_Time_Units;
Vkadaba 5:0728bde67bdb 434
Vkadaba 44:94bdfaefddac 435
Vkadaba 43:e1789b7214cf 436 /* =========================================================================
Vkadaba 43:e1789b7214cf 437 *! \enum ADMW_CORE_Cycle_Control_PST_MEAS_EXC_CTRL
Vkadaba 43:e1789b7214cf 438 *! \brief Disable Current Sources After Measurement Completes (PST_MEAS_EXC_CTRL) Enumerations
Vkadaba 43:e1789b7214cf 439 * ========================================================================= */
Vkadaba 43:e1789b7214cf 440 typedef enum
Vkadaba 43:e1789b7214cf 441 {
Vkadaba 43:e1789b7214cf 442 CORE_CYCLE_CONTROL_POWERCYCLE = 0, /**< */
Vkadaba 43:e1789b7214cf 443 CORE_CYCLE_CONTROL_ALWAYSON = 1 /**< */
Vkadaba 43:e1789b7214cf 444 } ADMW_CORE_Cycle_Control_PST_MEAS_EXC_CTRL;
Vkadaba 5:0728bde67bdb 445
Vkadaba 44:94bdfaefddac 446
Vkadaba 5:0728bde67bdb 447 /* ==========================================================================
Vkadaba 8:2f2775c34640 448 *! \struct ADMW_CORE_Cycle_Control_Struct
Vkadaba 5:0728bde67bdb 449 *! \brief Measurement Cycle Register bit field structure
Vkadaba 5:0728bde67bdb 450 * ========================================================================== */
Vkadaba 8:2f2775c34640 451 typedef struct _ADMW_CORE_Cycle_Control_t {
Vkadaba 5:0728bde67bdb 452 union {
Vkadaba 5:0728bde67bdb 453 struct {
Vkadaba 32:52445bef314d 454 uint16_t Cycle_Time : 12; /**< Time Between Measurement Cycles */
Vkadaba 43:e1789b7214cf 455 uint16_t GND_SW_CTRL : 1; /**< Ground Switch Cycle Control */
Vkadaba 44:94bdfaefddac 456 uint16_t Vbias : 1; /**< Voltage Bias Global Enable */
Vkadaba 32:52445bef314d 457 uint16_t Cycle_Time_Units : 1; /**< Units for Cycle Time */
Vkadaba 43:e1789b7214cf 458 uint16_t PST_MEAS_EXC_CTRL : 1; /**< Disable Current Sources After Measurement Completes */
Vkadaba 5:0728bde67bdb 459 };
Vkadaba 5:0728bde67bdb 460 uint16_t VALUE16;
Vkadaba 5:0728bde67bdb 461 };
Vkadaba 8:2f2775c34640 462 } ADMW_CORE_Cycle_Control_t;
Vkadaba 5:0728bde67bdb 463
Vkadaba 5:0728bde67bdb 464 /*@}*/
Vkadaba 5:0728bde67bdb 465
Vkadaba 32:52445bef314d 466 /** @defgroup Fifo_Num_Cycles Number of Measurement Cycles to Store in FIFO (Fifo_Num_Cycles) Register
Vkadaba 32:52445bef314d 467 * Number of Measurement Cycles to Store in FIFO (Fifo_Num_Cycles) Register.
Vkadaba 32:52445bef314d 468 * @{
Vkadaba 32:52445bef314d 469 */
Vkadaba 32:52445bef314d 470
Vkadaba 32:52445bef314d 471 /* ==========================================================================
Vkadaba 32:52445bef314d 472 *! \struct ADMW_CORE_Fifo_Num_Cycles_Struct
Vkadaba 32:52445bef314d 473 *! \brief Number of Measurement Cycles to Store in FIFO Register bit field structure
Vkadaba 32:52445bef314d 474 * ========================================================================== */
Vkadaba 32:52445bef314d 475 typedef struct _ADMW_CORE_Fifo_Num_Cycles_t {
Vkadaba 32:52445bef314d 476 union {
Vkadaba 32:52445bef314d 477 struct {
Vkadaba 32:52445bef314d 478 uint8_t Fifo_Num_Cycles : 8; /**< Number of Cycles to Fill the FIFO */
Vkadaba 32:52445bef314d 479 };
Vkadaba 32:52445bef314d 480 uint8_t VALUE8;
Vkadaba 32:52445bef314d 481 };
Vkadaba 32:52445bef314d 482 } ADMW_CORE_Fifo_Num_Cycles_t;
Vkadaba 32:52445bef314d 483
Vkadaba 32:52445bef314d 484 /*@}*/
Vkadaba 32:52445bef314d 485
Vkadaba 5:0728bde67bdb 486 /** @defgroup Status General Status (Status) Register
Vkadaba 5:0728bde67bdb 487 * General Status (Status) Register.
Vkadaba 5:0728bde67bdb 488 * @{
Vkadaba 5:0728bde67bdb 489 */
Vkadaba 5:0728bde67bdb 490
Vkadaba 5:0728bde67bdb 491 /* ==========================================================================
Vkadaba 8:2f2775c34640 492 *! \struct ADMW_CORE_Status_Struct
Vkadaba 5:0728bde67bdb 493 *! \brief General Status Register bit field structure
Vkadaba 5:0728bde67bdb 494 * ========================================================================== */
Vkadaba 8:2f2775c34640 495 typedef struct _ADMW_CORE_Status_t {
Vkadaba 5:0728bde67bdb 496 union {
Vkadaba 5:0728bde67bdb 497 struct {
Vkadaba 32:52445bef314d 498 uint8_t Configuration_Error : 1; /**< Indicates Error with Programmed Configuration */
Vkadaba 32:52445bef314d 499 uint8_t Alert_Active : 1; /**< Indicates One or More Sensor Alerts Active */
Vkadaba 32:52445bef314d 500 uint8_t Error : 1; /**< Indicates an Error */
Vkadaba 32:52445bef314d 501 uint8_t Drdy : 1; /**< Indicates New Sensor Result Available to Read */
Vkadaba 58:aa9cd5072f66 502 uint8_t Cmd_Running : 1; /**< Indicates Special Command Active, Active Low */
Vkadaba 32:52445bef314d 503 uint8_t FIFO_Error : 1; /**< Indicates Error with FIFO */
Vkadaba 32:52445bef314d 504 uint8_t Diag_Checksum_Error : 1; /**< Indicates Error on Internal Checksum Calculations */
Vkadaba 32:52445bef314d 505 uint8_t LUT_Error : 1; /**< Indicates Error with One or More Lookup Tables */
Vkadaba 5:0728bde67bdb 506 };
Vkadaba 5:0728bde67bdb 507 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 508 };
Vkadaba 8:2f2775c34640 509 } ADMW_CORE_Status_t;
Vkadaba 5:0728bde67bdb 510
Vkadaba 5:0728bde67bdb 511 /*@}*/
Vkadaba 5:0728bde67bdb 512
Vkadaba 5:0728bde67bdb 513 /** @defgroup Channel_Alert_Status Alert Status Summary (Channel_Alert_Status) Register
Vkadaba 5:0728bde67bdb 514 * Alert Status Summary (Channel_Alert_Status) Register.
Vkadaba 5:0728bde67bdb 515 * @{
Vkadaba 5:0728bde67bdb 516 */
Vkadaba 5:0728bde67bdb 517
Vkadaba 5:0728bde67bdb 518 /* ==========================================================================
Vkadaba 8:2f2775c34640 519 *! \struct ADMW_CORE_Channel_Alert_Status_Struct
Vkadaba 5:0728bde67bdb 520 *! \brief Alert Status Summary Register bit field structure
Vkadaba 5:0728bde67bdb 521 * ========================================================================== */
Vkadaba 8:2f2775c34640 522 typedef struct _ADMW_CORE_Channel_Alert_Status_t {
Vkadaba 5:0728bde67bdb 523 union {
Vkadaba 5:0728bde67bdb 524 struct {
Vkadaba 32:52445bef314d 525 uint16_t Alert_Ch0 : 1; /**< Indicates Channel 0 Alert Active */
Vkadaba 32:52445bef314d 526 uint16_t Alert_Ch1 : 1; /**< Indicates Channel 1 Alert Active */
Vkadaba 32:52445bef314d 527 uint16_t Alert_Ch2 : 1; /**< Indicates Channel 2 Alert Active */
Vkadaba 32:52445bef314d 528 uint16_t Alert_Ch3 : 1; /**< Indicates Channel 3 Alert Active */
Vkadaba 32:52445bef314d 529 uint16_t Alert_Ch4 : 1; /**< Indicates Channel 4 Alert Active */
Vkadaba 32:52445bef314d 530 uint16_t Alert_Ch5 : 1; /**< Indicates Channel 5Alert Active */
Vkadaba 32:52445bef314d 531 uint16_t Alert_Ch6 : 1; /**< Indicates Channel 6 Alert Active */
Vkadaba 32:52445bef314d 532 uint16_t Alert_Ch7 : 1; /**< Indicates Channel 7 Alert Active */
Vkadaba 32:52445bef314d 533 uint16_t Alert_Ch8 : 1; /**< Indicates Channel 8 Alert Active */
Vkadaba 32:52445bef314d 534 uint16_t Alert_Ch9 : 1; /**< Indicates Channel 9 Alert Active */
Vkadaba 32:52445bef314d 535 uint16_t Alert_Ch10 : 1; /**< Indicates Channel 10 Alert Active */
Vkadaba 32:52445bef314d 536 uint16_t Alert_Ch11 : 1; /**< Indicates Channel 11 Alert Active */
Vkadaba 32:52445bef314d 537 uint16_t Alert_Ch12 : 1; /**< Indicates Channel 12 Alert Active */
Vkadaba 32:52445bef314d 538 uint16_t reserved13 : 3;
Vkadaba 5:0728bde67bdb 539 };
Vkadaba 5:0728bde67bdb 540 uint16_t VALUE16;
Vkadaba 5:0728bde67bdb 541 };
Vkadaba 8:2f2775c34640 542 } ADMW_CORE_Channel_Alert_Status_t;
Vkadaba 5:0728bde67bdb 543
Vkadaba 5:0728bde67bdb 544 /*@}*/
Vkadaba 5:0728bde67bdb 545
Vkadaba 32:52445bef314d 546 /** @defgroup Alert_Detail_Ch Detailed Channel Error Information (Alert_Detail_Ch) Register
Vkadaba 32:52445bef314d 547 * Detailed Channel Error Information (Alert_Detail_Ch) Register.
Vkadaba 5:0728bde67bdb 548 * @{
Vkadaba 5:0728bde67bdb 549 */
Vkadaba 5:0728bde67bdb 550
Vkadaba 5:0728bde67bdb 551 /* ==========================================================================
Vkadaba 8:2f2775c34640 552 *! \struct ADMW_CORE_Alert_Detail_Ch_Struct
Vkadaba 32:52445bef314d 553 *! \brief Detailed Channel Error Information Register bit field structure
Vkadaba 5:0728bde67bdb 554 * ========================================================================== */
Vkadaba 8:2f2775c34640 555 typedef struct _ADMW_CORE_Alert_Detail_Ch_t {
Vkadaba 5:0728bde67bdb 556 union {
Vkadaba 5:0728bde67bdb 557 struct {
Vkadaba 32:52445bef314d 558 uint16_t Result_Valid : 1; /**< Set If a Result is Valid */
Vkadaba 32:52445bef314d 559 uint16_t ADC_Near_Overrange : 1; /**< Indicates If the ADC is Near Overrange */
Vkadaba 32:52445bef314d 560 uint16_t Sensor_UnderRange : 1; /**< Indicates If the Sensor is Underrange */
Vkadaba 32:52445bef314d 561 uint16_t Sensor_OverRange : 1; /**< Indicates If the Sensor is Overrange */
Vkadaba 32:52445bef314d 562 uint16_t CJ_Soft_Fault : 1; /**< Cold Junction Soft Fault */
Vkadaba 32:52445bef314d 563 uint16_t CJ_Hard_Fault : 1; /**< Cold Junction Hard Fault */
Vkadaba 58:aa9cd5072f66 564 uint16_t ADC_Input_OverRange : 1; /**< Indicates the ADC Input is Overrange */
Vkadaba 58:aa9cd5072f66 565 uint16_t Sensor_HardFault : 1; /**< Indicates Sensor Hard Fault */
Vkadaba 58:aa9cd5072f66 566 uint16_t Threshold_Exceeded : 1; /**< Channel Threshold Limits Exceeded */
Vkadaba 58:aa9cd5072f66 567 uint16_t reserved9 : 7;
Vkadaba 5:0728bde67bdb 568 };
Vkadaba 5:0728bde67bdb 569 uint16_t VALUE16;
Vkadaba 5:0728bde67bdb 570 };
Vkadaba 8:2f2775c34640 571 } ADMW_CORE_Alert_Detail_Ch_t;
Vkadaba 5:0728bde67bdb 572
Vkadaba 5:0728bde67bdb 573 /*@}*/
Vkadaba 5:0728bde67bdb 574
Vkadaba 5:0728bde67bdb 575 /** @defgroup Error_Code Code Indicating Source of Error (Error_Code) Register
Vkadaba 5:0728bde67bdb 576 * Code Indicating Source of Error (Error_Code) Register.
Vkadaba 5:0728bde67bdb 577 * @{
Vkadaba 5:0728bde67bdb 578 */
Vkadaba 5:0728bde67bdb 579
Vkadaba 5:0728bde67bdb 580 /* ==========================================================================
Vkadaba 8:2f2775c34640 581 *! \struct ADMW_CORE_Error_Code_Struct
Vkadaba 5:0728bde67bdb 582 *! \brief Code Indicating Source of Error Register bit field structure
Vkadaba 5:0728bde67bdb 583 * ========================================================================== */
Vkadaba 8:2f2775c34640 584 typedef struct _ADMW_CORE_Error_Code_t {
Vkadaba 5:0728bde67bdb 585 union {
Vkadaba 5:0728bde67bdb 586 struct {
Vkadaba 5:0728bde67bdb 587 uint16_t Error_Code : 16; /**< Code Indicating Type of Error */
Vkadaba 5:0728bde67bdb 588 };
Vkadaba 5:0728bde67bdb 589 uint16_t VALUE16;
Vkadaba 5:0728bde67bdb 590 };
Vkadaba 8:2f2775c34640 591 } ADMW_CORE_Error_Code_t;
Vkadaba 5:0728bde67bdb 592
Vkadaba 5:0728bde67bdb 593 /*@}*/
Vkadaba 5:0728bde67bdb 594
Vkadaba 32:52445bef314d 595 /** @defgroup External_Reference_Resistor External Reference Resistor Value (External_Reference_Resistor) Register
Vkadaba 32:52445bef314d 596 * External Reference Resistor Value (External_Reference_Resistor) Register.
Vkadaba 5:0728bde67bdb 597 * @{
Vkadaba 5:0728bde67bdb 598 */
Vkadaba 5:0728bde67bdb 599
Vkadaba 5:0728bde67bdb 600 /* ==========================================================================
Vkadaba 8:2f2775c34640 601 *! \struct ADMW_CORE_External_Reference_Resistor_Struct
Vkadaba 32:52445bef314d 602 *! \brief External Reference Resistor Value Register bit field structure
Vkadaba 5:0728bde67bdb 603 * ========================================================================== */
Vkadaba 8:2f2775c34640 604 typedef struct _ADMW_CORE_External_Reference_Resistor_t {
Vkadaba 5:0728bde67bdb 605 union {
Vkadaba 5:0728bde67bdb 606 struct {
Vkadaba 32:52445bef314d 607 float Ext_Refin1_Value; /**< External Reference Resistor Value */
Vkadaba 5:0728bde67bdb 608 };
Vkadaba 5:0728bde67bdb 609 float VALUE32;
Vkadaba 5:0728bde67bdb 610 };
Vkadaba 8:2f2775c34640 611 } ADMW_CORE_External_Reference_Resistor_t;
Vkadaba 5:0728bde67bdb 612
Vkadaba 5:0728bde67bdb 613 /*@}*/
Vkadaba 5:0728bde67bdb 614
Vkadaba 36:54e2418e7620 615 /** @defgroup External_Voltage_Reference External Reference Information (External_Voltage_Reference) Register
Vkadaba 36:54e2418e7620 616 * External Reference Information (External_Voltage_Reference) Register.
Vkadaba 36:54e2418e7620 617 * @{
Vkadaba 36:54e2418e7620 618 */
Vkadaba 36:54e2418e7620 619
Vkadaba 36:54e2418e7620 620 /* ==========================================================================
Vkadaba 36:54e2418e7620 621 *! \struct ADMW_CORE_External_Voltage_Reference_Struct
Vkadaba 36:54e2418e7620 622 *! \brief External Reference Information Register bit field structure
Vkadaba 36:54e2418e7620 623 * ========================================================================== */
Vkadaba 36:54e2418e7620 624 typedef struct _ADMW_CORE_External_Voltage_Reference_t {
Vkadaba 36:54e2418e7620 625 union {
Vkadaba 36:54e2418e7620 626 struct {
Vkadaba 36:54e2418e7620 627 float Ext_Refin2_Value; /**< Reference Input Value */
Vkadaba 36:54e2418e7620 628 };
Vkadaba 36:54e2418e7620 629 float VALUE32;
Vkadaba 36:54e2418e7620 630 };
Vkadaba 36:54e2418e7620 631 } ADMW_CORE_External_Voltage_Reference_t;
Vkadaba 36:54e2418e7620 632
Vkadaba 36:54e2418e7620 633 /*@}*/
Vkadaba 43:e1789b7214cf 634
Vkadaba 43:e1789b7214cf 635 /** @defgroup AVDD_Voltage AVDD Voltage (AVDD_Voltage) Register
Vkadaba 43:e1789b7214cf 636 * AVDD Voltage (AVDD_Voltage) Register.
Vkadaba 43:e1789b7214cf 637 * @{
Vkadaba 43:e1789b7214cf 638 */
Vkadaba 43:e1789b7214cf 639
Vkadaba 43:e1789b7214cf 640 /* ==========================================================================
Vkadaba 43:e1789b7214cf 641 *! \struct ADMW_CORE_AVDD_Voltage_Struct
Vkadaba 43:e1789b7214cf 642 *! \brief AVDD Voltage Register bit field structure
Vkadaba 43:e1789b7214cf 643 * ========================================================================== */
Vkadaba 43:e1789b7214cf 644 typedef struct _ADMW_CORE_AVDD_Voltage_t {
Vkadaba 43:e1789b7214cf 645 union {
Vkadaba 43:e1789b7214cf 646 struct {
Vkadaba 43:e1789b7214cf 647 float Avdd_Voltage; /**< AVDD Voltage */
Vkadaba 43:e1789b7214cf 648 };
Vkadaba 43:e1789b7214cf 649 float VALUE32;
Vkadaba 43:e1789b7214cf 650 };
Vkadaba 43:e1789b7214cf 651 } ADMW_CORE_AVDD_Voltage_t;
Vkadaba 43:e1789b7214cf 652
Vkadaba 43:e1789b7214cf 653 /*@}*/
Vkadaba 43:e1789b7214cf 654
Vkadaba 5:0728bde67bdb 655 /** @defgroup Diagnostics_Control Diagnostic Control (Diagnostics_Control) Register
Vkadaba 5:0728bde67bdb 656 * Diagnostic Control (Diagnostics_Control) Register.
Vkadaba 5:0728bde67bdb 657 * @{
Vkadaba 5:0728bde67bdb 658 */
Vkadaba 5:0728bde67bdb 659
Vkadaba 5:0728bde67bdb 660 /* ==========================================================================
Vkadaba 8:2f2775c34640 661 *! \struct ADMW_CORE_Diagnostics_Control_Struct
Vkadaba 5:0728bde67bdb 662 *! \brief Diagnostic Control Register bit field structure
Vkadaba 5:0728bde67bdb 663 * ========================================================================== */
Vkadaba 8:2f2775c34640 664 typedef struct _ADMW_CORE_Diagnostics_Control_t {
Vkadaba 5:0728bde67bdb 665 union {
Vkadaba 5:0728bde67bdb 666 struct {
Vkadaba 32:52445bef314d 667 uint8_t Diag_Meas_En : 1; /**< Diagnostics Measure Enable */
Vkadaba 44:94bdfaefddac 668 uint8_t Diag_OSD_Freq : 7; /**< Diagnostics Open Sensor Detect Frequency */
Vkadaba 5:0728bde67bdb 669 };
Vkadaba 32:52445bef314d 670 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 671 };
Vkadaba 8:2f2775c34640 672 } ADMW_CORE_Diagnostics_Control_t;
Vkadaba 5:0728bde67bdb 673
Vkadaba 5:0728bde67bdb 674 /*@}*/
Vkadaba 5:0728bde67bdb 675
Vkadaba 58:aa9cd5072f66 676 /** @defgroup EXT_VBUFF External Reference Buffer (EXT_VBUFF) Register
Vkadaba 58:aa9cd5072f66 677 * External Reference Buffer (EXT_VBUFF) Register.
Vkadaba 58:aa9cd5072f66 678 * @{
Vkadaba 58:aa9cd5072f66 679 */
Vkadaba 58:aa9cd5072f66 680
Vkadaba 58:aa9cd5072f66 681 /* =========================================================================
Vkadaba 58:aa9cd5072f66 682 *! \enum ADMW_CORE_EXT_VBUFF_EXT_VBUFF
Vkadaba 58:aa9cd5072f66 683 *! \brief This field is used to configure the reference buffers (EXT_VBUFF) Enumerations
Vkadaba 58:aa9cd5072f66 684 * ========================================================================= */
Vkadaba 58:aa9cd5072f66 685 typedef enum
Vkadaba 58:aa9cd5072f66 686 {
Vkadaba 58:aa9cd5072f66 687 CORE_EXT_VBUFF_BOTH_INACTIVE_MODE = 0, /**< Both Reference Buffers Disabled */
Vkadaba 58:aa9cd5072f66 688 CORE_EXT_VBUFF_BOTH_ACTIVE_MODE = 1, /**< Both Reference Buffers Enabled */
Vkadaba 58:aa9cd5072f66 689 CORE_EXT_VBUFF_ONLY_VPOS_MODE = 2 /**< VREF+ Enabled Only */
Vkadaba 58:aa9cd5072f66 690 } ADMW_CORE_EXT_VBUFF_EXT_VBUFF;
Vkadaba 58:aa9cd5072f66 691
Vkadaba 58:aa9cd5072f66 692
Vkadaba 58:aa9cd5072f66 693 /* ==========================================================================
Vkadaba 58:aa9cd5072f66 694 *! \struct ADMW_CORE_EXT_VBUFF_Struct
Vkadaba 58:aa9cd5072f66 695 *! \brief External Reference Buffer Register bit field structure
Vkadaba 58:aa9cd5072f66 696 * ========================================================================== */
Vkadaba 58:aa9cd5072f66 697 typedef struct _ADMW_CORE_EXT_VBUFF_t {
Vkadaba 58:aa9cd5072f66 698 union {
Vkadaba 58:aa9cd5072f66 699 struct {
Vkadaba 58:aa9cd5072f66 700 uint8_t EXT_VBUFF : 2; /**< This field is used to configure the reference buffers */
Vkadaba 58:aa9cd5072f66 701 uint8_t reserved2 : 6;
Vkadaba 58:aa9cd5072f66 702 };
Vkadaba 58:aa9cd5072f66 703 uint8_t VALUE8;
Vkadaba 58:aa9cd5072f66 704 };
Vkadaba 58:aa9cd5072f66 705 } ADMW_CORE_EXT_VBUFF_t;
Vkadaba 58:aa9cd5072f66 706
Vkadaba 58:aa9cd5072f66 707 /*@}*/
Vkadaba 58:aa9cd5072f66 708
Vkadaba 5:0728bde67bdb 709 /** @defgroup Data_FIFO FIFO Buffer of Sensor Results (Data_FIFO) Register
Vkadaba 5:0728bde67bdb 710 * FIFO Buffer of Sensor Results (Data_FIFO) Register.
Vkadaba 5:0728bde67bdb 711 * @{
Vkadaba 5:0728bde67bdb 712 */
Vkadaba 5:0728bde67bdb 713
Vkadaba 5:0728bde67bdb 714 /* ==========================================================================
Vkadaba 8:2f2775c34640 715 *! \struct ADMW_CORE_Data_FIFO_Struct
Vkadaba 5:0728bde67bdb 716 *! \brief FIFO Buffer of Sensor Results Register bit field structure
Vkadaba 5:0728bde67bdb 717 * ========================================================================== */
Vkadaba 8:2f2775c34640 718 typedef struct _ADMW_CORE_Data_FIFO_t {
Vkadaba 5:0728bde67bdb 719 union {
Vkadaba 5:0728bde67bdb 720 struct {
Vkadaba 32:52445bef314d 721 uint8_t Data_Fifo : 8; /**< FIFO Buffer of Sensor Results */
Vkadaba 5:0728bde67bdb 722 };
Vkadaba 5:0728bde67bdb 723 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 724 };
Vkadaba 8:2f2775c34640 725 } ADMW_CORE_Data_FIFO_t;
Vkadaba 5:0728bde67bdb 726
Vkadaba 5:0728bde67bdb 727 /*@}*/
Vkadaba 5:0728bde67bdb 728
Vkadaba 5:0728bde67bdb 729 /** @defgroup Debug_Code Additional Information on Source of Alert or Errors (Debug_Code) Register
Vkadaba 5:0728bde67bdb 730 * Additional Information on Source of Alert or Errors (Debug_Code) Register.
Vkadaba 5:0728bde67bdb 731 * @{
Vkadaba 5:0728bde67bdb 732 */
Vkadaba 5:0728bde67bdb 733
Vkadaba 5:0728bde67bdb 734 /* ==========================================================================
Vkadaba 8:2f2775c34640 735 *! \struct ADMW_CORE_Debug_Code_Struct
Vkadaba 5:0728bde67bdb 736 *! \brief Additional Information on Source of Alert or Errors Register bit field structure
Vkadaba 5:0728bde67bdb 737 * ========================================================================== */
Vkadaba 8:2f2775c34640 738 typedef struct _ADMW_CORE_Debug_Code_t {
Vkadaba 5:0728bde67bdb 739 union {
Vkadaba 5:0728bde67bdb 740 struct {
Vkadaba 5:0728bde67bdb 741 uint32_t Debug_Code : 32; /**< Additional Information on Source of Alert or Errors */
Vkadaba 5:0728bde67bdb 742 };
Vkadaba 5:0728bde67bdb 743 uint32_t VALUE32;
Vkadaba 5:0728bde67bdb 744 };
Vkadaba 8:2f2775c34640 745 } ADMW_CORE_Debug_Code_t;
Vkadaba 5:0728bde67bdb 746
Vkadaba 5:0728bde67bdb 747 /*@}*/
Vkadaba 5:0728bde67bdb 748
Vkadaba 32:52445bef314d 749 /** @defgroup Test_Reg_Access Allows Access to Test (Hidden) Registers and Features (Test_Reg_Access) Register
Vkadaba 32:52445bef314d 750 * Allows Access to Test (Hidden) Registers and Features (Test_Reg_Access) Register.
Vkadaba 5:0728bde67bdb 751 * @{
Vkadaba 5:0728bde67bdb 752 */
Vkadaba 5:0728bde67bdb 753
Vkadaba 5:0728bde67bdb 754 /* ==========================================================================
Vkadaba 32:52445bef314d 755 *! \struct ADMW_CORE_Test_Reg_Access_Struct
Vkadaba 32:52445bef314d 756 *! \brief Allows Access to Test (Hidden) Registers and Features Register bit field structure
Vkadaba 5:0728bde67bdb 757 * ========================================================================== */
Vkadaba 32:52445bef314d 758 typedef struct _ADMW_CORE_Test_Reg_Access_t {
Vkadaba 5:0728bde67bdb 759 union {
Vkadaba 5:0728bde67bdb 760 struct {
Vkadaba 32:52445bef314d 761 uint16_t Test_Access : 16; /**< Test Register Access. Specific Write Sequence Required */
Vkadaba 5:0728bde67bdb 762 };
Vkadaba 5:0728bde67bdb 763 uint16_t VALUE16;
Vkadaba 5:0728bde67bdb 764 };
Vkadaba 32:52445bef314d 765 } ADMW_CORE_Test_Reg_Access_t;
Vkadaba 5:0728bde67bdb 766
Vkadaba 5:0728bde67bdb 767 /*@}*/
Vkadaba 5:0728bde67bdb 768
Vkadaba 32:52445bef314d 769 /** @defgroup LUT_Select LUT Read/Write Strobe (LUT_Select) Register
Vkadaba 32:52445bef314d 770 * LUT Read/Write Strobe (LUT_Select) Register.
Vkadaba 5:0728bde67bdb 771 * @{
Vkadaba 5:0728bde67bdb 772 */
Vkadaba 5:0728bde67bdb 773
Vkadaba 5:0728bde67bdb 774 /* =========================================================================
Vkadaba 8:2f2775c34640 775 *! \enum ADMW_CORE_LUT_Select_LUT_RW
Vkadaba 5:0728bde67bdb 776 *! \brief Read or Write LUT Data (LUT_RW) Enumerations
Vkadaba 5:0728bde67bdb 777 * ========================================================================= */
Vkadaba 5:0728bde67bdb 778 typedef enum
Vkadaba 5:0728bde67bdb 779 {
Vkadaba 32:52445bef314d 780 CORE_LUT_SELECT_LUT_READ = 0, /**< Read addressed LUT data */
Vkadaba 32:52445bef314d 781 CORE_LUT_SELECT_LUT_WRITE = 1 /**< Write addressed LUT data */
Vkadaba 8:2f2775c34640 782 } ADMW_CORE_LUT_Select_LUT_RW;
Vkadaba 5:0728bde67bdb 783
Vkadaba 5:0728bde67bdb 784
Vkadaba 5:0728bde67bdb 785 /* ==========================================================================
Vkadaba 8:2f2775c34640 786 *! \struct ADMW_CORE_LUT_Select_Struct
Vkadaba 32:52445bef314d 787 *! \brief LUT Read/Write Strobe Register bit field structure
Vkadaba 5:0728bde67bdb 788 * ========================================================================== */
Vkadaba 8:2f2775c34640 789 typedef struct _ADMW_CORE_LUT_Select_t {
Vkadaba 5:0728bde67bdb 790 union {
Vkadaba 5:0728bde67bdb 791 struct {
Vkadaba 5:0728bde67bdb 792 uint8_t reserved0 : 7;
Vkadaba 5:0728bde67bdb 793 uint8_t LUT_RW : 1; /**< Read or Write LUT Data */
Vkadaba 5:0728bde67bdb 794 };
Vkadaba 5:0728bde67bdb 795 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 796 };
Vkadaba 8:2f2775c34640 797 } ADMW_CORE_LUT_Select_t;
Vkadaba 5:0728bde67bdb 798
Vkadaba 5:0728bde67bdb 799 /*@}*/
Vkadaba 5:0728bde67bdb 800
Vkadaba 5:0728bde67bdb 801 /** @defgroup LUT_Offset Offset into Selected LUT (LUT_Offset) Register
Vkadaba 5:0728bde67bdb 802 * Offset into Selected LUT (LUT_Offset) Register.
Vkadaba 5:0728bde67bdb 803 * @{
Vkadaba 5:0728bde67bdb 804 */
Vkadaba 5:0728bde67bdb 805
Vkadaba 5:0728bde67bdb 806 /* ==========================================================================
Vkadaba 8:2f2775c34640 807 *! \struct ADMW_CORE_LUT_Offset_Struct
Vkadaba 5:0728bde67bdb 808 *! \brief Offset into Selected LUT Register bit field structure
Vkadaba 5:0728bde67bdb 809 * ========================================================================== */
Vkadaba 8:2f2775c34640 810 typedef struct _ADMW_CORE_LUT_Offset_t {
Vkadaba 5:0728bde67bdb 811 union {
Vkadaba 5:0728bde67bdb 812 struct {
Vkadaba 44:94bdfaefddac 813 uint16_t LUT_Offset : 11; /**< Offset into the Lookup Table */
Vkadaba 44:94bdfaefddac 814 uint16_t reserved11 : 5;
Vkadaba 5:0728bde67bdb 815 };
Vkadaba 5:0728bde67bdb 816 uint16_t VALUE16;
Vkadaba 5:0728bde67bdb 817 };
Vkadaba 8:2f2775c34640 818 } ADMW_CORE_LUT_Offset_t;
Vkadaba 5:0728bde67bdb 819
Vkadaba 5:0728bde67bdb 820 /*@}*/
Vkadaba 5:0728bde67bdb 821
Vkadaba 5:0728bde67bdb 822 /** @defgroup LUT_Data Data to Read/Write from Addressed LUT Entry (LUT_Data) Register
Vkadaba 5:0728bde67bdb 823 * Data to Read/Write from Addressed LUT Entry (LUT_Data) Register.
Vkadaba 5:0728bde67bdb 824 * @{
Vkadaba 5:0728bde67bdb 825 */
Vkadaba 5:0728bde67bdb 826
Vkadaba 5:0728bde67bdb 827 /* ==========================================================================
Vkadaba 8:2f2775c34640 828 *! \struct ADMW_CORE_LUT_Data_Struct
Vkadaba 5:0728bde67bdb 829 *! \brief Data to Read/Write from Addressed LUT Entry Register bit field structure
Vkadaba 5:0728bde67bdb 830 * ========================================================================== */
Vkadaba 8:2f2775c34640 831 typedef struct _ADMW_CORE_LUT_Data_t {
Vkadaba 5:0728bde67bdb 832 union {
Vkadaba 5:0728bde67bdb 833 struct {
Vkadaba 32:52445bef314d 834 uint8_t LUT_Data : 8; /**< Data Byte to Write to and Read from the Lookup Table */
Vkadaba 5:0728bde67bdb 835 };
Vkadaba 5:0728bde67bdb 836 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 837 };
Vkadaba 8:2f2775c34640 838 } ADMW_CORE_LUT_Data_t;
Vkadaba 5:0728bde67bdb 839
Vkadaba 5:0728bde67bdb 840 /*@}*/
Vkadaba 5:0728bde67bdb 841
Vkadaba 5:0728bde67bdb 842 /** @defgroup Revision Hardware, Firmware Revision (Revision) Register
Vkadaba 5:0728bde67bdb 843 * Hardware, Firmware Revision (Revision) Register.
Vkadaba 5:0728bde67bdb 844 * @{
Vkadaba 5:0728bde67bdb 845 */
Vkadaba 5:0728bde67bdb 846
Vkadaba 5:0728bde67bdb 847 /* ==========================================================================
Vkadaba 8:2f2775c34640 848 *! \struct ADMW_CORE_Revision_Struct
Vkadaba 5:0728bde67bdb 849 *! \brief Hardware, Firmware Revision Register bit field structure
Vkadaba 5:0728bde67bdb 850 * ========================================================================== */
Vkadaba 8:2f2775c34640 851 typedef struct _ADMW_CORE_Revision_t {
Vkadaba 5:0728bde67bdb 852 union {
Vkadaba 5:0728bde67bdb 853 struct {
Vkadaba 5:0728bde67bdb 854 uint32_t Rev_Patch : 16; /**< Patch Revision Information */
Vkadaba 5:0728bde67bdb 855 uint32_t Rev_Minor : 8; /**< Minor Revision Information */
Vkadaba 5:0728bde67bdb 856 uint32_t Rev_Major : 8; /**< Major Revision Information */
Vkadaba 5:0728bde67bdb 857 };
Vkadaba 5:0728bde67bdb 858 uint32_t VALUE32;
Vkadaba 5:0728bde67bdb 859 };
Vkadaba 8:2f2775c34640 860 } ADMW_CORE_Revision_t;
Vkadaba 5:0728bde67bdb 861
Vkadaba 5:0728bde67bdb 862 /*@}*/
Vkadaba 5:0728bde67bdb 863
Vkadaba 5:0728bde67bdb 864 /** @defgroup Channel_Count Number of Channel Occurrences per Measurement Cycle (Channel_Count) Register
Vkadaba 5:0728bde67bdb 865 * Number of Channel Occurrences per Measurement Cycle (Channel_Count) Register.
Vkadaba 5:0728bde67bdb 866 * @{
Vkadaba 5:0728bde67bdb 867 */
Vkadaba 5:0728bde67bdb 868
Vkadaba 5:0728bde67bdb 869 /* ==========================================================================
Vkadaba 8:2f2775c34640 870 *! \struct ADMW_CORE_Channel_Count_Struct
Vkadaba 5:0728bde67bdb 871 *! \brief Number of Channel Occurrences per Measurement Cycle Register bit field structure
Vkadaba 5:0728bde67bdb 872 * ========================================================================== */
Vkadaba 8:2f2775c34640 873 typedef struct _ADMW_CORE_Channel_Count_t {
Vkadaba 5:0728bde67bdb 874 union {
Vkadaba 5:0728bde67bdb 875 struct {
Vkadaba 32:52445bef314d 876 uint8_t Channel_Count : 7; /**< How Many Times Channel Appears in One Cycle */
Vkadaba 5:0728bde67bdb 877 uint8_t Channel_Enable : 1; /**< Enable Channel in Measurement Cycle */
Vkadaba 5:0728bde67bdb 878 };
Vkadaba 5:0728bde67bdb 879 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 880 };
Vkadaba 8:2f2775c34640 881 } ADMW_CORE_Channel_Count_t;
Vkadaba 5:0728bde67bdb 882
Vkadaba 5:0728bde67bdb 883 /*@}*/
Vkadaba 5:0728bde67bdb 884
Vkadaba 32:52445bef314d 885 /** @defgroup Channel_Options Position of Channel Within Sequence (Channel_Options) Register
Vkadaba 32:52445bef314d 886 * Position of Channel Within Sequence (Channel_Options) Register.
Vkadaba 5:0728bde67bdb 887 * @{
Vkadaba 5:0728bde67bdb 888 */
Vkadaba 5:0728bde67bdb 889
Vkadaba 5:0728bde67bdb 890 /* ==========================================================================
Vkadaba 8:2f2775c34640 891 *! \struct ADMW_CORE_Channel_Options_Struct
Vkadaba 32:52445bef314d 892 *! \brief Position of Channel Within Sequence Register bit field structure
Vkadaba 5:0728bde67bdb 893 * ========================================================================== */
Vkadaba 8:2f2775c34640 894 typedef struct _ADMW_CORE_Channel_Options_t {
Vkadaba 5:0728bde67bdb 895 union {
Vkadaba 5:0728bde67bdb 896 struct {
Vkadaba 5:0728bde67bdb 897 uint8_t Channel_Priority : 4; /**< Indicates Priority or Position of This Channel in Sequence */
Vkadaba 6:9d393a9677f4 898 uint8_t reserved4 : 4;
Vkadaba 5:0728bde67bdb 899 };
Vkadaba 5:0728bde67bdb 900 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 901 };
Vkadaba 8:2f2775c34640 902 } ADMW_CORE_Channel_Options_t;
Vkadaba 5:0728bde67bdb 903
Vkadaba 5:0728bde67bdb 904 /*@}*/
Vkadaba 5:0728bde67bdb 905
Vkadaba 5:0728bde67bdb 906 /** @defgroup Sensor_Type Sensor Select (Sensor_Type) Register
Vkadaba 5:0728bde67bdb 907 * Sensor Select (Sensor_Type) Register.
Vkadaba 5:0728bde67bdb 908 * @{
Vkadaba 5:0728bde67bdb 909 */
Vkadaba 5:0728bde67bdb 910
Vkadaba 5:0728bde67bdb 911 /* =========================================================================
Vkadaba 8:2f2775c34640 912 *! \enum ADMW_CORE_Sensor_Type_Sensor_Type
Vkadaba 5:0728bde67bdb 913 *! \brief Sensor Type (Sensor_Type) Enumerations
Vkadaba 5:0728bde67bdb 914 * ========================================================================= */
Vkadaba 5:0728bde67bdb 915 typedef enum
Vkadaba 5:0728bde67bdb 916 {
Vkadaba 58:aa9cd5072f66 917 CORE_SENSOR_TYPE_THERMOCOUPLE_T = 0, /**< Thermocouple T-Type sensor */
Vkadaba 58:aa9cd5072f66 918 CORE_SENSOR_TYPE_THERMOCOUPLE_J = 1, /**< Thermocouple J-Type Sensor */
Vkadaba 58:aa9cd5072f66 919 CORE_SENSOR_TYPE_THERMOCOUPLE_K = 2, /**< Thermocouple K-Type Sensor */
Vkadaba 58:aa9cd5072f66 920 CORE_SENSOR_TYPE_THERMOCOUPLE_E = 3, /**< Thermocouple E-Type Sensor */
Vkadaba 58:aa9cd5072f66 921 CORE_SENSOR_TYPE_THERMOCOUPLE_N = 4, /**< Thermocouple N-Type Sensor */
Vkadaba 58:aa9cd5072f66 922 CORE_SENSOR_TYPE_THERMOCOUPLE_R = 5, /**< Thermocouple R-Type Sensor */
Vkadaba 58:aa9cd5072f66 923 CORE_SENSOR_TYPE_THERMOCOUPLE_S = 6, /**< Thermocouple S-Type Sensor */
Vkadaba 58:aa9cd5072f66 924 CORE_SENSOR_TYPE_THERMOCOUPLE_B = 7, /**< Thermocouple B-Type Sensor */
Vkadaba 58:aa9cd5072f66 925 CORE_SENSOR_TYPE_THERMOCOUPLE_CUSTOM = 8, /**< Thermocouple CUSTOM-Type Sensor */
Vkadaba 58:aa9cd5072f66 926 CORE_SENSOR_TYPE_RTD_2W_PT100 = 32, /**< RTD 2 wire PT100 sensor */
Vkadaba 58:aa9cd5072f66 927 CORE_SENSOR_TYPE_RTD_2W_PT1000 = 33, /**< RTD 2 wire PT1000 sensor */
Vkadaba 58:aa9cd5072f66 928 CORE_SENSOR_TYPE_RTD_2W_PT10 = 34, /**< RTD 2 wire PT10 sensor */
Vkadaba 58:aa9cd5072f66 929 CORE_SENSOR_TYPE_RTD_2W_PT50 = 35, /**< RTD 2 wire PT50 sensor */
Vkadaba 58:aa9cd5072f66 930 CORE_SENSOR_TYPE_RTD_2W_PT200 = 36, /**< RTD 2 wire PT200 sensor */
Vkadaba 58:aa9cd5072f66 931 CORE_SENSOR_TYPE_RTD_2W_PT500 = 37, /**< RTD 2 wire PT500 sensor */
Vkadaba 58:aa9cd5072f66 932 CORE_SENSOR_TYPE_RTD_2W_PT1000_0P00375 = 38, /**< RTD 2 wire PT1000 sensor */
Vkadaba 58:aa9cd5072f66 933 CORE_SENSOR_TYPE_RTD_2W_NI120 = 39, /**< RTD 2 wire PT1000 sensor */
Vkadaba 58:aa9cd5072f66 934 CORE_SENSOR_TYPE_RTD_2W_CUSTOM = 40, /**< RTD 2 wire Custom sensor */
Vkadaba 58:aa9cd5072f66 935 CORE_SENSOR_TYPE_RTD_3W_PT100 = 64, /**< RTD 3 wire PT100 sensor */
Vkadaba 58:aa9cd5072f66 936 CORE_SENSOR_TYPE_RTD_3W_PT1000 = 65, /**< RTD 3 wire PT1000 sensor */
Vkadaba 58:aa9cd5072f66 937 CORE_SENSOR_TYPE_RTD_3W_PT10 = 66, /**< RTD 3 wire PT10 sensor */
Vkadaba 58:aa9cd5072f66 938 CORE_SENSOR_TYPE_RTD_3W_PT50 = 67, /**< RTD 3 wire PT50 sensor */
Vkadaba 58:aa9cd5072f66 939 CORE_SENSOR_TYPE_RTD_3W_PT200 = 68, /**< RTD 3 wire PT200 sensor */
Vkadaba 58:aa9cd5072f66 940 CORE_SENSOR_TYPE_RTD_3W_PT500 = 69, /**< RTD 3 wire PT500 sensor */
Vkadaba 58:aa9cd5072f66 941 CORE_SENSOR_TYPE_RTD_3W_PT1000_0P00375 = 70, /**< RTD 3 wire PT1000 sensor */
Vkadaba 58:aa9cd5072f66 942 CORE_SENSOR_TYPE_RTD_3W_NI120 = 71, /**< RTD 3 wire NI120 sensor */
Vkadaba 58:aa9cd5072f66 943 CORE_SENSOR_TYPE_RTD_3W_CUSTOM = 72, /**< RTD 3 wire Custom sensor */
Vkadaba 58:aa9cd5072f66 944 CORE_SENSOR_TYPE_RTD_4W_PT100 = 96, /**< RTD 4 wire PT100 sensor */
Vkadaba 58:aa9cd5072f66 945 CORE_SENSOR_TYPE_RTD_4W_PT1000 = 97, /**< RTD 4 wire PT1000 sensor */
Vkadaba 58:aa9cd5072f66 946 CORE_SENSOR_TYPE_RTD_4W_PT10 = 98, /**< RTD 4 wire PT10 sensor */
Vkadaba 58:aa9cd5072f66 947 CORE_SENSOR_TYPE_RTD_4W_PT50 = 99, /**< RTD 4 wire PT50 sensor */
Vkadaba 58:aa9cd5072f66 948 CORE_SENSOR_TYPE_RTD_4W_PT200 = 100, /**< RTD 4 wire PT200 sensor */
Vkadaba 58:aa9cd5072f66 949 CORE_SENSOR_TYPE_RTD_4W_PT500 = 101, /**< RTD 4 wire PT500 sensor */
Vkadaba 58:aa9cd5072f66 950 CORE_SENSOR_TYPE_RTD_4W_PT1000_0P00375 = 102, /**< RTD 4 wire PT1000 0.00375 sensor */
Vkadaba 58:aa9cd5072f66 951 CORE_SENSOR_TYPE_RTD_4W_NI120 = 103, /**< RTD 4 wire NI120 */
Vkadaba 58:aa9cd5072f66 952 CORE_SENSOR_TYPE_RTD_4W_CUSTOM = 104, /**< RTD 4 wire Custom sensor */
Vkadaba 58:aa9cd5072f66 953 CORE_SENSOR_TYPE_THERMISTOR_44004_44033_2P252K_AT_25C = 128, /**< THERMISTOR_44004_44033_2P252K_AT_25C */
Vkadaba 58:aa9cd5072f66 954 CORE_SENSOR_TYPE_THERMISTOR_44005_44030_3K_AT_25C = 129, /**< THERMISTOR_44005_44030_3K_AT_25C */
Vkadaba 58:aa9cd5072f66 955 CORE_SENSOR_TYPE_THERMISTOR_44007_44034_5K_AT_25C = 130, /**< THERMISTOR_44007_44034_5K_AT_25C */
Vkadaba 58:aa9cd5072f66 956 CORE_SENSOR_TYPE_THERMISTOR_44006_44031_10K_AT_25C = 131, /**< THERMISTOR_44006_44031_10K_AT_25C */
Vkadaba 58:aa9cd5072f66 957 CORE_SENSOR_TYPE_THERMISTOR_44008_44032_30K_AT_25C = 132, /**< THERMISTOR_44008_44032_30K_AT_25C */
Vkadaba 58:aa9cd5072f66 958 CORE_SENSOR_TYPE_THERMISTOR_YSI_400 = 133, /**< THERMISTOR_YSI_400 */
Vkadaba 58:aa9cd5072f66 959 CORE_SENSOR_TYPE_THERMISTOR_SPECTRUM_1003K_1K = 134, /**< THERMISTOR_SPECTRUM_1003K_1K */
Vkadaba 58:aa9cd5072f66 960 CORE_SENSOR_TYPE_THERMISTOR_CUSTOM_STEINHART_HART = 135, /**< THERMISTOR_CUSTOM_STEINHART_HART */
Vkadaba 58:aa9cd5072f66 961 CORE_SENSOR_TYPE_THERMISTOR_CUSTOM_TABLE = 136, /**< THERMISTOR_CUSTOM_TABLE */
Vkadaba 58:aa9cd5072f66 962 CORE_SENSOR_TYPE_BRIDGE_4WIRE = 168, /**< Bridge 4 wire sensor */
Vkadaba 58:aa9cd5072f66 963 CORE_SENSOR_TYPE_BRIDGE_6WIRE = 200, /**< Bridge 6 wire sensor */
Vkadaba 58:aa9cd5072f66 964 CORE_SENSOR_TYPE_DIODE = 224, /**< DIODE Temperature Sensor */
Vkadaba 58:aa9cd5072f66 965 CORE_SENSOR_TYPE_SINGLE_ENDED_ABSOLUTE = 576, /**< Voltage Input Single Ended on V+ */
Vkadaba 58:aa9cd5072f66 966 CORE_SENSOR_TYPE_DIFFERENTIAL_ABSOLUTE = 640, /**< Voltage Input Differential Ended on V+ and V- */
Vkadaba 58:aa9cd5072f66 967 CORE_SENSOR_TYPE_SINGLE_ENDED_RATIO = 656, /**< Ratiometeric Output, Voltage_IN/Voltage_Reference */
Vkadaba 58:aa9cd5072f66 968 CORE_SENSOR_TYPE_DIFFERENTIAL_RATIO = 672, /**< Ratiometeric Output, Voltage_IN/Voltage_Reference */
Vkadaba 58:aa9cd5072f66 969 CORE_SENSOR_TYPE_I2C_HUMIDITY = 2112, /**< I2C humidity sensor B */
Vkadaba 58:aa9cd5072f66 970 CORE_SENSOR_TYPE_I2C_TEMPERATURE_ADT742X = 2218 /**< ADI Precision I2C Digital Temperature Sensor */
Vkadaba 8:2f2775c34640 971 } ADMW_CORE_Sensor_Type_Sensor_Type;
Vkadaba 5:0728bde67bdb 972
Vkadaba 5:0728bde67bdb 973
Vkadaba 5:0728bde67bdb 974 /* ==========================================================================
Vkadaba 8:2f2775c34640 975 *! \struct ADMW_CORE_Sensor_Type_Struct
Vkadaba 5:0728bde67bdb 976 *! \brief Sensor Select Register bit field structure
Vkadaba 5:0728bde67bdb 977 * ========================================================================== */
Vkadaba 8:2f2775c34640 978 typedef struct _ADMW_CORE_Sensor_Type_t {
Vkadaba 5:0728bde67bdb 979 union {
Vkadaba 5:0728bde67bdb 980 struct {
Vkadaba 5:0728bde67bdb 981 uint16_t Sensor_Type : 12; /**< Sensor Type */
Vkadaba 5:0728bde67bdb 982 uint16_t reserved12 : 4;
Vkadaba 5:0728bde67bdb 983 };
Vkadaba 5:0728bde67bdb 984 uint16_t VALUE16;
Vkadaba 5:0728bde67bdb 985 };
Vkadaba 8:2f2775c34640 986 } ADMW_CORE_Sensor_Type_t;
Vkadaba 5:0728bde67bdb 987
Vkadaba 5:0728bde67bdb 988 /*@}*/
Vkadaba 5:0728bde67bdb 989
Vkadaba 5:0728bde67bdb 990 /** @defgroup Sensor_Details Sensor Details (Sensor_Details) Register
Vkadaba 5:0728bde67bdb 991 * Sensor Details (Sensor_Details) Register.
Vkadaba 5:0728bde67bdb 992 * @{
Vkadaba 5:0728bde67bdb 993 */
Vkadaba 5:0728bde67bdb 994
Vkadaba 5:0728bde67bdb 995 /* =========================================================================
Vkadaba 8:2f2775c34640 996 *! \enum ADMW_CORE_Sensor_Details_Measurement_Units
Vkadaba 5:0728bde67bdb 997 *! \brief Units of Sensor Measurement (Measurement_Units) Enumerations
Vkadaba 5:0728bde67bdb 998 * ========================================================================= */
Vkadaba 5:0728bde67bdb 999 typedef enum
Vkadaba 5:0728bde67bdb 1000 {
Vkadaba 5:0728bde67bdb 1001 CORE_SENSOR_DETAILS_UNITS_UNSPECIFIED = 0, /**< Not Specified */
Vkadaba 5:0728bde67bdb 1002 CORE_SENSOR_DETAILS_UNITS_RESERVED = 1, /**< Reserved */
Vkadaba 5:0728bde67bdb 1003 CORE_SENSOR_DETAILS_UNITS_DEGC = 2, /**< Degrees C */
Vkadaba 5:0728bde67bdb 1004 CORE_SENSOR_DETAILS_UNITS_DEGF = 3 /**< Degrees F */
Vkadaba 8:2f2775c34640 1005 } ADMW_CORE_Sensor_Details_Measurement_Units;
Vkadaba 8:2f2775c34640 1006
Vkadaba 5:0728bde67bdb 1007
Vkadaba 6:9d393a9677f4 1008 /* =========================================================================
Vkadaba 6:9d393a9677f4 1009 *! \enum ADMW_CORE_Sensor_Details_LUT_Select
Vkadaba 6:9d393a9677f4 1010 *! \brief Lookup Table Select (LUT_Select) Enumerations
Vkadaba 6:9d393a9677f4 1011 * ========================================================================= */
Vkadaba 6:9d393a9677f4 1012 typedef enum
Vkadaba 6:9d393a9677f4 1013 {
Vkadaba 50:d84305e5e1c0 1014 CORE_SENSOR_DETAILS_LUT_DEFAULT = 0, /**< Default lookup table for selected sensor type */
Vkadaba 50:d84305e5e1c0 1015 CORE_SENSOR_DETAILS_LUT_CUSTOM = 1, /**< User defined custom lookup table. */
Vkadaba 50:d84305e5e1c0 1016 CORE_SENSOR_DETAILS_LUT_RESERVED = 2 /**< Reserved */
Vkadaba 8:2f2775c34640 1017 } ADMW_CORE_Sensor_Details_LUT_Select;
Vkadaba 6:9d393a9677f4 1018
Vkadaba 6:9d393a9677f4 1019
Vkadaba 6:9d393a9677f4 1020 /* =========================================================================
Vkadaba 8:2f2775c34640 1021 *! \enum ADMW_CORE_Sensor_Details_Reference_Select
Vkadaba 5:0728bde67bdb 1022 *! \brief Reference Selection (Reference_Select) Enumerations
Vkadaba 5:0728bde67bdb 1023 * ========================================================================= */
Vkadaba 5:0728bde67bdb 1024 typedef enum
Vkadaba 5:0728bde67bdb 1025 {
Vkadaba 32:52445bef314d 1026 CORE_SENSOR_DETAILS_REF_VINT = 0, /**< Internal voltage reference (1.2V) */
Vkadaba 32:52445bef314d 1027 CORE_SENSOR_DETAILS_REF_VEXT1 = 1, /**< External voltage reference applied to VERF+ and VREF- */
Vkadaba 32:52445bef314d 1028 CORE_SENSOR_DETAILS_REF_AVDD = 3 /**< AVDD supply internally used as reference */
Vkadaba 8:2f2775c34640 1029 } ADMW_CORE_Sensor_Details_Reference_Select;
Vkadaba 5:0728bde67bdb 1030
Vkadaba 5:0728bde67bdb 1031
Vkadaba 5:0728bde67bdb 1032 /* =========================================================================
Vkadaba 8:2f2775c34640 1033 *! \enum ADMW_CORE_Sensor_Details_PGA_Gain
Vkadaba 5:0728bde67bdb 1034 *! \brief PGA Gain (PGA_Gain) Enumerations
Vkadaba 5:0728bde67bdb 1035 * ========================================================================= */
Vkadaba 5:0728bde67bdb 1036 typedef enum
Vkadaba 5:0728bde67bdb 1037 {
Vkadaba 5:0728bde67bdb 1038 CORE_SENSOR_DETAILS_PGA_GAIN_1 = 0, /**< Gain of 1 */
Vkadaba 5:0728bde67bdb 1039 CORE_SENSOR_DETAILS_PGA_GAIN_2 = 1, /**< Gain of 2 */
Vkadaba 5:0728bde67bdb 1040 CORE_SENSOR_DETAILS_PGA_GAIN_4 = 2, /**< Gain of 4 */
Vkadaba 5:0728bde67bdb 1041 CORE_SENSOR_DETAILS_PGA_GAIN_8 = 3, /**< Gain of 8 */
Vkadaba 5:0728bde67bdb 1042 CORE_SENSOR_DETAILS_PGA_GAIN_16 = 4, /**< Gain of 16 */
Vkadaba 5:0728bde67bdb 1043 CORE_SENSOR_DETAILS_PGA_GAIN_32 = 5, /**< Gain of 32 */
Vkadaba 5:0728bde67bdb 1044 CORE_SENSOR_DETAILS_PGA_GAIN_64 = 6, /**< Gain of 64 */
Vkadaba 5:0728bde67bdb 1045 CORE_SENSOR_DETAILS_PGA_GAIN_128 = 7 /**< Gain of 128 */
Vkadaba 8:2f2775c34640 1046 } ADMW_CORE_Sensor_Details_PGA_Gain;
Vkadaba 5:0728bde67bdb 1047
Vkadaba 5:0728bde67bdb 1048
Vkadaba 6:9d393a9677f4 1049 /* =========================================================================
Vkadaba 8:2f2775c34640 1050 *! \enum ADMW_CORE_Sensor_Details_RTD_Curve
Vkadaba 32:52445bef314d 1051 *! \brief Select RTD Curve for Linearization (RTD_Curve) Enumerations
Vkadaba 6:9d393a9677f4 1052 * ========================================================================= */
Vkadaba 6:9d393a9677f4 1053 typedef enum
Vkadaba 6:9d393a9677f4 1054 {
Vkadaba 32:52445bef314d 1055 CORE_SENSOR_DETAILS_EUROPEAN_CURVE = 0, /**< European curve */
Vkadaba 32:52445bef314d 1056 CORE_SENSOR_DETAILS_AMERICAN_CURVE = 1, /**< American curve */
Vkadaba 32:52445bef314d 1057 CORE_SENSOR_DETAILS_JAPANESE_CURVE = 2, /**< Japanese curve */
Vkadaba 32:52445bef314d 1058 CORE_SENSOR_DETAILS_ITS90_CURVE = 3 /**< ITS-90 curve */
Vkadaba 8:2f2775c34640 1059 } ADMW_CORE_Sensor_Details_RTD_Curve;
Vkadaba 6:9d393a9677f4 1060
Vkadaba 6:9d393a9677f4 1061
Vkadaba 5:0728bde67bdb 1062 /* ==========================================================================
Vkadaba 8:2f2775c34640 1063 *! \struct ADMW_CORE_Sensor_Details_Struct
Vkadaba 5:0728bde67bdb 1064 *! \brief Sensor Details Register bit field structure
Vkadaba 5:0728bde67bdb 1065 * ========================================================================== */
Vkadaba 8:2f2775c34640 1066 typedef struct _ADMW_CORE_Sensor_Details_t {
Vkadaba 5:0728bde67bdb 1067 union {
Vkadaba 5:0728bde67bdb 1068 struct {
Vkadaba 5:0728bde67bdb 1069 uint32_t Measurement_Units : 4; /**< Units of Sensor Measurement */
Vkadaba 32:52445bef314d 1070 uint32_t Compensation_Channel : 4; /**< Indicates Which Channel Used to Compensate the Sensor Result */
Vkadaba 8:2f2775c34640 1071 uint32_t reserved8 : 7;
Vkadaba 8:2f2775c34640 1072 uint32_t LUT_Select : 2; /**< Lookup Table Select */
Vkadaba 5:0728bde67bdb 1073 uint32_t Do_Not_Publish : 1; /**< Do Not Publish Channel Result */
Vkadaba 8:2f2775c34640 1074 uint32_t reserved18 : 2;
Vkadaba 6:9d393a9677f4 1075 uint32_t Reference_Select : 4; /**< Reference Selection */
Vkadaba 6:9d393a9677f4 1076 uint32_t PGA_Gain : 3; /**< PGA Gain */
Vkadaba 32:52445bef314d 1077 uint32_t RTD_Curve : 2; /**< Select RTD Curve for Linearization */
Vkadaba 6:9d393a9677f4 1078 uint32_t reserved29 : 2;
Vkadaba 32:52445bef314d 1079 uint32_t Compensation_Disable : 1; /**< This Bit Indicates Compensation Data Must Not Be Used */
Vkadaba 5:0728bde67bdb 1080 };
Vkadaba 5:0728bde67bdb 1081 uint32_t VALUE32;
Vkadaba 5:0728bde67bdb 1082 };
Vkadaba 8:2f2775c34640 1083 } ADMW_CORE_Sensor_Details_t;
Vkadaba 5:0728bde67bdb 1084
Vkadaba 5:0728bde67bdb 1085 /*@}*/
Vkadaba 5:0728bde67bdb 1086
Vkadaba 5:0728bde67bdb 1087 /** @defgroup Channel_Excitation Excitation Current (Channel_Excitation) Register
Vkadaba 5:0728bde67bdb 1088 * Excitation Current (Channel_Excitation) Register.
Vkadaba 5:0728bde67bdb 1089 * @{
Vkadaba 5:0728bde67bdb 1090 */
Vkadaba 5:0728bde67bdb 1091
Vkadaba 5:0728bde67bdb 1092 /* =========================================================================
Vkadaba 8:2f2775c34640 1093 *! \enum ADMW_CORE_Channel_Excitation_IOUT_Excitation_Current
Vkadaba 5:0728bde67bdb 1094 *! \brief Current Source Value (IOUT_Excitation_Current) Enumerations
Vkadaba 5:0728bde67bdb 1095 * ========================================================================= */
Vkadaba 5:0728bde67bdb 1096 typedef enum
Vkadaba 5:0728bde67bdb 1097 {
Vkadaba 32:52445bef314d 1098 CORE_CHANNEL_EXCITATION_NONE = 0, /**< Excitation Current Disabled */
Vkadaba 32:52445bef314d 1099 CORE_CHANNEL_EXCITATION_RESERVED = 1, /**< Reserved */
Vkadaba 32:52445bef314d 1100 CORE_CHANNEL_EXCITATION_IEXC_10UA = 2, /**< 10 \mu;A */
Vkadaba 32:52445bef314d 1101 CORE_CHANNEL_EXCITATION_RESERVED2 = 3, /**< Reserved */
Vkadaba 32:52445bef314d 1102 CORE_CHANNEL_EXCITATION_IEXC_50UA = 4, /**< 50 \mu;A */
Vkadaba 32:52445bef314d 1103 CORE_CHANNEL_EXCITATION_IEXC_100UA = 5, /**< 100 \mu;A */
Vkadaba 32:52445bef314d 1104 CORE_CHANNEL_EXCITATION_IEXC_250UA = 6, /**< 250 \mu;A */
Vkadaba 32:52445bef314d 1105 CORE_CHANNEL_EXCITATION_IEXC_500UA = 7, /**< 500 \mu;A */
Vkadaba 32:52445bef314d 1106 CORE_CHANNEL_EXCITATION_IEXC_1000UA = 8, /**< 1000 \mu;A */
Vkadaba 32:52445bef314d 1107 CORE_CHANNEL_EXCITATION_EXTERNAL = 15 /**< External current sourced */
Vkadaba 8:2f2775c34640 1108 } ADMW_CORE_Channel_Excitation_IOUT_Excitation_Current;
Vkadaba 5:0728bde67bdb 1109
Vkadaba 5:0728bde67bdb 1110
Vkadaba 44:94bdfaefddac 1111 /* =========================================================================
Vkadaba 44:94bdfaefddac 1112 *! \enum ADMW_CORE_Channel_Excitation_IOUT_Diode_Ratio
Vkadaba 44:94bdfaefddac 1113 *! \brief Modify Current Ratios Used for Diode Sensor (IOUT_Diode_Ratio) Enumerations
Vkadaba 44:94bdfaefddac 1114 * ========================================================================= */
Vkadaba 44:94bdfaefddac 1115 typedef enum
Vkadaba 44:94bdfaefddac 1116 {
Vkadaba 44:94bdfaefddac 1117 CORE_CHANNEL_EXCITATION_DIODE_2PT_10UA_100UA = 0, /**< 2 Current measurement 10uA 100uA */
Vkadaba 44:94bdfaefddac 1118 CORE_CHANNEL_EXCITATION_DIODE_2PT_20UA_160UA = 1, /**< 2 Current measurement 20uA 160uA */
Vkadaba 44:94bdfaefddac 1119 CORE_CHANNEL_EXCITATION_DIODE_2PT_50UA_300UA = 2, /**< 2 Current measurement 50uA 300uA */
Vkadaba 44:94bdfaefddac 1120 CORE_CHANNEL_EXCITATION_DIODE_2PT_100UA_600UA = 3, /**< 2 Current measurement 100uA 600uA */
Vkadaba 44:94bdfaefddac 1121 CORE_CHANNEL_EXCITATION_DIODE_3PT_10UA_50UA_100UA = 4, /**< 3 current measuremet 10uA 50uA 100uA */
Vkadaba 44:94bdfaefddac 1122 CORE_CHANNEL_EXCITATION_DIODE_3PT_20UA_100UA_160UA = 5, /**< 3 current measuremet 20uA 100uA 160uA */
Vkadaba 44:94bdfaefddac 1123 CORE_CHANNEL_EXCITATION_DIODE_3PT_50UA_150UA_300UA = 6, /**< 3 current measuremet 50uA 150uA 300uA */
Vkadaba 44:94bdfaefddac 1124 CORE_CHANNEL_EXCITATION_DIODE_3PT_100UA_300UA_600UA = 7 /**< 3 current measuremet 100uA 300uA 600uA */
Vkadaba 44:94bdfaefddac 1125 } ADMW_CORE_Channel_Excitation_IOUT_Diode_Ratio;
Vkadaba 44:94bdfaefddac 1126
Vkadaba 44:94bdfaefddac 1127
Vkadaba 5:0728bde67bdb 1128 /* ==========================================================================
Vkadaba 8:2f2775c34640 1129 *! \struct ADMW_CORE_Channel_Excitation_Struct
Vkadaba 5:0728bde67bdb 1130 *! \brief Excitation Current Register bit field structure
Vkadaba 5:0728bde67bdb 1131 * ========================================================================== */
Vkadaba 8:2f2775c34640 1132 typedef struct _ADMW_CORE_Channel_Excitation_t {
Vkadaba 5:0728bde67bdb 1133 union {
Vkadaba 5:0728bde67bdb 1134 struct {
Vkadaba 6:9d393a9677f4 1135 uint16_t IOUT_Excitation_Current : 4; /**< Current Source Value */
Vkadaba 44:94bdfaefddac 1136 uint16_t reserved4 : 2;
Vkadaba 44:94bdfaefddac 1137 uint16_t IOUT_Diode_Ratio : 3; /**< Modify Current Ratios Used for Diode Sensor */
Vkadaba 44:94bdfaefddac 1138 uint16_t reserved9 : 7;
Vkadaba 5:0728bde67bdb 1139 };
Vkadaba 6:9d393a9677f4 1140 uint16_t VALUE16;
Vkadaba 5:0728bde67bdb 1141 };
Vkadaba 8:2f2775c34640 1142 } ADMW_CORE_Channel_Excitation_t;
Vkadaba 5:0728bde67bdb 1143
Vkadaba 5:0728bde67bdb 1144 /*@}*/
Vkadaba 5:0728bde67bdb 1145
Vkadaba 5:0728bde67bdb 1146 /** @defgroup Settling_Time Settling Time (Settling_Time) Register
Vkadaba 5:0728bde67bdb 1147 * Settling Time (Settling_Time) Register.
Vkadaba 5:0728bde67bdb 1148 * @{
Vkadaba 5:0728bde67bdb 1149 */
Vkadaba 5:0728bde67bdb 1150
Vkadaba 5:0728bde67bdb 1151 /* ==========================================================================
Vkadaba 8:2f2775c34640 1152 *! \struct ADMW_CORE_Settling_Time_Struct
Vkadaba 5:0728bde67bdb 1153 *! \brief Settling Time Register bit field structure
Vkadaba 5:0728bde67bdb 1154 * ========================================================================== */
Vkadaba 8:2f2775c34640 1155 typedef struct _ADMW_CORE_Settling_Time_t {
Vkadaba 5:0728bde67bdb 1156 union {
Vkadaba 5:0728bde67bdb 1157 struct {
Vkadaba 50:d84305e5e1c0 1158 uint16_t Settling_Time : 8; /**< Additional Settling Time in Milliseconds. Max 255ms */
Vkadaba 50:d84305e5e1c0 1159 uint16_t reserved8 : 8;
Vkadaba 5:0728bde67bdb 1160 };
Vkadaba 5:0728bde67bdb 1161 uint16_t VALUE16;
Vkadaba 5:0728bde67bdb 1162 };
Vkadaba 8:2f2775c34640 1163 } ADMW_CORE_Settling_Time_t;
Vkadaba 5:0728bde67bdb 1164
Vkadaba 5:0728bde67bdb 1165 /*@}*/
Vkadaba 5:0728bde67bdb 1166
Vkadaba 32:52445bef314d 1167 /** @defgroup Measurement_Setup ADC Measurement Setup (Measurement_Setup) Register
Vkadaba 32:52445bef314d 1168 * ADC Measurement Setup (Measurement_Setup) Register.
Vkadaba 5:0728bde67bdb 1169 * @{
Vkadaba 5:0728bde67bdb 1170 */
Vkadaba 5:0728bde67bdb 1171
Vkadaba 5:0728bde67bdb 1172 /* =========================================================================
Vkadaba 8:2f2775c34640 1173 *! \enum ADMW_CORE_Measurement_Setup_NOTCH_EN_2
Vkadaba 6:9d393a9677f4 1174 *! \brief Enable Notch 2 Filter Mode (NOTCH_EN_2) Enumerations
Vkadaba 6:9d393a9677f4 1175 * ========================================================================= */
Vkadaba 6:9d393a9677f4 1176 typedef enum
Vkadaba 6:9d393a9677f4 1177 {
Vkadaba 32:52445bef314d 1178 CORE_MEASUREMENT_SETUP_NOTCH_DIS = 0, /**< Disable notch filter */
Vkadaba 32:52445bef314d 1179 CORE_MEASUREMENT_SETUP_NOTCH_EN = 1 /**< Enable notch 2 filter option. */
Vkadaba 8:2f2775c34640 1180 } ADMW_CORE_Measurement_Setup_NOTCH_EN_2;
Vkadaba 6:9d393a9677f4 1181
Vkadaba 44:94bdfaefddac 1182
Vkadaba 8:2f2775c34640 1183 /* =========================================================================
Vkadaba 8:2f2775c34640 1184 *! \enum ADMW_CORE_Measurement_Setup_Chop_Mode
Vkadaba 6:9d393a9677f4 1185 *! \brief Enabled and Disable Chop Mode (Chop_Mode) Enumerations
Vkadaba 6:9d393a9677f4 1186 * ========================================================================= */
Vkadaba 6:9d393a9677f4 1187 typedef enum
Vkadaba 6:9d393a9677f4 1188 {
Vkadaba 58:aa9cd5072f66 1189 CORE_MEASUREMENT_SETUP_DISABLE_CHOP = 0, /**< ADC front end chopping disabled */
Vkadaba 58:aa9cd5072f66 1190 CORE_MEASUREMENT_SETUP_ENABLE_CHOP = 1 /**< ADC front end chopping enabled */
Vkadaba 8:2f2775c34640 1191 } ADMW_CORE_Measurement_Setup_Chop_Mode;
Vkadaba 6:9d393a9677f4 1192
Vkadaba 6:9d393a9677f4 1193
Vkadaba 6:9d393a9677f4 1194 /* =========================================================================
Vkadaba 8:2f2775c34640 1195 *! \enum ADMW_CORE_Measurement_Setup_ADC_Filter_Type
Vkadaba 5:0728bde67bdb 1196 *! \brief ADC Digital Filter Type (ADC_Filter_Type) Enumerations
Vkadaba 5:0728bde67bdb 1197 * ========================================================================= */
Vkadaba 5:0728bde67bdb 1198 typedef enum
Vkadaba 5:0728bde67bdb 1199 {
Vkadaba 32:52445bef314d 1200 CORE_MEASUREMENT_SETUP_ENABLE_SINC4 = 0, /**< Enabled SINC4 filter */
Vkadaba 32:52445bef314d 1201 CORE_MEASUREMENT_SETUP_ENABLE_SINC3 = 1 /**< Enabled SINC3 filter */
Vkadaba 8:2f2775c34640 1202 } ADMW_CORE_Measurement_Setup_ADC_Filter_Type;
Vkadaba 6:9d393a9677f4 1203
Vkadaba 6:9d393a9677f4 1204
Vkadaba 6:9d393a9677f4 1205 /* =========================================================================
Vkadaba 8:2f2775c34640 1206 *! \enum ADMW_CORE_Measurement_Setup_Buffer_Bypass
Vkadaba 8:2f2775c34640 1207 *! \brief Disable Buffers (Buffer_Bypass) Enumerations
Vkadaba 8:2f2775c34640 1208 * ========================================================================= */
Vkadaba 8:2f2775c34640 1209 typedef enum
Vkadaba 8:2f2775c34640 1210 {
Vkadaba 32:52445bef314d 1211 CORE_MEASUREMENT_SETUP_BUFFERS_ENABLED = 0, /**< Input buffers enabled */
Vkadaba 32:52445bef314d 1212 CORE_MEASUREMENT_SETUP_BUFFERS_DISABLED = 1 /**< Input buffers disabled */
Vkadaba 8:2f2775c34640 1213 } ADMW_CORE_Measurement_Setup_Buffer_Bypass;
Vkadaba 5:0728bde67bdb 1214
Vkadaba 5:0728bde67bdb 1215
Vkadaba 5:0728bde67bdb 1216 /* ==========================================================================
Vkadaba 8:2f2775c34640 1217 *! \struct ADMW_CORE_Measurement_Setup_Struct
Vkadaba 32:52445bef314d 1218 *! \brief ADC Measurement Setup Register bit field structure
Vkadaba 5:0728bde67bdb 1219 * ========================================================================== */
Vkadaba 8:2f2775c34640 1220 typedef struct _ADMW_CORE_Measurement_Setup_t {
Vkadaba 5:0728bde67bdb 1221 union {
Vkadaba 5:0728bde67bdb 1222 struct {
Vkadaba 32:52445bef314d 1223 uint32_t ADC_SF : 7; /**< ADC Digital Filter Speed */
Vkadaba 32:52445bef314d 1224 uint32_t reserved7 : 1;
Vkadaba 32:52445bef314d 1225 uint32_t NOTCH_EN_2 : 1; /**< Enable Notch 2 Filter Mode */
Vkadaba 43:e1789b7214cf 1226 uint32_t reserved9 : 1;
Vkadaba 58:aa9cd5072f66 1227 uint32_t Chop_Mode : 1; /**< Enabled and Disable Chop Mode */
Vkadaba 58:aa9cd5072f66 1228 uint32_t reserved11 : 1;
Vkadaba 43:e1789b7214cf 1229 uint32_t ADC_Filter_Type : 1; /**< ADC Digital Filter Type */
Vkadaba 43:e1789b7214cf 1230 uint32_t reserved13 : 2;
Vkadaba 43:e1789b7214cf 1231 uint32_t Buffer_Bypass : 1; /**< Disable Buffers */
Vkadaba 43:e1789b7214cf 1232 uint32_t reserved16 : 16;
Vkadaba 5:0728bde67bdb 1233 };
Vkadaba 5:0728bde67bdb 1234 uint32_t VALUE32;
Vkadaba 5:0728bde67bdb 1235 };
Vkadaba 8:2f2775c34640 1236 } ADMW_CORE_Measurement_Setup_t;
Vkadaba 5:0728bde67bdb 1237
Vkadaba 5:0728bde67bdb 1238 /*@}*/
Vkadaba 5:0728bde67bdb 1239
Vkadaba 58:aa9cd5072f66 1240 /** @defgroup Ideality_Factor Diode Ideality Factor Register (Ideality_Factor) Register
Vkadaba 58:aa9cd5072f66 1241 * Diode Ideality Factor Register (Ideality_Factor) Register.
Vkadaba 58:aa9cd5072f66 1242 * @{
Vkadaba 58:aa9cd5072f66 1243 */
Vkadaba 58:aa9cd5072f66 1244
Vkadaba 58:aa9cd5072f66 1245 /* ==========================================================================
Vkadaba 58:aa9cd5072f66 1246 *! \struct ADMW_CORE_Ideality_Factor_Struct
Vkadaba 58:aa9cd5072f66 1247 *! \brief Diode Ideality Factor Register bit field structure
Vkadaba 58:aa9cd5072f66 1248 * ========================================================================== */
Vkadaba 58:aa9cd5072f66 1249 typedef struct _ADMW_CORE_Ideality_Factor_t {
Vkadaba 58:aa9cd5072f66 1250 union {
Vkadaba 58:aa9cd5072f66 1251 struct {
Vkadaba 58:aa9cd5072f66 1252 float32_t Ideality_Factor; /**< Diode Ideality Factor, Default 1.003. */
Vkadaba 58:aa9cd5072f66 1253 };
Vkadaba 58:aa9cd5072f66 1254 float32_t VALUE32;
Vkadaba 58:aa9cd5072f66 1255 };
Vkadaba 58:aa9cd5072f66 1256 } ADMW_CORE_Ideality_Factor_t;
Vkadaba 58:aa9cd5072f66 1257
Vkadaba 58:aa9cd5072f66 1258 /*@}*/
Vkadaba 58:aa9cd5072f66 1259
Vkadaba 5:0728bde67bdb 1260 /** @defgroup High_Threshold_Limit High Threshold (High_Threshold_Limit) Register
Vkadaba 5:0728bde67bdb 1261 * High Threshold (High_Threshold_Limit) Register.
Vkadaba 5:0728bde67bdb 1262 * @{
Vkadaba 5:0728bde67bdb 1263 */
Vkadaba 5:0728bde67bdb 1264
Vkadaba 5:0728bde67bdb 1265 /* ==========================================================================
Vkadaba 8:2f2775c34640 1266 *! \struct ADMW_CORE_High_Threshold_Limit_Struct
Vkadaba 5:0728bde67bdb 1267 *! \brief High Threshold Register bit field structure
Vkadaba 5:0728bde67bdb 1268 * ========================================================================== */
Vkadaba 8:2f2775c34640 1269 typedef struct _ADMW_CORE_High_Threshold_Limit_t {
Vkadaba 5:0728bde67bdb 1270 union {
Vkadaba 5:0728bde67bdb 1271 struct {
Vkadaba 5:0728bde67bdb 1272 float High_Threshold; /**< Upper Limit for Sensor Alert Comparison */
Vkadaba 5:0728bde67bdb 1273 };
Vkadaba 5:0728bde67bdb 1274 float VALUE32;
Vkadaba 5:0728bde67bdb 1275 };
Vkadaba 8:2f2775c34640 1276 } ADMW_CORE_High_Threshold_Limit_t;
Vkadaba 5:0728bde67bdb 1277
Vkadaba 5:0728bde67bdb 1278 /*@}*/
Vkadaba 5:0728bde67bdb 1279
Vkadaba 5:0728bde67bdb 1280 /** @defgroup Low_Threshold_Limit Low Threshold (Low_Threshold_Limit) Register
Vkadaba 5:0728bde67bdb 1281 * Low Threshold (Low_Threshold_Limit) Register.
Vkadaba 5:0728bde67bdb 1282 * @{
Vkadaba 5:0728bde67bdb 1283 */
Vkadaba 5:0728bde67bdb 1284
Vkadaba 5:0728bde67bdb 1285 /* ==========================================================================
Vkadaba 8:2f2775c34640 1286 *! \struct ADMW_CORE_Low_Threshold_Limit_Struct
Vkadaba 5:0728bde67bdb 1287 *! \brief Low Threshold Register bit field structure
Vkadaba 5:0728bde67bdb 1288 * ========================================================================== */
Vkadaba 8:2f2775c34640 1289 typedef struct _ADMW_CORE_Low_Threshold_Limit_t {
Vkadaba 5:0728bde67bdb 1290 union {
Vkadaba 5:0728bde67bdb 1291 struct {
Vkadaba 5:0728bde67bdb 1292 float Low_Threshold; /**< Lower Limit for Sensor Alert Comparison */
Vkadaba 5:0728bde67bdb 1293 };
Vkadaba 5:0728bde67bdb 1294 float VALUE32;
Vkadaba 5:0728bde67bdb 1295 };
Vkadaba 8:2f2775c34640 1296 } ADMW_CORE_Low_Threshold_Limit_t;
Vkadaba 5:0728bde67bdb 1297
Vkadaba 5:0728bde67bdb 1298 /*@}*/
Vkadaba 5:0728bde67bdb 1299
Vkadaba 5:0728bde67bdb 1300 /** @defgroup Sensor_Offset Sensor Offset Adjustment (Sensor_Offset) Register
Vkadaba 5:0728bde67bdb 1301 * Sensor Offset Adjustment (Sensor_Offset) Register.
Vkadaba 5:0728bde67bdb 1302 * @{
Vkadaba 5:0728bde67bdb 1303 */
Vkadaba 5:0728bde67bdb 1304
Vkadaba 5:0728bde67bdb 1305 /* ==========================================================================
Vkadaba 8:2f2775c34640 1306 *! \struct ADMW_CORE_Sensor_Offset_Struct
Vkadaba 5:0728bde67bdb 1307 *! \brief Sensor Offset Adjustment Register bit field structure
Vkadaba 5:0728bde67bdb 1308 * ========================================================================== */
Vkadaba 8:2f2775c34640 1309 typedef struct _ADMW_CORE_Sensor_Offset_t {
Vkadaba 5:0728bde67bdb 1310 union {
Vkadaba 5:0728bde67bdb 1311 struct {
Vkadaba 5:0728bde67bdb 1312 float Sensor_Offset; /**< Sensor Offset Adjustment */
Vkadaba 5:0728bde67bdb 1313 };
Vkadaba 5:0728bde67bdb 1314 float VALUE32;
Vkadaba 5:0728bde67bdb 1315 };
Vkadaba 8:2f2775c34640 1316 } ADMW_CORE_Sensor_Offset_t;
Vkadaba 5:0728bde67bdb 1317
Vkadaba 5:0728bde67bdb 1318 /*@}*/
Vkadaba 5:0728bde67bdb 1319
Vkadaba 5:0728bde67bdb 1320 /** @defgroup Sensor_Gain Sensor Gain Adjustment (Sensor_Gain) Register
Vkadaba 5:0728bde67bdb 1321 * Sensor Gain Adjustment (Sensor_Gain) Register.
Vkadaba 5:0728bde67bdb 1322 * @{
Vkadaba 5:0728bde67bdb 1323 */
Vkadaba 5:0728bde67bdb 1324
Vkadaba 5:0728bde67bdb 1325 /* ==========================================================================
Vkadaba 8:2f2775c34640 1326 *! \struct ADMW_CORE_Sensor_Gain_Struct
Vkadaba 5:0728bde67bdb 1327 *! \brief Sensor Gain Adjustment Register bit field structure
Vkadaba 5:0728bde67bdb 1328 * ========================================================================== */
Vkadaba 8:2f2775c34640 1329 typedef struct _ADMW_CORE_Sensor_Gain_t {
Vkadaba 5:0728bde67bdb 1330 union {
Vkadaba 5:0728bde67bdb 1331 struct {
Vkadaba 5:0728bde67bdb 1332 float Sensor_Gain; /**< Sensor Gain Adjustment */
Vkadaba 5:0728bde67bdb 1333 };
Vkadaba 5:0728bde67bdb 1334 float VALUE32;
Vkadaba 5:0728bde67bdb 1335 };
Vkadaba 8:2f2775c34640 1336 } ADMW_CORE_Sensor_Gain_t;
Vkadaba 5:0728bde67bdb 1337
Vkadaba 5:0728bde67bdb 1338 /*@}*/
Vkadaba 5:0728bde67bdb 1339
Vkadaba 5:0728bde67bdb 1340 /** @defgroup Channel_Skip Indicates If Channel Will Skip Some Measurement Cycles (Channel_Skip) Register
Vkadaba 5:0728bde67bdb 1341 * Indicates If Channel Will Skip Some Measurement Cycles (Channel_Skip) Register.
Vkadaba 5:0728bde67bdb 1342 * @{
Vkadaba 5:0728bde67bdb 1343 */
Vkadaba 5:0728bde67bdb 1344
Vkadaba 5:0728bde67bdb 1345 /* ==========================================================================
Vkadaba 8:2f2775c34640 1346 *! \struct ADMW_CORE_Channel_Skip_Struct
Vkadaba 5:0728bde67bdb 1347 *! \brief Indicates If Channel Will Skip Some Measurement Cycles Register bit field structure
Vkadaba 5:0728bde67bdb 1348 * ========================================================================== */
Vkadaba 8:2f2775c34640 1349 typedef struct _ADMW_CORE_Channel_Skip_t {
Vkadaba 5:0728bde67bdb 1350 union {
Vkadaba 5:0728bde67bdb 1351 struct {
Vkadaba 5:0728bde67bdb 1352 uint16_t Channel_Skip : 8; /**< Indicates If Channel Will Skip Some Measurement Cycles */
Vkadaba 5:0728bde67bdb 1353 uint16_t reserved8 : 8;
Vkadaba 5:0728bde67bdb 1354 };
Vkadaba 5:0728bde67bdb 1355 uint16_t VALUE16;
Vkadaba 5:0728bde67bdb 1356 };
Vkadaba 8:2f2775c34640 1357 } ADMW_CORE_Channel_Skip_t;
Vkadaba 5:0728bde67bdb 1358
Vkadaba 5:0728bde67bdb 1359 /*@}*/
Vkadaba 5:0728bde67bdb 1360
Vkadaba 44:94bdfaefddac 1361 /** @defgroup Sensor_Parameter Sensor Parameter Adjustment (Sensor_Parameter) Register
Vkadaba 44:94bdfaefddac 1362 * Sensor Parameter Adjustment (Sensor_Parameter) Register.
Vkadaba 44:94bdfaefddac 1363 * @{
Vkadaba 44:94bdfaefddac 1364 */
Vkadaba 44:94bdfaefddac 1365
Vkadaba 44:94bdfaefddac 1366 /* ==========================================================================
Vkadaba 44:94bdfaefddac 1367 *! \struct ADMW_CORE_Sensor_Parameter_Struct
Vkadaba 44:94bdfaefddac 1368 *! \brief Sensor Parameter Adjustment Register bit field structure
Vkadaba 44:94bdfaefddac 1369 * ========================================================================== */
Vkadaba 44:94bdfaefddac 1370 typedef struct _ADMW_CORE_Sensor_Parameter_t {
Vkadaba 44:94bdfaefddac 1371 union {
Vkadaba 44:94bdfaefddac 1372 struct {
Vkadaba 44:94bdfaefddac 1373 float Sensor_Parameter; /**< Sensor Parameter Adjustment */
Vkadaba 44:94bdfaefddac 1374 };
Vkadaba 44:94bdfaefddac 1375 float VALUE32;
Vkadaba 44:94bdfaefddac 1376 };
Vkadaba 44:94bdfaefddac 1377 } ADMW_CORE_Sensor_Parameter_t;
Vkadaba 44:94bdfaefddac 1378
Vkadaba 44:94bdfaefddac 1379 /*@}*/
Vkadaba 44:94bdfaefddac 1380
Vkadaba 5:0728bde67bdb 1381 /** @defgroup Digital_Sensor_Config Digital Sensor Data Coding (Digital_Sensor_Config) Register
Vkadaba 5:0728bde67bdb 1382 * Digital Sensor Data Coding (Digital_Sensor_Config) Register.
Vkadaba 5:0728bde67bdb 1383 * @{
Vkadaba 5:0728bde67bdb 1384 */
Vkadaba 5:0728bde67bdb 1385
Vkadaba 5:0728bde67bdb 1386 /* =========================================================================
Vkadaba 8:2f2775c34640 1387 *! \enum ADMW_CORE_Digital_Sensor_Config_Digital_Sensor_Coding
Vkadaba 5:0728bde67bdb 1388 *! \brief Data Encoding of Sensor Result (Digital_Sensor_Coding) Enumerations
Vkadaba 5:0728bde67bdb 1389 * ========================================================================= */
Vkadaba 5:0728bde67bdb 1390 typedef enum
Vkadaba 5:0728bde67bdb 1391 {
Vkadaba 5:0728bde67bdb 1392 CORE_DIGITAL_SENSOR_CONFIG_CODING_NONE = 0, /**< None/Invalid */
Vkadaba 5:0728bde67bdb 1393 CORE_DIGITAL_SENSOR_CONFIG_CODING_UNIPOLAR = 1, /**< Unipolar */
Vkadaba 32:52445bef314d 1394 CORE_DIGITAL_SENSOR_CONFIG_CODING_TWOS_COMPL = 2, /**< Twos complement */
Vkadaba 32:52445bef314d 1395 CORE_DIGITAL_SENSOR_CONFIG_CODING_OFFSET_BINARY = 3 /**< Offset binary */
Vkadaba 8:2f2775c34640 1396 } ADMW_CORE_Digital_Sensor_Config_Digital_Sensor_Coding;
Vkadaba 5:0728bde67bdb 1397
Vkadaba 5:0728bde67bdb 1398
Vkadaba 5:0728bde67bdb 1399 /* ==========================================================================
Vkadaba 8:2f2775c34640 1400 *! \struct ADMW_CORE_Digital_Sensor_Config_Struct
Vkadaba 5:0728bde67bdb 1401 *! \brief Digital Sensor Data Coding Register bit field structure
Vkadaba 5:0728bde67bdb 1402 * ========================================================================== */
Vkadaba 8:2f2775c34640 1403 typedef struct _ADMW_CORE_Digital_Sensor_Config_t {
Vkadaba 5:0728bde67bdb 1404 union {
Vkadaba 5:0728bde67bdb 1405 struct {
Vkadaba 5:0728bde67bdb 1406 uint16_t Digital_Sensor_Coding : 2; /**< Data Encoding of Sensor Result */
Vkadaba 5:0728bde67bdb 1407 uint16_t Digital_Sensor_Little_Endian : 1; /**< Data Endianness of Sensor Result */
Vkadaba 5:0728bde67bdb 1408 uint16_t Digital_Sensor_Left_Aligned : 1; /**< Data Alignment Within the Data Frame */
Vkadaba 5:0728bde67bdb 1409 uint16_t Digital_Sensor_Bit_Offset : 4; /**< Data Bit Offset, Relative to Alignment */
Vkadaba 5:0728bde67bdb 1410 uint16_t Digital_Sensor_Read_Bytes : 3; /**< Number of Bytes to Read from the Sensor */
Vkadaba 5:0728bde67bdb 1411 uint16_t Digital_Sensor_Data_Bits : 5; /**< Number of Relevant Data Bits */
Vkadaba 5:0728bde67bdb 1412 };
Vkadaba 5:0728bde67bdb 1413 uint16_t VALUE16;
Vkadaba 5:0728bde67bdb 1414 };
Vkadaba 8:2f2775c34640 1415 } ADMW_CORE_Digital_Sensor_Config_t;
Vkadaba 5:0728bde67bdb 1416
Vkadaba 5:0728bde67bdb 1417 /*@}*/
Vkadaba 5:0728bde67bdb 1418
Vkadaba 5:0728bde67bdb 1419 /** @defgroup Digital_Sensor_Address Sensor Address (Digital_Sensor_Address) Register
Vkadaba 5:0728bde67bdb 1420 * Sensor Address (Digital_Sensor_Address) Register.
Vkadaba 5:0728bde67bdb 1421 * @{
Vkadaba 5:0728bde67bdb 1422 */
Vkadaba 5:0728bde67bdb 1423
Vkadaba 5:0728bde67bdb 1424 /* ==========================================================================
Vkadaba 8:2f2775c34640 1425 *! \struct ADMW_CORE_Digital_Sensor_Address_Struct
Vkadaba 5:0728bde67bdb 1426 *! \brief Sensor Address Register bit field structure
Vkadaba 5:0728bde67bdb 1427 * ========================================================================== */
Vkadaba 8:2f2775c34640 1428 typedef struct _ADMW_CORE_Digital_Sensor_Address_t {
Vkadaba 5:0728bde67bdb 1429 union {
Vkadaba 5:0728bde67bdb 1430 struct {
Vkadaba 5:0728bde67bdb 1431 uint8_t Digital_Sensor_Address : 8; /**< I2C Address or Write Address Command for SPI Sensor */
Vkadaba 5:0728bde67bdb 1432 };
Vkadaba 5:0728bde67bdb 1433 uint8_t VALUE8;
Vkadaba 5:0728bde67bdb 1434 };
Vkadaba 8:2f2775c34640 1435 } ADMW_CORE_Digital_Sensor_Address_t;
Vkadaba 5:0728bde67bdb 1436
Vkadaba 5:0728bde67bdb 1437 /*@}*/
Vkadaba 5:0728bde67bdb 1438
Vkadaba 5:0728bde67bdb 1439 /** @defgroup Digital_Sensor_Comms Digital Sensor Communication Clock Configuration (Digital_Sensor_Comms) Register
Vkadaba 5:0728bde67bdb 1440 * Digital Sensor Communication Clock Configuration (Digital_Sensor_Comms) Register.
Vkadaba 5:0728bde67bdb 1441 * @{
Vkadaba 5:0728bde67bdb 1442 */
Vkadaba 5:0728bde67bdb 1443
Vkadaba 5:0728bde67bdb 1444 /* =========================================================================
Vkadaba 8:2f2775c34640 1445 *! \enum ADMW_CORE_Digital_Sensor_Comms_SPI_Clock
Vkadaba 5:0728bde67bdb 1446 *! \brief Controls Clock Frequency for SPI Sensors (SPI_Clock) Enumerations
Vkadaba 5:0728bde67bdb 1447 * ========================================================================= */
Vkadaba 5:0728bde67bdb 1448 typedef enum
Vkadaba 5:0728bde67bdb 1449 {
Vkadaba 8:2f2775c34640 1450 CORE_DIGITAL_SENSOR_COMMS_SPI_8MHZ = 0, /**< 8MHz */
Vkadaba 8:2f2775c34640 1451 CORE_DIGITAL_SENSOR_COMMS_SPI_4MHZ = 1, /**< 4MHz */
Vkadaba 8:2f2775c34640 1452 CORE_DIGITAL_SENSOR_COMMS_SPI_2MHZ = 2, /**< 2MHz */
Vkadaba 8:2f2775c34640 1453 CORE_DIGITAL_SENSOR_COMMS_SPI_1MHZ = 3, /**< 1MHz */
Vkadaba 8:2f2775c34640 1454 CORE_DIGITAL_SENSOR_COMMS_SPI_500KHZ = 4, /**< 500kHz */
Vkadaba 8:2f2775c34640 1455 CORE_DIGITAL_SENSOR_COMMS_SPI_250KHZ = 5, /**< 250kHz */
Vkadaba 8:2f2775c34640 1456 CORE_DIGITAL_SENSOR_COMMS_SPI_125KHZ = 6, /**< 125kHz */
Vkadaba 8:2f2775c34640 1457 CORE_DIGITAL_SENSOR_COMMS_SPI_62P5KHZ = 7, /**< 62.5kHz */
Vkadaba 8:2f2775c34640 1458 CORE_DIGITAL_SENSOR_COMMS_SPI_31P3KHZ = 8, /**< 31.25kHz */
Vkadaba 8:2f2775c34640 1459 CORE_DIGITAL_SENSOR_COMMS_SPI_15P6KHZ = 9, /**< 15.625kHz */
Vkadaba 8:2f2775c34640 1460 CORE_DIGITAL_SENSOR_COMMS_SPI_7P8KHZ = 10, /**< 7.8kHz */
Vkadaba 8:2f2775c34640 1461 CORE_DIGITAL_SENSOR_COMMS_SPI_3P9KHZ = 11, /**< 3.9kHz */
Vkadaba 8:2f2775c34640 1462 CORE_DIGITAL_SENSOR_COMMS_SPI_1P9KHZ = 12, /**< 1.95kHz */
Vkadaba 8:2f2775c34640 1463 CORE_DIGITAL_SENSOR_COMMS_SPI_977HZ = 13, /**< 977Hz */
Vkadaba 8:2f2775c34640 1464 CORE_DIGITAL_SENSOR_COMMS_SPI_488HZ = 14, /**< 488Hz */
Vkadaba 8:2f2775c34640 1465 CORE_DIGITAL_SENSOR_COMMS_SPI_244HZ = 15 /**< 244Hz */
Vkadaba 8:2f2775c34640 1466 } ADMW_CORE_Digital_Sensor_Comms_SPI_Clock;
Vkadaba 5:0728bde67bdb 1467
Vkadaba 5:0728bde67bdb 1468
Vkadaba 5:0728bde67bdb 1469 /* =========================================================================
Vkadaba 8:2f2775c34640 1470 *! \enum ADMW_CORE_Digital_Sensor_Comms_I2C_Clock
Vkadaba 5:0728bde67bdb 1471 *! \brief Controls SCLK Frequency for I2C Sensors (I2C_Clock) Enumerations
Vkadaba 5:0728bde67bdb 1472 * ========================================================================= */
Vkadaba 5:0728bde67bdb 1473 typedef enum
Vkadaba 5:0728bde67bdb 1474 {
Vkadaba 5:0728bde67bdb 1475 CORE_DIGITAL_SENSOR_COMMS_I2C_100K = 0, /**< 100kHz SCL */
Vkadaba 5:0728bde67bdb 1476 CORE_DIGITAL_SENSOR_COMMS_I2C_400K = 1, /**< 400kHz SCL */
Vkadaba 5:0728bde67bdb 1477 CORE_DIGITAL_SENSOR_COMMS_I2C_RESERVED1 = 2, /**< Reserved */
Vkadaba 5:0728bde67bdb 1478 CORE_DIGITAL_SENSOR_COMMS_I2C_RESERVED2 = 3 /**< Reserved */
Vkadaba 8:2f2775c34640 1479 } ADMW_CORE_Digital_Sensor_Comms_I2C_Clock;
Vkadaba 5:0728bde67bdb 1480
Vkadaba 5:0728bde67bdb 1481
Vkadaba 5:0728bde67bdb 1482 /* =========================================================================
Vkadaba 8:2f2775c34640 1483 *! \enum ADMW_CORE_Digital_Sensor_Comms_SPI_Mode
Vkadaba 5:0728bde67bdb 1484 *! \brief Configuration for Sensor SPI Protocol (SPI_Mode) Enumerations
Vkadaba 5:0728bde67bdb 1485 * ========================================================================= */
Vkadaba 5:0728bde67bdb 1486 typedef enum
Vkadaba 5:0728bde67bdb 1487 {
Vkadaba 32:52445bef314d 1488 CORE_DIGITAL_SENSOR_COMMS_SPI_MODE_0 = 0, /**< Clock polarity = 0 Clock phase = 0 */
Vkadaba 32:52445bef314d 1489 CORE_DIGITAL_SENSOR_COMMS_SPI_MODE_1 = 1, /**< Clock polarity = 0 Clock phase = 1 */
Vkadaba 32:52445bef314d 1490 CORE_DIGITAL_SENSOR_COMMS_SPI_MODE_2 = 2, /**< Clock polarity = 1 Clock phase = 0 */
Vkadaba 32:52445bef314d 1491 CORE_DIGITAL_SENSOR_COMMS_SPI_MODE_3 = 3 /**< Clock polarity = 1 Clock phase = 1 */
Vkadaba 8:2f2775c34640 1492 } ADMW_CORE_Digital_Sensor_Comms_SPI_Mode;
Vkadaba 5:0728bde67bdb 1493
Vkadaba 5:0728bde67bdb 1494
Vkadaba 5:0728bde67bdb 1495 /* ==========================================================================
Vkadaba 8:2f2775c34640 1496 *! \struct ADMW_CORE_Digital_Sensor_Comms_Struct
Vkadaba 5:0728bde67bdb 1497 *! \brief Digital Sensor Communication Clock Configuration Register bit field structure
Vkadaba 5:0728bde67bdb 1498 * ========================================================================== */
Vkadaba 8:2f2775c34640 1499 typedef struct _ADMW_CORE_Digital_Sensor_Comms_t {
Vkadaba 5:0728bde67bdb 1500 union {
Vkadaba 5:0728bde67bdb 1501 struct {
Vkadaba 50:d84305e5e1c0 1502 uint16_t reserved0 : 1;
Vkadaba 50:d84305e5e1c0 1503 uint16_t SPI_Clock : 4; /**< Controls Clock Frequency for SPI Sensors */
Vkadaba 50:d84305e5e1c0 1504 uint16_t I2C_Clock : 2; /**< Controls SCLK Frequency for I2C Sensors */
Vkadaba 50:d84305e5e1c0 1505 uint16_t reserved7 : 3;
Vkadaba 50:d84305e5e1c0 1506 uint16_t SPI_Mode : 2; /**< Configuration for Sensor SPI Protocol */
Vkadaba 50:d84305e5e1c0 1507 uint16_t reserved12 : 4;
Vkadaba 5:0728bde67bdb 1508 };
Vkadaba 5:0728bde67bdb 1509 uint16_t VALUE16;
Vkadaba 5:0728bde67bdb 1510 };
Vkadaba 8:2f2775c34640 1511 } ADMW_CORE_Digital_Sensor_Comms_t;
Vkadaba 5:0728bde67bdb 1512
Vkadaba 5:0728bde67bdb 1513 /*@}*/
Vkadaba 5:0728bde67bdb 1514
Vkadaba 5:0728bde67bdb 1515
Vkadaba 5:0728bde67bdb 1516 #if defined (__CC_ARM)
Vkadaba 5:0728bde67bdb 1517 #pragma pop
Vkadaba 50:d84305e5e1c0 1518 #endif
Vkadaba 5:0728bde67bdb 1519
Vkadaba 5:0728bde67bdb 1520 #endif