SDMP_IOT / Mbed OS AdiSense1000_SmartBabySeat

Fork of Babyseat_NewFirmware_copy_sean by Ross O'Halloran

Committer:
kevin1990
Date:
Fri Aug 25 11:17:37 2017 +0000
Revision:
2:625a45555a85
Sensor Channel 0 Type K example

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kevin1990 2:625a45555a85 1 /* ================================================================================
kevin1990 2:625a45555a85 2
kevin1990 2:625a45555a85 3 Created by : sherry
kevin1990 2:625a45555a85 4 Created on : 2017 Jul 27, 19:13 IST
kevin1990 2:625a45555a85 5
kevin1990 2:625a45555a85 6 Project : ADISENSE1000_REGISTERS
kevin1990 2:625a45555a85 7 File : ADISENSE1000_REGISTERS_device.h
kevin1990 2:625a45555a85 8 Description : C Register Definitions
kevin1990 2:625a45555a85 9
kevin1990 2:625a45555a85 10 !! ADI Confidential !!
kevin1990 2:625a45555a85 11 INTERNAL USE ONLY
kevin1990 2:625a45555a85 12
kevin1990 2:625a45555a85 13 Copyright (c) 2017 Analog Devices, Inc. All Rights Reserved.
kevin1990 2:625a45555a85 14 This software is proprietary and confidential to Analog Devices, Inc. and
kevin1990 2:625a45555a85 15 its licensors.
kevin1990 2:625a45555a85 16
kevin1990 2:625a45555a85 17 This file was auto-generated. Do not make local changes to this file.
kevin1990 2:625a45555a85 18
kevin1990 2:625a45555a85 19 Auto generation script information:
kevin1990 2:625a45555a85 20 Script: /usr/cadtools/bin/yoda.dir/generators/inc/genHeaders
kevin1990 2:625a45555a85 21 Last modified: 26-MAY-2017
kevin1990 2:625a45555a85 22
kevin1990 2:625a45555a85 23 ================================================================================ */
kevin1990 2:625a45555a85 24
kevin1990 2:625a45555a85 25 #ifndef _ADISENSE1000_REGISTERS_DEVICE_H
kevin1990 2:625a45555a85 26 #define _ADISENSE1000_REGISTERS_DEVICE_H
kevin1990 2:625a45555a85 27
kevin1990 2:625a45555a85 28 /* pickup integer types */
kevin1990 2:625a45555a85 29 #if defined(_LANGUAGE_C) || (defined(__GNUC__) && !defined(__ASSEMBLER__))
kevin1990 2:625a45555a85 30 #include <stdint.h>
kevin1990 2:625a45555a85 31 #endif /* _LANGUAGE_C */
kevin1990 2:625a45555a85 32
kevin1990 2:625a45555a85 33 /* pickup register bitfield and bit masks */
kevin1990 2:625a45555a85 34 #include "ADISENSE1000_REGISTERS_typedefs.h"
kevin1990 2:625a45555a85 35
kevin1990 2:625a45555a85 36 #if defined ( __CC_ARM )
kevin1990 2:625a45555a85 37 #pragma push
kevin1990 2:625a45555a85 38 #pragma anon_unions
kevin1990 2:625a45555a85 39 #endif
kevin1990 2:625a45555a85 40
kevin1990 2:625a45555a85 41
kevin1990 2:625a45555a85 42 #ifndef __IO
kevin1990 2:625a45555a85 43 #define __I volatile /* read-only */
kevin1990 2:625a45555a85 44 #define __C
kevin1990 2:625a45555a85 45 #define __RC const /* read-only memory ROM*/
kevin1990 2:625a45555a85 46 #define __O volatile /* write-only */
kevin1990 2:625a45555a85 47 #define __IO volatile /* read-write */
kevin1990 2:625a45555a85 48 #endif
kevin1990 2:625a45555a85 49 /** @defgroup SPI (SPI) Module
kevin1990 2:625a45555a85 50 *
kevin1990 2:625a45555a85 51 * @{
kevin1990 2:625a45555a85 52 */
kevin1990 2:625a45555a85 53
kevin1990 2:625a45555a85 54 /*! ==========================================================================
kevin1990 2:625a45555a85 55 * \struct ADI_SPI_TypeDef
kevin1990 2:625a45555a85 56 * \brief
kevin1990 2:625a45555a85 57 * ========================================================================== */
kevin1990 2:625a45555a85 58 typedef struct _ADI_SENSE_SPI_TypeDef
kevin1990 2:625a45555a85 59 {
kevin1990 2:625a45555a85 60 __IO uint8_t INTERFACE_CONFIG_A; /*!< */
kevin1990 2:625a45555a85 61 __IO uint8_t INTERFACE_CONFIG_B; /*!< */
kevin1990 2:625a45555a85 62 __IO uint8_t DEVICE_CONFIG; /*!< */
kevin1990 2:625a45555a85 63 __I __C uint8_t CHIP_TYPE; /*!< */
kevin1990 2:625a45555a85 64 __I __C uint8_t PRODUCT_ID_L; /*!< */
kevin1990 2:625a45555a85 65 __I __C uint8_t PRODUCT_ID_H; /*!< */
kevin1990 2:625a45555a85 66 __I __C uint8_t CHIP_GRADE; /*!< */
kevin1990 2:625a45555a85 67 __I __C uint8_t RESERVED0[3];
kevin1990 2:625a45555a85 68 __IO uint8_t SCRATCH_PAD; /*!< */
kevin1990 2:625a45555a85 69 __I __C uint8_t SPI_REVISION; /*!< */
kevin1990 2:625a45555a85 70 __I __C uint8_t VENDOR_L; /*!< */
kevin1990 2:625a45555a85 71 __I __C uint8_t VENDOR_H; /*!< */
kevin1990 2:625a45555a85 72 __IO uint8_t STREAM_MODE; /*!< */
kevin1990 2:625a45555a85 73 __I __C uint8_t RESERVED1;
kevin1990 2:625a45555a85 74 __IO uint8_t INTERFACE_CONFIG_C; /*!< */
kevin1990 2:625a45555a85 75 __I __C uint8_t INTERFACE_STATUS_A; /*!< */
kevin1990 2:625a45555a85 76 } ADI_SENSE_SPI_TypeDef;
kevin1990 2:625a45555a85 77
kevin1990 2:625a45555a85 78 /*!@}*/
kevin1990 2:625a45555a85 79
kevin1990 2:625a45555a85 80 /** @defgroup CORE ADISENSE1000 Core (CORE) Module
kevin1990 2:625a45555a85 81 * ADISENSE1000 Core
kevin1990 2:625a45555a85 82 * @{
kevin1990 2:625a45555a85 83 */
kevin1990 2:625a45555a85 84
kevin1990 2:625a45555a85 85 /*! ==========================================================================
kevin1990 2:625a45555a85 86 * \struct ADI_CORE_TypeDef
kevin1990 2:625a45555a85 87 * \brief ADISENSE1000 Core
kevin1990 2:625a45555a85 88 * ========================================================================== */
kevin1990 2:625a45555a85 89 typedef struct _ADI_SENSE_CORE_TypeDef
kevin1990 2:625a45555a85 90 {
kevin1990 2:625a45555a85 91 __I __C uint8_t RESERVED0[4];
kevin1990 2:625a45555a85 92 __O uint8_t COMMAND; /*!< Special Command */
kevin1990 2:625a45555a85 93 __I __C uint8_t RESERVED1[3];
kevin1990 2:625a45555a85 94 __IO uint8_t MODE; /*!< Operating Mode and DRDY Control */
kevin1990 2:625a45555a85 95 __IO uint8_t POWER_CONFIG; /*!< General Configuration */
kevin1990 2:625a45555a85 96 __IO uint16_t CYCLE_CONTROL; /*!< Measurement Cycle */
kevin1990 2:625a45555a85 97 __IO uint8_t FIFO_NUM_CYCLES; /*!< Number of Measurement Cycles to Store in FIFO */
kevin1990 2:625a45555a85 98 __IO uint8_t MULTI_CYCLE_RATE; /*!< Time Between Repeats of Multi-Cycle Conversions.... */
kevin1990 2:625a45555a85 99 __I __C uint8_t RESERVED2[2];
kevin1990 2:625a45555a85 100 __I __C uint8_t STATUS; /*!< General Status */
kevin1990 2:625a45555a85 101 __I __C uint8_t RESERVED3[3];
kevin1990 2:625a45555a85 102 __I __C uint16_t DIAGNOSTICS_STATUS; /*!< Diagnostics Status */
kevin1990 2:625a45555a85 103 __I __C uint16_t CHANNEL_ALERT_STATUS; /*!< Alert Status Summary */
kevin1990 2:625a45555a85 104 __I __C uint8_t ALERT_DETAIL_CH[13]; /*!< Detailed Error Information */
kevin1990 2:625a45555a85 105 __I __C uint8_t RESERVED4[11];
kevin1990 2:625a45555a85 106 __IO uint32_t EXTERNAL_REFERENCE1; /*!< External Reference Information */
kevin1990 2:625a45555a85 107 __IO uint32_t EXTERNAL_REFERENCE2; /*!< External Reference Information */
kevin1990 2:625a45555a85 108 __IO uint8_t DIAGNOSTICS_CONTROL; /*!< Diagnostic Control */
kevin1990 2:625a45555a85 109 __IO uint8_t DIAGNOSTICS_EXTRA; /*!< Extra Diagnostics Control */
kevin1990 2:625a45555a85 110 __I __C uint8_t RESERVED5[6];
kevin1990 2:625a45555a85 111 __I __C uint64_t DATA_FIFO; /*!< FIFO of Sensor Results */
kevin1990 2:625a45555a85 112 __I __C uint8_t RESERVED6[8];
kevin1990 2:625a45555a85 113 __IO uint8_t LUT_SELECT; /*!< Pointer to Custom Lookup Table or Polynomial */
kevin1990 2:625a45555a85 114 __I __C uint8_t RESERVED7;
kevin1990 2:625a45555a85 115 __IO uint16_t LUT_OFFSET; /*!< Offset into Selected LUT */
kevin1990 2:625a45555a85 116 __IO uint8_t LUT_DATA; /*!< Data to Read/Write from Addressed LUT Entry */
kevin1990 2:625a45555a85 117 __I __C uint8_t RESERVED8[3];
kevin1990 2:625a45555a85 118 __IO uint8_t CAL_SELECT; /*!< Pointer to Calibration Values */
kevin1990 2:625a45555a85 119 __I __C uint8_t RESERVED9;
kevin1990 2:625a45555a85 120 __IO uint16_t CAL_OFFSET; /*!< Offset into Selected Calibration Values */
kevin1990 2:625a45555a85 121 __IO uint8_t CAL_DATA; /*!< Data to Read/Write from Addressed Calibration Values */
kevin1990 2:625a45555a85 122 __I __C uint8_t RESERVED10[15];
kevin1990 2:625a45555a85 123 __I __C uint32_t REVISION; /*!< Hardware, Firmware Revision */
kevin1990 2:625a45555a85 124 __I __C uint8_t RESERVED11[16];
kevin1990 2:625a45555a85 125 __IO uint8_t CHANNEL_COUNT[11]; /*!< Number of Channel Occurrences per Measurement Cycle */
kevin1990 2:625a45555a85 126 } ADI_SENSE_CORE_TypeDef;
kevin1990 2:625a45555a85 127
kevin1990 2:625a45555a85 128 /*!@}*/
kevin1990 2:625a45555a85 129
kevin1990 2:625a45555a85 130 /** @defgroup TEST Test (TEST) Module
kevin1990 2:625a45555a85 131 * Test
kevin1990 2:625a45555a85 132 * @{
kevin1990 2:625a45555a85 133 */
kevin1990 2:625a45555a85 134
kevin1990 2:625a45555a85 135 /*! ==========================================================================
kevin1990 2:625a45555a85 136 * \struct ADI_TEST_TypeDef
kevin1990 2:625a45555a85 137 * \brief Test
kevin1990 2:625a45555a85 138 * ========================================================================== */
kevin1990 2:625a45555a85 139 typedef struct _ADI_SENSE_TEST_TypeDef
kevin1990 2:625a45555a85 140 {
kevin1990 2:625a45555a85 141 __IO uint8_t TEST_REG_0; /*!< Test Register 0 */
kevin1990 2:625a45555a85 142 } ADI_SENSE_TEST_TypeDef;
kevin1990 2:625a45555a85 143
kevin1990 2:625a45555a85 144 /*!@}*/
kevin1990 2:625a45555a85 145
kevin1990 2:625a45555a85 146 /* ******************************************************************************
kevin1990 2:625a45555a85 147 * Peripheral Memory Map Declarations
kevin1990 2:625a45555a85 148 * *****************************************************************************/
kevin1990 2:625a45555a85 149 /*! @defgroup PMEMMAPDEC Peripheral Memory Map Declarations
kevin1990 2:625a45555a85 150 * \addtogroup PMEMMAPDEC
kevin1990 2:625a45555a85 151 * @{ */
kevin1990 2:625a45555a85 152 #define ADI_SENSE_SPI_BASE 0x00000000 /*!< Base address of SPI */
kevin1990 2:625a45555a85 153 #define ADI_SENSE_CORE_BASE 0x00000010 /*!< Base address of CORE */
kevin1990 2:625a45555a85 154 #define ADI_SENSE_TEST_BASE 0x00000400 /*!< Base address of TEST */
kevin1990 2:625a45555a85 155
kevin1990 2:625a45555a85 156 /*! @} */
kevin1990 2:625a45555a85 157
kevin1990 2:625a45555a85 158 /* ******************************************************************************
kevin1990 2:625a45555a85 159 * Peripheral Pointer Declarations
kevin1990 2:625a45555a85 160 * *****************************************************************************/
kevin1990 2:625a45555a85 161 /*! @Defgroup Pptrdec Peripheral Pointer Declarations
kevin1990 2:625a45555a85 162 * \Addtogroup Pptrdec
kevin1990 2:625a45555a85 163 * @{ */
kevin1990 2:625a45555a85 164 #define pADI_SENSE_SPI ((ADI_SENSE_SPI_TypeDef *) ADI_SPI_BASE ) /*!< Pointer to (SPI) */
kevin1990 2:625a45555a85 165 #define pADI_SENSE_CORE ((ADI_SENSE_CORE_TypeDef *) ADI_CORE_BASE ) /*!< Pointer to ADISENSE1000 Core (CORE) */
kevin1990 2:625a45555a85 166 #define pADI_SENSE_TEST ((ADI_SENSE_TEST_TypeDef *) ADI_TEST_BASE ) /*!< Pointer to Test (TEST) */
kevin1990 2:625a45555a85 167
kevin1990 2:625a45555a85 168 /*! @} */
kevin1990 2:625a45555a85 169
kevin1990 2:625a45555a85 170
kevin1990 2:625a45555a85 171 #if defined (__CC_ARM)
kevin1990 2:625a45555a85 172 #pragma pop
kevin1990 2:625a45555a85 173 #endif
kevin1990 2:625a45555a85 174
kevin1990 2:625a45555a85 175 #endif
kevin1990 2:625a45555a85 176