ADISense1000 Version 2.1 code base

Fork of AdiSense1000_V21 by Sean Wilson

Committer:
kevin1990
Date:
Mon Nov 27 13:10:11 2017 +0000
Revision:
12:97457cf77bcb
v1.0 release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kevin1990 12:97457cf77bcb 1 /*!
kevin1990 12:97457cf77bcb 2 ******************************************************************************
kevin1990 12:97457cf77bcb 3 * @file: adi_sense_config_types.h
kevin1990 12:97457cf77bcb 4 * @brief: Type definitions for ADI Sense API.
kevin1990 12:97457cf77bcb 5 *-----------------------------------------------------------------------------
kevin1990 12:97457cf77bcb 6 */
kevin1990 12:97457cf77bcb 7
kevin1990 12:97457cf77bcb 8 /*
kevin1990 12:97457cf77bcb 9 Copyright (c) 2017 Analog Devices, Inc.
kevin1990 12:97457cf77bcb 10
kevin1990 12:97457cf77bcb 11 All rights reserved.
kevin1990 12:97457cf77bcb 12
kevin1990 12:97457cf77bcb 13 Redistribution and use in source and binary forms, with or without modification,
kevin1990 12:97457cf77bcb 14 are permitted provided that the following conditions are met:
kevin1990 12:97457cf77bcb 15 - Redistributions of source code must retain the above copyright notice,
kevin1990 12:97457cf77bcb 16 this list of conditions and the following disclaimer.
kevin1990 12:97457cf77bcb 17 - Redistributions in binary form must reproduce the above copyright notice,
kevin1990 12:97457cf77bcb 18 this list of conditions and the following disclaimer in the documentation
kevin1990 12:97457cf77bcb 19 and/or other materials provided with the distribution.
kevin1990 12:97457cf77bcb 20 - Modified versions of the software must be conspicuously marked as such.
kevin1990 12:97457cf77bcb 21 - This software is licensed solely and exclusively for use with processors
kevin1990 12:97457cf77bcb 22 manufactured by or for Analog Devices, Inc.
kevin1990 12:97457cf77bcb 23 - This software may not be combined or merged with other code in any manner
kevin1990 12:97457cf77bcb 24 that would cause the software to become subject to terms and conditions
kevin1990 12:97457cf77bcb 25 which differ from those listed here.
kevin1990 12:97457cf77bcb 26 - Neither the name of Analog Devices, Inc. nor the names of its
kevin1990 12:97457cf77bcb 27 contributors may be used to endorse or promote products derived
kevin1990 12:97457cf77bcb 28 from this software without specific prior written permission.
kevin1990 12:97457cf77bcb 29 - The use of this software may or may not infringe the patent rights of one
kevin1990 12:97457cf77bcb 30 or more patent holders. This license does not release you from the
kevin1990 12:97457cf77bcb 31 requirement that you obtain separate licenses from these patent holders
kevin1990 12:97457cf77bcb 32 to use this software.
kevin1990 12:97457cf77bcb 33
kevin1990 12:97457cf77bcb 34 THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. AND CONTRIBUTORS "AS IS" AND ANY
kevin1990 12:97457cf77bcb 35 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
kevin1990 12:97457cf77bcb 36 TITLE, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
kevin1990 12:97457cf77bcb 37 NO EVENT SHALL ANALOG DEVICES, INC. OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
kevin1990 12:97457cf77bcb 38 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, PUNITIVE OR CONSEQUENTIAL DAMAGES
kevin1990 12:97457cf77bcb 39 (INCLUDING, BUT NOT LIMITED TO, DAMAGES ARISING OUT OF CLAIMS OF INTELLECTUAL
kevin1990 12:97457cf77bcb 40 PROPERTY RIGHTS INFRINGEMENT; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
kevin1990 12:97457cf77bcb 41 OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
kevin1990 12:97457cf77bcb 42 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
kevin1990 12:97457cf77bcb 43 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
kevin1990 12:97457cf77bcb 44 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
kevin1990 12:97457cf77bcb 45 */
kevin1990 12:97457cf77bcb 46
kevin1990 12:97457cf77bcb 47 #ifndef __ADI_SENSE_CONFIG_TYPES_H__
kevin1990 12:97457cf77bcb 48 #define __ADI_SENSE_CONFIG_TYPES_H__
kevin1990 12:97457cf77bcb 49
kevin1990 12:97457cf77bcb 50 #include "adi_sense_platform.h"
kevin1990 12:97457cf77bcb 51 #include "adi_sense_1000/adi_sense_1000_config.h"
kevin1990 12:97457cf77bcb 52
kevin1990 12:97457cf77bcb 53 /*! @addtogroup ADI_Sense_Api ADI Sense Host Library API
kevin1990 12:97457cf77bcb 54 * @{
kevin1990 12:97457cf77bcb 55 */
kevin1990 12:97457cf77bcb 56
kevin1990 12:97457cf77bcb 57 #ifdef __cplusplus
kevin1990 12:97457cf77bcb 58 extern "C" {
kevin1990 12:97457cf77bcb 59 #endif
kevin1990 12:97457cf77bcb 60
kevin1990 12:97457cf77bcb 61 /*! A list of supported product identifiers */
kevin1990 12:97457cf77bcb 62 typedef enum {
kevin1990 12:97457cf77bcb 63 ADI_SENSE_PRODUCT_ID_1000 = 0x0020,
kevin1990 12:97457cf77bcb 64 /*!< ADI Sense 1000 */
kevin1990 12:97457cf77bcb 65 } ADI_SENSE_PRODUCT_ID;
kevin1990 12:97457cf77bcb 66
kevin1990 12:97457cf77bcb 67 /*! ADI Sense Configuration schema version */
kevin1990 12:97457cf77bcb 68 typedef struct {
kevin1990 12:97457cf77bcb 69 uint8_t major; /*!< Major version number */
kevin1990 12:97457cf77bcb 70 uint8_t minor; /*!< Minor version number */
kevin1990 12:97457cf77bcb 71 } ADI_SENSE_CONFIG_VERSION_ID;
kevin1990 12:97457cf77bcb 72
kevin1990 12:97457cf77bcb 73 /*! ADI Sense UUID string length */
kevin1990 12:97457cf77bcb 74 #define ADI_SENSE_UUID_LEN 36
kevin1990 12:97457cf77bcb 75
kevin1990 12:97457cf77bcb 76 /*! ADI Sense global configuration details */
kevin1990 12:97457cf77bcb 77 typedef struct {
kevin1990 12:97457cf77bcb 78 const char configUuid[ADI_SENSE_UUID_LEN];
kevin1990 12:97457cf77bcb 79 /*!< Optional unique identifier for this configuration */
kevin1990 12:97457cf77bcb 80 ADI_SENSE_CONFIG_VERSION_ID versionId;
kevin1990 12:97457cf77bcb 81 /*!< Identifies the schema version for this configuration */
kevin1990 12:97457cf77bcb 82 ADI_SENSE_PRODUCT_ID productId;
kevin1990 12:97457cf77bcb 83 /*!< Identify the product type for which this configuration is valid */
kevin1990 12:97457cf77bcb 84 union
kevin1990 12:97457cf77bcb 85 {
kevin1990 12:97457cf77bcb 86 ADI_SENSE_1000_CONFIG adisense1000;
kevin1990 12:97457cf77bcb 87 /*!< ADI Sense 1000 product configuration parameters. Used if productId
kevin1990 12:97457cf77bcb 88 * selected is ADI_SENSE_PRODUCT_ID_1000 */
kevin1990 12:97457cf77bcb 89 };
kevin1990 12:97457cf77bcb 90 /*!< Product-specific configuration parameters, selected based on productId.
kevin1990 12:97457cf77bcb 91 * @note Other product variants may be added here in the future */
kevin1990 12:97457cf77bcb 92 } ADI_SENSE_CONFIG;
kevin1990 12:97457cf77bcb 93
kevin1990 12:97457cf77bcb 94 #ifdef __cplusplus
kevin1990 12:97457cf77bcb 95 }
kevin1990 12:97457cf77bcb 96 #endif
kevin1990 12:97457cf77bcb 97
kevin1990 12:97457cf77bcb 98 /*!
kevin1990 12:97457cf77bcb 99 * @}
kevin1990 12:97457cf77bcb 100 */
kevin1990 12:97457cf77bcb 101
kevin1990 12:97457cf77bcb 102 #endif /* __ADI_SENSE_CONFIG_TYPES_H__ */
kevin1990 12:97457cf77bcb 103