Example host software to display SpO2 or Heart Rate on wrist using the MAX32664GWEC or MAXREFDES101 with IR/Red LED board. It is recommended that the MAX32664 be loaded with the latest Maxim supplied algorithm (.msbl file).

Dependencies:   Maxim_Sensor_Hub_Communications BMI160 demoUI max32630hsp3

Fork of Host_Software_MAX32664GWEC_SpO2_HR by mehmet gok

Committer:
gmehmet
Date:
Thu Jan 03 09:48:12 2019 +0000
Revision:
12:9e3de2ece9c4
Parent:
0:ddc2fef69ef9
updates max32630hsp board to use lib directly

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gmehmet 0:ddc2fef69ef9 1 /*******************************************************************************
gmehmet 0:ddc2fef69ef9 2 * Copyright (C) 2018 Maxim Integrated Products, Inc., All Rights Reserved.
gmehmet 0:ddc2fef69ef9 3 *
gmehmet 0:ddc2fef69ef9 4 * Permission is hereby granted, free of charge, to any person obtaining a
gmehmet 0:ddc2fef69ef9 5 * copy of this software and associated documentation files (the "Software"),
gmehmet 0:ddc2fef69ef9 6 * to deal in the Software without restriction, including without limitation
gmehmet 0:ddc2fef69ef9 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
gmehmet 0:ddc2fef69ef9 8 * and/or sell copies of the Software, and to permit persons to whom the
gmehmet 0:ddc2fef69ef9 9 * Software is furnished to do so, subject to the following conditions:
gmehmet 0:ddc2fef69ef9 10 *
gmehmet 0:ddc2fef69ef9 11 * The above copyright notice and this permission notice shall be included
gmehmet 0:ddc2fef69ef9 12 * in all copies or substantial portions of the Software.
gmehmet 0:ddc2fef69ef9 13 *
gmehmet 0:ddc2fef69ef9 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
gmehmet 0:ddc2fef69ef9 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
gmehmet 0:ddc2fef69ef9 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
gmehmet 0:ddc2fef69ef9 17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
gmehmet 0:ddc2fef69ef9 18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
gmehmet 0:ddc2fef69ef9 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
gmehmet 0:ddc2fef69ef9 20 * OTHER DEALINGS IN THE SOFTWARE.
gmehmet 0:ddc2fef69ef9 21 *
gmehmet 0:ddc2fef69ef9 22 * Except as contained in this notice, the name of Maxim Integrated
gmehmet 0:ddc2fef69ef9 23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
gmehmet 0:ddc2fef69ef9 24 * Products, Inc. Branding Policy.
gmehmet 0:ddc2fef69ef9 25 *
gmehmet 0:ddc2fef69ef9 26 * The mere transfer of this software does not imply any licenses
gmehmet 0:ddc2fef69ef9 27 * of trade secrets, proprietary technology, copyrights, patents,
gmehmet 0:ddc2fef69ef9 28 * trademarks, maskwork rights, or any other form of intellectual
gmehmet 0:ddc2fef69ef9 29 * property whatsoever. Maxim Integrated Products, Inc. retains all
gmehmet 0:ddc2fef69ef9 30 * ownership rights.
gmehmet 0:ddc2fef69ef9 31 *******************************************************************************
gmehmet 0:ddc2fef69ef9 32 */
gmehmet 0:ddc2fef69ef9 33 #ifndef SH_Max8614x_BareMetal_H_
gmehmet 0:ddc2fef69ef9 34 #define SH_Max8614x_BareMetal_H_
gmehmet 0:ddc2fef69ef9 35
gmehmet 0:ddc2fef69ef9 36 #include <stdint.h>
gmehmet 0:ddc2fef69ef9 37 #include <stdio.h>
gmehmet 0:ddc2fef69ef9 38
gmehmet 0:ddc2fef69ef9 39 #define COMM_SUCCESS 0
gmehmet 0:ddc2fef69ef9 40 #define COMM_GENERAL_ERROR -1
gmehmet 0:ddc2fef69ef9 41 #define COMM_INVALID_PARAM -254
gmehmet 0:ddc2fef69ef9 42 #define COMM_NOT_RECOGNIZED -255
gmehmet 0:ddc2fef69ef9 43
gmehmet 0:ddc2fef69ef9 44 enum enAlgoMode{
gmehmet 0:ddc2fef69ef9 45 kAlgoModeHeartRate = 0,
gmehmet 0:ddc2fef69ef9 46 kAlgoModeSPO2
gmehmet 0:ddc2fef69ef9 47 };
gmehmet 0:ddc2fef69ef9 48
gmehmet 0:ddc2fef69ef9 49 /**
gmehmet 0:ddc2fef69ef9 50 * @brief Get the value of register at addr
gmehmet 0:ddc2fef69ef9 51 *
gmehmet 0:ddc2fef69ef9 52 * @param[in] addr - adress of the register
gmehmet 0:ddc2fef69ef9 53 * @param[out] val - value at the register
gmehmet 0:ddc2fef69ef9 54
gmehmet 0:ddc2fef69ef9 55 */
gmehmet 0:ddc2fef69ef9 56 void SH_Max8614x_get_reg(uint8_t addr, uint32_t *val);
gmehmet 0:ddc2fef69ef9 57
gmehmet 0:ddc2fef69ef9 58 /**
gmehmet 0:ddc2fef69ef9 59 * @brief Write a value to the register at address addr
gmehmet 0:ddc2fef69ef9 60 *
gmehmet 0:ddc2fef69ef9 61 * @param[in] addr - adress of the register to write
gmehmet 0:ddc2fef69ef9 62 * @param[in] val - value of the register to write
gmehmet 0:ddc2fef69ef9 63 */
gmehmet 0:ddc2fef69ef9 64 void SH_Max8614x_set_reg(uint8_t addr, uint32_t val);
gmehmet 0:ddc2fef69ef9 65
gmehmet 0:ddc2fef69ef9 66 /**
gmehmet 0:ddc2fef69ef9 67 * @brief Initialize Max86140 with default configuration
gmehmet 0:ddc2fef69ef9 68 *
gmehmet 0:ddc2fef69ef9 69 * @param[in] paramAlgoMode - the mode of the algorithm to initialize
gmehmet 0:ddc2fef69ef9 70 *
gmehmet 0:ddc2fef69ef9 71 * @return 0 on SUCCESS
gmehmet 0:ddc2fef69ef9 72 */
gmehmet 0:ddc2fef69ef9 73 int SH_Max8614x_default_init(enum enAlgoMode paramAlgoMode);
gmehmet 0:ddc2fef69ef9 74
gmehmet 0:ddc2fef69ef9 75 /**
gmehmet 0:ddc2fef69ef9 76 * @brief Check the data stored in the Sensor Hub. Reads and prints
gmehmet 0:ddc2fef69ef9 77 * the data if available
gmehmet 0:ddc2fef69ef9 78 *
gmehmet 0:ddc2fef69ef9 79 */
gmehmet 0:ddc2fef69ef9 80 int SH_Max8614x_data_report_execute(void);
gmehmet 0:ddc2fef69ef9 81
gmehmet 0:ddc2fef69ef9 82 /**
gmehmet 0:ddc2fef69ef9 83 * @brief Stops the active sensors and algorithms
gmehmet 0:ddc2fef69ef9 84 *
gmehmet 0:ddc2fef69ef9 85 */
gmehmet 0:ddc2fef69ef9 86 void SH_Max8614x_stop(void);
gmehmet 0:ddc2fef69ef9 87
gmehmet 0:ddc2fef69ef9 88
gmehmet 0:ddc2fef69ef9 89 extern uint16_t HrmResult;
gmehmet 0:ddc2fef69ef9 90 extern uint16_t SPO2Result;
gmehmet 0:ddc2fef69ef9 91 extern uint8_t HrmConfidence;
gmehmet 0:ddc2fef69ef9 92 extern uint8_t SPo2Confidence;
gmehmet 0:ddc2fef69ef9 93
gmehmet 0:ddc2fef69ef9 94 /* define to see debug messages*/
gmehmet 0:ddc2fef69ef9 95 #define DEBUG_INFO
gmehmet 0:ddc2fef69ef9 96
gmehmet 0:ddc2fef69ef9 97
gmehmet 0:ddc2fef69ef9 98
gmehmet 0:ddc2fef69ef9 99 #endif
gmehmet 0:ddc2fef69ef9 100
gmehmet 0:ddc2fef69ef9 101