CAC_smartcushion / Mbed OS AdiSense1000_V21_Smartcushion

Fork of Sean_AdiSense1000_V21 by Rohan Gurav

Committer:
danodonovan
Date:
Mon Jan 22 17:40:50 2018 +0000
Revision:
24:5a2272a25ff1
Updating example to adisense1000 v1.0.1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
danodonovan 24:5a2272a25ff1 1 /*!
danodonovan 24:5a2272a25ff1 2 ******************************************************************************
danodonovan 24:5a2272a25ff1 3 * @file: adi_sense_log.h
danodonovan 24:5a2272a25ff1 4 * @brief: ADI Sense OS-dependent wrapper layer for log functions
danodonovan 24:5a2272a25ff1 5 *-----------------------------------------------------------------------------
danodonovan 24:5a2272a25ff1 6 */
danodonovan 24:5a2272a25ff1 7
danodonovan 24:5a2272a25ff1 8 /*
danodonovan 24:5a2272a25ff1 9 Copyright 2017 (c) Analog Devices, Inc.
danodonovan 24:5a2272a25ff1 10
danodonovan 24:5a2272a25ff1 11 All rights reserved.
danodonovan 24:5a2272a25ff1 12
danodonovan 24:5a2272a25ff1 13 Redistribution and use in source and binary forms, with or without
danodonovan 24:5a2272a25ff1 14 modification, are permitted provided that the following conditions are met:
danodonovan 24:5a2272a25ff1 15 - Redistributions of source code must retain the above copyright
danodonovan 24:5a2272a25ff1 16 notice, this list of conditions and the following disclaimer.
danodonovan 24:5a2272a25ff1 17 - Redistributions in binary form must reproduce the above copyright
danodonovan 24:5a2272a25ff1 18 notice, this list of conditions and the following disclaimer in
danodonovan 24:5a2272a25ff1 19 the documentation and/or other materials provided with the
danodonovan 24:5a2272a25ff1 20 distribution.
danodonovan 24:5a2272a25ff1 21 - Neither the name of Analog Devices, Inc. nor the names of its
danodonovan 24:5a2272a25ff1 22 contributors may be used to endorse or promote products derived
danodonovan 24:5a2272a25ff1 23 from this software without specific prior written permission.
danodonovan 24:5a2272a25ff1 24 - The use of this software may or may not infringe the patent rights
danodonovan 24:5a2272a25ff1 25 of one or more patent holders. This license does not release you
danodonovan 24:5a2272a25ff1 26 from the requirement that you obtain separate licenses from these
danodonovan 24:5a2272a25ff1 27 patent holders to use this software.
danodonovan 24:5a2272a25ff1 28 - Use of the software either in source or binary form, must be run
danodonovan 24:5a2272a25ff1 29 on or directly connected to an Analog Devices Inc. component.
danodonovan 24:5a2272a25ff1 30
danodonovan 24:5a2272a25ff1 31 THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
danodonovan 24:5a2272a25ff1 32 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
danodonovan 24:5a2272a25ff1 33 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
danodonovan 24:5a2272a25ff1 34 IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
danodonovan 24:5a2272a25ff1 35 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
danodonovan 24:5a2272a25ff1 36 LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR
danodonovan 24:5a2272a25ff1 37 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
danodonovan 24:5a2272a25ff1 38 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
danodonovan 24:5a2272a25ff1 39 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
danodonovan 24:5a2272a25ff1 40 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
danodonovan 24:5a2272a25ff1 41 */
danodonovan 24:5a2272a25ff1 42
danodonovan 24:5a2272a25ff1 43 #ifndef __ADI_SENSE_LOG_H__
danodonovan 24:5a2272a25ff1 44 #define __ADI_SENSE_LOG_H__
danodonovan 24:5a2272a25ff1 45
danodonovan 24:5a2272a25ff1 46 #include "inc/adi_sense_types.h"
danodonovan 24:5a2272a25ff1 47
danodonovan 24:5a2272a25ff1 48 /*! @ingroup ADI_Sense_Host */
danodonovan 24:5a2272a25ff1 49
danodonovan 24:5a2272a25ff1 50 /*! @addtogroup ADI_Sense_Log ADI Sense Host Logging functions
danodonovan 24:5a2272a25ff1 51 * @{
danodonovan 24:5a2272a25ff1 52 */
danodonovan 24:5a2272a25ff1 53
danodonovan 24:5a2272a25ff1 54 /*! Macro function for logging an error message */
danodonovan 24:5a2272a25ff1 55 #define ADI_SENSE_LOG_ERROR(...) \
danodonovan 24:5a2272a25ff1 56 adi_sense_Log(ADI_SENSE_LOG_LEVEL_ERROR, "[ERROR] " __VA_ARGS__)
danodonovan 24:5a2272a25ff1 57 /*! Macro function for logging a warning message */
danodonovan 24:5a2272a25ff1 58 #define ADI_SENSE_LOG_WARN(...) \
danodonovan 24:5a2272a25ff1 59 adi_sense_Log(ADI_SENSE_LOG_LEVEL_WARN, "[WARN] " __VA_ARGS__)
danodonovan 24:5a2272a25ff1 60 /*! Macro function for logging an information message */
danodonovan 24:5a2272a25ff1 61 #define ADI_SENSE_LOG_INFO(...) \
danodonovan 24:5a2272a25ff1 62 adi_sense_Log(ADI_SENSE_LOG_LEVEL_INFO, "[INFO] " __VA_ARGS__)
danodonovan 24:5a2272a25ff1 63 /*! Macro function for logging a debug message */
danodonovan 24:5a2272a25ff1 64 #define ADI_SENSE_LOG_DEBUG(...) \
danodonovan 24:5a2272a25ff1 65 adi_sense_Log(ADI_SENSE_LOG_LEVEL_DEBUG, "[DEBUG] " __VA_ARGS__)
danodonovan 24:5a2272a25ff1 66
danodonovan 24:5a2272a25ff1 67 /*!
danodonovan 24:5a2272a25ff1 68 * Log message priority levels
danodonovan 24:5a2272a25ff1 69 */
danodonovan 24:5a2272a25ff1 70 typedef enum
danodonovan 24:5a2272a25ff1 71 {
danodonovan 24:5a2272a25ff1 72 ADI_SENSE_LOG_LEVEL_ERROR = 0, /*!< Error message priority */
danodonovan 24:5a2272a25ff1 73 ADI_SENSE_LOG_LEVEL_WARN, /*!< Warning message priority */
danodonovan 24:5a2272a25ff1 74 ADI_SENSE_LOG_LEVEL_INFO, /*!< Information message priority */
danodonovan 24:5a2272a25ff1 75 ADI_SENSE_LOG_LEVEL_DEBUG, /*!< Debug message priority */
danodonovan 24:5a2272a25ff1 76 } ADI_SENSE_LOG_LEVEL;
danodonovan 24:5a2272a25ff1 77
danodonovan 24:5a2272a25ff1 78
danodonovan 24:5a2272a25ff1 79 #ifdef __cplusplus
danodonovan 24:5a2272a25ff1 80 extern "C"
danodonovan 24:5a2272a25ff1 81 {
danodonovan 24:5a2272a25ff1 82 #endif
danodonovan 24:5a2272a25ff1 83
danodonovan 24:5a2272a25ff1 84 /*!
danodonovan 24:5a2272a25ff1 85 * @brief Initialise the Log interface and allocate resources.
danodonovan 24:5a2272a25ff1 86 *
danodonovan 24:5a2272a25ff1 87 * @return Status
danodonovan 24:5a2272a25ff1 88 * - #ADI_SENSE_SUCCESS Call completed successfully.
danodonovan 24:5a2272a25ff1 89 * - #ADI_SENSE_NO_MEM Failed to allocate memory for device context.
danodonovan 24:5a2272a25ff1 90 */
danodonovan 24:5a2272a25ff1 91 ADI_SENSE_RESULT adi_sense_LogOpen(
danodonovan 24:5a2272a25ff1 92 void);
danodonovan 24:5a2272a25ff1 93
danodonovan 24:5a2272a25ff1 94 /*!
danodonovan 24:5a2272a25ff1 95 * @brief Close the Log interface and free resources.
danodonovan 24:5a2272a25ff1 96 */
danodonovan 24:5a2272a25ff1 97 void adi_sense_LogClose(
danodonovan 24:5a2272a25ff1 98 void);
danodonovan 24:5a2272a25ff1 99
danodonovan 24:5a2272a25ff1 100 /*!
danodonovan 24:5a2272a25ff1 101 * @brief Print a log message to the platform log interface.
danodonovan 24:5a2272a25ff1 102 *
danodonovan 24:5a2272a25ff1 103 * @param[in] level Log message priority level
danodonovan 24:5a2272a25ff1 104 * @param[in] format Format string and variable argument list, if any
danodonovan 24:5a2272a25ff1 105 */
danodonovan 24:5a2272a25ff1 106 void adi_sense_Log(
danodonovan 24:5a2272a25ff1 107 ADI_SENSE_LOG_LEVEL level,
danodonovan 24:5a2272a25ff1 108 const char * format,
danodonovan 24:5a2272a25ff1 109 ...);
danodonovan 24:5a2272a25ff1 110
danodonovan 24:5a2272a25ff1 111 #ifdef __cplusplus
danodonovan 24:5a2272a25ff1 112 }
danodonovan 24:5a2272a25ff1 113 #endif
danodonovan 24:5a2272a25ff1 114
danodonovan 24:5a2272a25ff1 115 /*!
danodonovan 24:5a2272a25ff1 116 * @}
danodonovan 24:5a2272a25ff1 117 */
danodonovan 24:5a2272a25ff1 118
danodonovan 24:5a2272a25ff1 119 #endif /* __ADI_SENSE_LOG_H__ */
danodonovan 24:5a2272a25ff1 120