(working) Use this code for calibrating the Load cells.

Fork of ADISense1000_Example_FW by Analog Devices

Committer:
RGurav
Date:
Thu Jul 19 13:25:33 2018 +0000
Revision:
2:2f9f9f7f0243
Parent:
0:76fed7dd9235
(Working); Code to read values from bridge load cell

Who changed what in which revision?

UserRevisionLine numberNew contents of line
seanwilson10 0:76fed7dd9235 1 /*!
seanwilson10 0:76fed7dd9235 2 ******************************************************************************
seanwilson10 0:76fed7dd9235 3 * @file: adi_sense_spi.h
seanwilson10 0:76fed7dd9235 4 * @brief: ADI Sense OS-dependent wrapper layer for SPI interface
seanwilson10 0:76fed7dd9235 5 *-----------------------------------------------------------------------------
seanwilson10 0:76fed7dd9235 6 */
seanwilson10 0:76fed7dd9235 7
seanwilson10 0:76fed7dd9235 8 /*
seanwilson10 0:76fed7dd9235 9 Copyright 2017 (c) Analog Devices, Inc.
seanwilson10 0:76fed7dd9235 10
seanwilson10 0:76fed7dd9235 11 All rights reserved.
seanwilson10 0:76fed7dd9235 12
seanwilson10 0:76fed7dd9235 13 Redistribution and use in source and binary forms, with or without
seanwilson10 0:76fed7dd9235 14 modification, are permitted provided that the following conditions are met:
seanwilson10 0:76fed7dd9235 15 - Redistributions of source code must retain the above copyright
seanwilson10 0:76fed7dd9235 16 notice, this list of conditions and the following disclaimer.
seanwilson10 0:76fed7dd9235 17 - Redistributions in binary form must reproduce the above copyright
seanwilson10 0:76fed7dd9235 18 notice, this list of conditions and the following disclaimer in
seanwilson10 0:76fed7dd9235 19 the documentation and/or other materials provided with the
seanwilson10 0:76fed7dd9235 20 distribution.
seanwilson10 0:76fed7dd9235 21 - Neither the name of Analog Devices, Inc. nor the names of its
seanwilson10 0:76fed7dd9235 22 contributors may be used to endorse or promote products derived
seanwilson10 0:76fed7dd9235 23 from this software without specific prior written permission.
seanwilson10 0:76fed7dd9235 24 - The use of this software may or may not infringe the patent rights
seanwilson10 0:76fed7dd9235 25 of one or more patent holders. This license does not release you
seanwilson10 0:76fed7dd9235 26 from the requirement that you obtain separate licenses from these
seanwilson10 0:76fed7dd9235 27 patent holders to use this software.
seanwilson10 0:76fed7dd9235 28 - Use of the software either in source or binary form, must be run
seanwilson10 0:76fed7dd9235 29 on or directly connected to an Analog Devices Inc. component.
seanwilson10 0:76fed7dd9235 30
seanwilson10 0:76fed7dd9235 31 THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
seanwilson10 0:76fed7dd9235 32 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
seanwilson10 0:76fed7dd9235 33 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
seanwilson10 0:76fed7dd9235 34 IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
seanwilson10 0:76fed7dd9235 35 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
seanwilson10 0:76fed7dd9235 36 LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR
seanwilson10 0:76fed7dd9235 37 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
seanwilson10 0:76fed7dd9235 38 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
seanwilson10 0:76fed7dd9235 39 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
seanwilson10 0:76fed7dd9235 40 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
seanwilson10 0:76fed7dd9235 41 */
seanwilson10 0:76fed7dd9235 42
seanwilson10 0:76fed7dd9235 43 #ifndef __ADI_SENSE_SPI_H__
seanwilson10 0:76fed7dd9235 44 #define __ADI_SENSE_SPI_H__
seanwilson10 0:76fed7dd9235 45
seanwilson10 0:76fed7dd9235 46 #include "inc/adi_sense_types.h"
seanwilson10 0:76fed7dd9235 47 #include "inc/adi_sense_platform.h"
seanwilson10 0:76fed7dd9235 48
seanwilson10 0:76fed7dd9235 49 /*! @ingroup ADI_Sense_Host */
seanwilson10 0:76fed7dd9235 50
seanwilson10 0:76fed7dd9235 51 /*! @addtogroup ADI_Sense_Spi ADI Sense Host SPI interface functions
seanwilson10 0:76fed7dd9235 52 * @{
seanwilson10 0:76fed7dd9235 53 */
seanwilson10 0:76fed7dd9235 54
seanwilson10 0:76fed7dd9235 55 /*! A handle used in all API functions to identify the SPI interface context */
seanwilson10 0:76fed7dd9235 56 typedef void * ADI_SENSE_SPI_HANDLE;
seanwilson10 0:76fed7dd9235 57
seanwilson10 0:76fed7dd9235 58 #ifdef __cplusplus
seanwilson10 0:76fed7dd9235 59 extern "C"
seanwilson10 0:76fed7dd9235 60 {
seanwilson10 0:76fed7dd9235 61 #endif
seanwilson10 0:76fed7dd9235 62
seanwilson10 0:76fed7dd9235 63 /*!
seanwilson10 0:76fed7dd9235 64 * @brief Open the SPI interface and allocate resources
seanwilson10 0:76fed7dd9235 65 *
seanwilson10 0:76fed7dd9235 66 * @param[in] pConfig Pointer to platform-specific SPI interface details
seanwilson10 0:76fed7dd9235 67 * @param[out] phDevice Pointer to return a SPI interface context handle
seanwilson10 0:76fed7dd9235 68 *
seanwilson10 0:76fed7dd9235 69 * @return Status
seanwilson10 0:76fed7dd9235 70 * - #ADI_SENSE_SUCCESS Call completed successfully
seanwilson10 0:76fed7dd9235 71 * - #ADI_SENSE_NO_MEM Failed to allocate memory for interface context
seanwilson10 0:76fed7dd9235 72 */
seanwilson10 0:76fed7dd9235 73 ADI_SENSE_RESULT adi_sense_SpiOpen(
seanwilson10 0:76fed7dd9235 74 ADI_SENSE_PLATFORM_SPI_CONFIG * pConfig,
seanwilson10 0:76fed7dd9235 75 ADI_SENSE_SPI_HANDLE * phDevice);
seanwilson10 0:76fed7dd9235 76
seanwilson10 0:76fed7dd9235 77 /*!
seanwilson10 0:76fed7dd9235 78 * @brief Close SPI interface and free resources
seanwilson10 0:76fed7dd9235 79 *
seanwilson10 0:76fed7dd9235 80 * @param[in] hDevice SPI interface context handle (@ref adi_sense_SpiOpen)
seanwilson10 0:76fed7dd9235 81 */
seanwilson10 0:76fed7dd9235 82 void adi_sense_SpiClose(
seanwilson10 0:76fed7dd9235 83 ADI_SENSE_SPI_HANDLE hDevice);
seanwilson10 0:76fed7dd9235 84
seanwilson10 0:76fed7dd9235 85 /*!
seanwilson10 0:76fed7dd9235 86 * @brief Transfer data to slave device
seanwilson10 0:76fed7dd9235 87 *
seanwilson10 0:76fed7dd9235 88 * @param[in] hDevice SPI interface context handle (@ref adi_sense_SpiOpen)
seanwilson10 0:76fed7dd9235 89 * @param[in] pTxData Transmit data buffer, or NULL for read-only transfers
seanwilson10 0:76fed7dd9235 90 * @param[in] pRxData Receive data buffer, or NULL for write-only transfers
seanwilson10 0:76fed7dd9235 91 * @param[in] nLength Number of bytes to transfer
seanwilson10 0:76fed7dd9235 92 * @param[in] bCsHold Leave the chip-select asserted when the transfer is done
seanwilson10 0:76fed7dd9235 93 *
seanwilson10 0:76fed7dd9235 94 * @return Status
seanwilson10 0:76fed7dd9235 95 * - #ADI_SENSE_SUCCESS Call completed successfully
seanwilson10 0:76fed7dd9235 96 * - #ADI_SENSE_FAILURE Failed to complete SPI transfer
seanwilson10 0:76fed7dd9235 97 */
seanwilson10 0:76fed7dd9235 98 ADI_SENSE_RESULT adi_sense_SpiTransfer(
seanwilson10 0:76fed7dd9235 99 ADI_SENSE_SPI_HANDLE hDevice,
seanwilson10 0:76fed7dd9235 100 void * pTxData,
seanwilson10 0:76fed7dd9235 101 void * pRxData,
seanwilson10 0:76fed7dd9235 102 unsigned nLength,
seanwilson10 0:76fed7dd9235 103 bool bCsHold);
seanwilson10 0:76fed7dd9235 104
seanwilson10 0:76fed7dd9235 105 #ifdef __cplusplus
seanwilson10 0:76fed7dd9235 106 }
seanwilson10 0:76fed7dd9235 107 #endif
seanwilson10 0:76fed7dd9235 108
seanwilson10 0:76fed7dd9235 109 /*!
seanwilson10 0:76fed7dd9235 110 * @}
seanwilson10 0:76fed7dd9235 111 */
seanwilson10 0:76fed7dd9235 112
seanwilson10 0:76fed7dd9235 113 #endif /* __ADI_SENSE_SPI_H__ */
seanwilson10 0:76fed7dd9235 114