Ross O'Halloran / Mbed OS Babyseat_NewFirmware_copy_sean

Fork of AdiSense1000 by PoC_Team

Committer:
danodonovan
Date:
Mon Jan 22 17:40:21 2018 +0000
Revision:
23:2adb6216b001
Parent:
19:a6d4bdcffb84
Child:
25:c5bff546082f
Updating example to adisense1000 v1.0.1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kevin1990 12:97457cf77bcb 1 /*!
kevin1990 12:97457cf77bcb 2 ******************************************************************************
kevin1990 12:97457cf77bcb 3 * @file: spi0_adiAdxl362_config.c
kevin1990 12:97457cf77bcb 4 * @brief:
kevin1990 12:97457cf77bcb 5 *-----------------------------------------------------------------------------
kevin1990 12:97457cf77bcb 6 *
danodonovan 23:2adb6216b001 7 Copyright 2017 (c) Analog Devices, Inc.
kevin1990 12:97457cf77bcb 8
kevin1990 12:97457cf77bcb 9 All rights reserved.
kevin1990 12:97457cf77bcb 10
danodonovan 23:2adb6216b001 11 Redistribution and use in source and binary forms, with or without
danodonovan 23:2adb6216b001 12 modification, are permitted provided that the following conditions are met:
danodonovan 23:2adb6216b001 13 - Redistributions of source code must retain the above copyright
danodonovan 23:2adb6216b001 14 notice, this list of conditions and the following disclaimer.
danodonovan 23:2adb6216b001 15 - Redistributions in binary form must reproduce the above copyright
danodonovan 23:2adb6216b001 16 notice, this list of conditions and the following disclaimer in
danodonovan 23:2adb6216b001 17 the documentation and/or other materials provided with the
danodonovan 23:2adb6216b001 18 distribution.
kevin1990 12:97457cf77bcb 19 - Neither the name of Analog Devices, Inc. nor the names of its
kevin1990 12:97457cf77bcb 20 contributors may be used to endorse or promote products derived
kevin1990 12:97457cf77bcb 21 from this software without specific prior written permission.
danodonovan 23:2adb6216b001 22 - The use of this software may or may not infringe the patent rights
danodonovan 23:2adb6216b001 23 of one or more patent holders. This license does not release you
danodonovan 23:2adb6216b001 24 from the requirement that you obtain separate licenses from these
danodonovan 23:2adb6216b001 25 patent holders to use this software.
danodonovan 23:2adb6216b001 26 - Use of the software either in source or binary form, must be run
danodonovan 23:2adb6216b001 27 on or directly connected to an Analog Devices Inc. component.
kevin1990 12:97457cf77bcb 28
danodonovan 23:2adb6216b001 29 THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
danodonovan 23:2adb6216b001 30 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
danodonovan 23:2adb6216b001 31 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
danodonovan 23:2adb6216b001 32 IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
danodonovan 23:2adb6216b001 33 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
danodonovan 23:2adb6216b001 34 LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR
danodonovan 23:2adb6216b001 35 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
danodonovan 23:2adb6216b001 36 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
danodonovan 23:2adb6216b001 37 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
danodonovan 23:2adb6216b001 38 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
kevin1990 12:97457cf77bcb 39 *
kevin1990 12:97457cf77bcb 40 *****************************************************************************/
kevin1990 12:97457cf77bcb 41
kevin1990 12:97457cf77bcb 42 #include "inc/adi_sense_config_types.h"
kevin1990 12:97457cf77bcb 43
kevin1990 12:97457cf77bcb 44 ADI_SENSE_CONFIG spi0_adiAdxl362_config = {
kevin1990 12:97457cf77bcb 45 .versionId = { .major = 1, .minor = 4 },
kevin1990 12:97457cf77bcb 46 .productId = ADI_SENSE_PRODUCT_ID_1000,
kevin1990 12:97457cf77bcb 47 .adisense1000 = {
kevin1990 12:97457cf77bcb 48 .power = {
kevin1990 12:97457cf77bcb 49 .powerMode = ADI_SENSE_1000_POWER_MODE_FULL,
kevin1990 12:97457cf77bcb 50 .supplyVoltage = 3.3,
kevin1990 12:97457cf77bcb 51 },
kevin1990 12:97457cf77bcb 52 .measurement = {
kevin1990 19:a6d4bdcffb84 53 .operatingMode = ADI_SENSE_1000_OPERATING_MODE_CONTINUOUS,
kevin1990 12:97457cf77bcb 54 .dataReadyMode = ADI_SENSE_1000_DATAREADY_PER_CYCLE,
kevin1990 19:a6d4bdcffb84 55 .cycleInterval = 1000000,
kevin1990 12:97457cf77bcb 56 },
kevin1990 12:97457cf77bcb 57 .channels = {
kevin1990 12:97457cf77bcb 58 [ADI_SENSE_1000_CHANNEL_ID_CJC_0] = {
kevin1990 12:97457cf77bcb 59 .enableChannel = false,
kevin1990 12:97457cf77bcb 60 },
kevin1990 12:97457cf77bcb 61 [ADI_SENSE_1000_CHANNEL_ID_CJC_1] = {
kevin1990 12:97457cf77bcb 62 .enableChannel = false,
kevin1990 12:97457cf77bcb 63 },
kevin1990 12:97457cf77bcb 64 [ADI_SENSE_1000_CHANNEL_ID_SENSOR_0] = {
kevin1990 12:97457cf77bcb 65 .enableChannel = false,
kevin1990 12:97457cf77bcb 66 },
kevin1990 12:97457cf77bcb 67 [ADI_SENSE_1000_CHANNEL_ID_SENSOR_1] = {
kevin1990 12:97457cf77bcb 68 .enableChannel = false,
kevin1990 12:97457cf77bcb 69 },
kevin1990 12:97457cf77bcb 70 [ADI_SENSE_1000_CHANNEL_ID_SENSOR_2] = {
kevin1990 12:97457cf77bcb 71 .enableChannel = false,
kevin1990 12:97457cf77bcb 72 },
kevin1990 12:97457cf77bcb 73 [ADI_SENSE_1000_CHANNEL_ID_SENSOR_3] = {
kevin1990 12:97457cf77bcb 74 .enableChannel = false,
kevin1990 12:97457cf77bcb 75 },
kevin1990 12:97457cf77bcb 76 [ADI_SENSE_1000_CHANNEL_ID_VOLTAGE_0] = {
kevin1990 12:97457cf77bcb 77 .enableChannel = false,
kevin1990 12:97457cf77bcb 78 },
kevin1990 12:97457cf77bcb 79 [ADI_SENSE_1000_CHANNEL_ID_CURRENT_0] = {
kevin1990 12:97457cf77bcb 80 .enableChannel = false,
kevin1990 12:97457cf77bcb 81 },
kevin1990 12:97457cf77bcb 82 [ADI_SENSE_1000_CHANNEL_ID_I2C_0] = {
kevin1990 12:97457cf77bcb 83 .enableChannel = false,
kevin1990 12:97457cf77bcb 84 },
kevin1990 12:97457cf77bcb 85 [ADI_SENSE_1000_CHANNEL_ID_I2C_1] = {
kevin1990 12:97457cf77bcb 86 .enableChannel = false,
kevin1990 12:97457cf77bcb 87 },
kevin1990 12:97457cf77bcb 88 [ADI_SENSE_1000_CHANNEL_ID_SPI_0] = {
kevin1990 19:a6d4bdcffb84 89 /* Accelerometer X-Axis (and common settings for physical channel) */
kevin1990 12:97457cf77bcb 90 .enableChannel = true,
kevin1990 12:97457cf77bcb 91 .disablePublishing = false,
kevin1990 12:97457cf77bcb 92 .compensationChannel = ADI_SENSE_1000_CHANNEL_ID_NONE,
kevin1990 12:97457cf77bcb 93 .measurementsPerCycle = 10,
kevin1990 12:97457cf77bcb 94 .extraSettlingTime = 10000,
kevin1990 19:a6d4bdcffb84 95 /* Optional threshold limits applied to the processed measurement results */
kevin1990 19:a6d4bdcffb84 96 .lowThreshold = -6.0,
kevin1990 19:a6d4bdcffb84 97 .highThreshold = 6.0,
kevin1990 12:97457cf77bcb 98 .spiChannelConfig = {
kevin1990 12:97457cf77bcb 99 .sensor = ADI_SENSE_1000_SPI_SENSOR_ACCELEROMETER_ADI_ADXL362,
kevin1990 12:97457cf77bcb 100 .configurationCommand = {
kevin1990 17:fd5ab3d27b15 101 .command = { 0x0A, 0x2C, 0x83 }, /* +/-8G range */
kevin1990 17:fd5ab3d27b15 102 .commandLength = 3,
kevin1990 12:97457cf77bcb 103 },
kevin1990 12:97457cf77bcb 104 },
kevin1990 12:97457cf77bcb 105 },
kevin1990 12:97457cf77bcb 106 [ADI_SENSE_1000_CHANNEL_ID_SPI_1] = {
kevin1990 19:a6d4bdcffb84 107 /* Accelerometer Y-Axis (virtual channel) */
kevin1990 12:97457cf77bcb 108 .enableChannel = true,
kevin1990 19:a6d4bdcffb84 109 /* Optional threshold limits applied to the processed measurement results */
kevin1990 19:a6d4bdcffb84 110 .lowThreshold = -6.0,
kevin1990 19:a6d4bdcffb84 111 .highThreshold = 6.0,
kevin1990 12:97457cf77bcb 112 },
kevin1990 12:97457cf77bcb 113 [ADI_SENSE_1000_CHANNEL_ID_SPI_2] = {
kevin1990 19:a6d4bdcffb84 114 /* Accelerometer Z-Axis (virtual channel) */
kevin1990 12:97457cf77bcb 115 .enableChannel = true,
kevin1990 19:a6d4bdcffb84 116 /* Optional adjustment applied to the raw input value from the sensor */
kevin1990 19:a6d4bdcffb84 117 .offsetAdjustment = -100,
kevin1990 19:a6d4bdcffb84 118 /* Optional threshold limits applied to the processed measurement results */
kevin1990 19:a6d4bdcffb84 119 .lowThreshold = -1.5,
kevin1990 19:a6d4bdcffb84 120 .highThreshold = 1.5,
kevin1990 12:97457cf77bcb 121 },
kevin1990 12:97457cf77bcb 122 },
kevin1990 12:97457cf77bcb 123 },
kevin1990 12:97457cf77bcb 124 };
kevin1990 12:97457cf77bcb 125