20200716 read Status Register each second

Dependencies:   SDFileSystem mbed-os-example-ble-GattServer max32630fthr

Committer:
aureliocarella
Date:
Thu Jul 16 14:59:04 2020 +0000
Revision:
21:51e162c130a9
20200716

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aureliocarella 21:51e162c130a9 1 /*******************************************************************************
aureliocarella 21:51e162c130a9 2 * Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
aureliocarella 21:51e162c130a9 3 *
aureliocarella 21:51e162c130a9 4 * Permission is hereby granted, free of charge, to any person obtaining a
aureliocarella 21:51e162c130a9 5 * copy of this software and associated documentation files (the "Software"),
aureliocarella 21:51e162c130a9 6 * to deal in the Software without restriction, including without limitation
aureliocarella 21:51e162c130a9 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
aureliocarella 21:51e162c130a9 8 * and/or sell copies of the Software, and to permit persons to whom the
aureliocarella 21:51e162c130a9 9 * Software is furnished to do so, subject to the following conditions:
aureliocarella 21:51e162c130a9 10 *
aureliocarella 21:51e162c130a9 11 * The above copyright notice and this permission notice shall be included
aureliocarella 21:51e162c130a9 12 * in all copies or substantial portions of the Software.
aureliocarella 21:51e162c130a9 13 *
aureliocarella 21:51e162c130a9 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
aureliocarella 21:51e162c130a9 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
aureliocarella 21:51e162c130a9 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
aureliocarella 21:51e162c130a9 17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
aureliocarella 21:51e162c130a9 18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
aureliocarella 21:51e162c130a9 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
aureliocarella 21:51e162c130a9 20 * OTHER DEALINGS IN THE SOFTWARE.
aureliocarella 21:51e162c130a9 21 *
aureliocarella 21:51e162c130a9 22 * Except as contained in this notice, the name of Maxim Integrated
aureliocarella 21:51e162c130a9 23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
aureliocarella 21:51e162c130a9 24 * Products, Inc. Branding Policy.
aureliocarella 21:51e162c130a9 25 *
aureliocarella 21:51e162c130a9 26 * The mere transfer of this software does not imply any licenses
aureliocarella 21:51e162c130a9 27 * of trade secrets, proprietary technology, copyrights, patents,
aureliocarella 21:51e162c130a9 28 * trademarks, maskwork rights, or any other form of intellectual
aureliocarella 21:51e162c130a9 29 * property whatsoever. Maxim Integrated Products, Inc. retains all
aureliocarella 21:51e162c130a9 30 * ownership rights.
aureliocarella 21:51e162c130a9 31 *******************************************************************************
aureliocarella 21:51e162c130a9 32 */
aureliocarella 21:51e162c130a9 33 #ifndef _RPCDECLARATIONS_H_
aureliocarella 21:51e162c130a9 34 #define _RPCDECLARATIONS_H_
aureliocarella 21:51e162c130a9 35
aureliocarella 21:51e162c130a9 36 /// define the parts of a RPC. ObjectName, MethodName and function
aureliocarella 21:51e162c130a9 37 struct RPC_registeredProcedure {
aureliocarella 21:51e162c130a9 38 const char *objectName;
aureliocarella 21:51e162c130a9 39 const char *methodName;
aureliocarella 21:51e162c130a9 40 //enum eArgType argTypes[4];
aureliocarella 21:51e162c130a9 41 int (*func)(char args[32][32], char results[32][32]);
aureliocarella 21:51e162c130a9 42 struct RPC_registeredProcedure *next;
aureliocarella 21:51e162c130a9 43 };
aureliocarella 21:51e162c130a9 44
aureliocarella 21:51e162c130a9 45 /// used to keep track of the head of the list and the end of a list
aureliocarella 21:51e162c130a9 46 struct RPC_Object {
aureliocarella 21:51e162c130a9 47 struct RPC_registeredProcedure *head;
aureliocarella 21:51e162c130a9 48 struct RPC_registeredProcedure *last;
aureliocarella 21:51e162c130a9 49 };
aureliocarella 21:51e162c130a9 50
aureliocarella 21:51e162c130a9 51 //example /I2c/WriteRead 1 A0 3 11 22 33 2
aureliocarella 21:51e162c130a9 52 #define System_NAME "System"
aureliocarella 21:51e162c130a9 53
aureliocarella 21:51e162c130a9 54 /**
aureliocarella 21:51e162c130a9 55 * @brief /System/ReadVer
aureliocarella 21:51e162c130a9 56 * @details Returns the version string of the FW that is currently running
aureliocarella 21:51e162c130a9 57 * @details Example: /System/ReadVer
aureliocarella 21:51e162c130a9 58 * @details The command returns a version string similar to this: "HSP FW Version 2.0.1f 8/23/16"
aureliocarella 21:51e162c130a9 59 */
aureliocarella 21:51e162c130a9 60 struct RPC_registeredProcedure Define_System_ReadVer = { System_NAME, "ReadVer", System_ReadVer };
aureliocarella 21:51e162c130a9 61 /**
aureliocarella 21:51e162c130a9 62 * @brief /System/ReadBuildTime
aureliocarella 21:51e162c130a9 63 * @details Returns the build string of the FW that is currently running, this is the time and date that the firmware was built
aureliocarella 21:51e162c130a9 64 * @details Example: /System/ReadBuildTime
aureliocarella 21:51e162c130a9 65 * @details The command returns a build string similar to this: "Build Time: Fri Jul 1 15:48:31 2016"
aureliocarella 21:51e162c130a9 66 */
aureliocarella 21:51e162c130a9 67 struct RPC_registeredProcedure Define_System_ReadBuildTime = { System_NAME, "ReadBuildTime", System_ReadBuildTime };
aureliocarella 21:51e162c130a9 68
aureliocarella 21:51e162c130a9 69 #define MAX30001_NAME "MAX30001"
aureliocarella 21:51e162c130a9 70 #define MAX30003_NAME "MAX30003"
aureliocarella 21:51e162c130a9 71
aureliocarella 21:51e162c130a9 72 #define MAX31725_NAME "MAX31725"
aureliocarella 21:51e162c130a9 73 #define MAX30205_NAME "MAX30205"
aureliocarella 21:51e162c130a9 74
aureliocarella 21:51e162c130a9 75 /**
aureliocarella 21:51e162c130a9 76 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 77 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 78 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 79 * @param sample_avg
aureliocarella 21:51e162c130a9 80 * @param sample_rate
aureliocarella 21:51e162c130a9 81 * @param pulse_width
aureliocarella 21:51e162c130a9 82 * @param red_led_current
aureliocarella 21:51e162c130a9 83 * @param ir_led_current
aureliocarella 21:51e162c130a9 84 */
aureliocarella 21:51e162c130a9 85 struct RPC_registeredProcedure Define_MAX30001_WriteReg = { MAX30001_NAME, "WriteReg", MAX30001_WriteReg };
aureliocarella 21:51e162c130a9 86 /**
aureliocarella 21:51e162c130a9 87 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 88 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 89 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 90 * @param sample_avg
aureliocarella 21:51e162c130a9 91 * @param sample_rate
aureliocarella 21:51e162c130a9 92 * @param pulse_width
aureliocarella 21:51e162c130a9 93 * @param red_led_current
aureliocarella 21:51e162c130a9 94 * @param ir_led_current
aureliocarella 21:51e162c130a9 95 */
aureliocarella 21:51e162c130a9 96 struct RPC_registeredProcedure Define_MAX30001_ReadReg = { MAX30001_NAME, "ReadReg", MAX30001_ReadReg };
aureliocarella 21:51e162c130a9 97 /**
aureliocarella 21:51e162c130a9 98 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 99 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 100 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 101 * @param sample_avg
aureliocarella 21:51e162c130a9 102 * @param sample_rate
aureliocarella 21:51e162c130a9 103 * @param pulse_width
aureliocarella 21:51e162c130a9 104 * @param red_led_current
aureliocarella 21:51e162c130a9 105 * @param ir_led_current
aureliocarella 21:51e162c130a9 106 */
aureliocarella 21:51e162c130a9 107 struct RPC_registeredProcedure Define_MAX30001_Start = { MAX30001_NAME, "Start", MAX30001_Start };
aureliocarella 21:51e162c130a9 108 /**
aureliocarella 21:51e162c130a9 109 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 110 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 111 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 112 * @param sample_avg
aureliocarella 21:51e162c130a9 113 * @param sample_rate
aureliocarella 21:51e162c130a9 114 * @param pulse_width
aureliocarella 21:51e162c130a9 115 * @param red_led_current
aureliocarella 21:51e162c130a9 116 * @param ir_led_current
aureliocarella 21:51e162c130a9 117 */
aureliocarella 21:51e162c130a9 118 struct RPC_registeredProcedure Define_MAX30001_Stop = { MAX30001_NAME, "Stop", MAX30001_Stop };
aureliocarella 21:51e162c130a9 119 /**
aureliocarella 21:51e162c130a9 120 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 121 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 122 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 123 * @param sample_avg
aureliocarella 21:51e162c130a9 124 * @param sample_rate
aureliocarella 21:51e162c130a9 125 * @param pulse_width
aureliocarella 21:51e162c130a9 126 * @param red_led_current
aureliocarella 21:51e162c130a9 127 * @param ir_led_current
aureliocarella 21:51e162c130a9 128 */
aureliocarella 21:51e162c130a9 129 struct RPC_registeredProcedure Define_MAX30001_Rbias_FMSTR_Init = { MAX30001_NAME, "Rbias_FMSTR_Init", MAX30001_Rbias_FMSTR_Init };
aureliocarella 21:51e162c130a9 130 /**
aureliocarella 21:51e162c130a9 131 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 132 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 133 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 134 * @param sample_avg
aureliocarella 21:51e162c130a9 135 * @param sample_rate
aureliocarella 21:51e162c130a9 136 * @param pulse_width
aureliocarella 21:51e162c130a9 137 * @param red_led_current
aureliocarella 21:51e162c130a9 138 * @param ir_led_current
aureliocarella 21:51e162c130a9 139 */
aureliocarella 21:51e162c130a9 140 struct RPC_registeredProcedure Define_MAX30001_CAL_InitStart = { MAX30001_NAME, "CAL_InitStart", MAX30001_CAL_InitStart };
aureliocarella 21:51e162c130a9 141 /**
aureliocarella 21:51e162c130a9 142 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 143 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 144 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 145 * @param sample_avg
aureliocarella 21:51e162c130a9 146 * @param sample_rate
aureliocarella 21:51e162c130a9 147 * @param pulse_width
aureliocarella 21:51e162c130a9 148 * @param red_led_current
aureliocarella 21:51e162c130a9 149 * @param ir_led_current
aureliocarella 21:51e162c130a9 150 */
aureliocarella 21:51e162c130a9 151 struct RPC_registeredProcedure Define_MAX30001_ECG_InitStart = { MAX30001_NAME, "ECG_InitStart", MAX30001_ECG_InitStart };
aureliocarella 21:51e162c130a9 152 /**
aureliocarella 21:51e162c130a9 153 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 154 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 155 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 156 * @param sample_avg
aureliocarella 21:51e162c130a9 157 * @param sample_rate
aureliocarella 21:51e162c130a9 158 * @param pulse_width
aureliocarella 21:51e162c130a9 159 * @param red_led_current
aureliocarella 21:51e162c130a9 160 * @param ir_led_current
aureliocarella 21:51e162c130a9 161 */
aureliocarella 21:51e162c130a9 162 struct RPC_registeredProcedure Define_MAX30001_ECGFast_Init = { MAX30001_NAME, "ECGFast_Init", MAX30001_ECGFast_Init };
aureliocarella 21:51e162c130a9 163 /**
aureliocarella 21:51e162c130a9 164 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 165 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 166 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 167 * @param sample_avg
aureliocarella 21:51e162c130a9 168 * @param sample_rate
aureliocarella 21:51e162c130a9 169 * @param pulse_width
aureliocarella 21:51e162c130a9 170 * @param red_led_current
aureliocarella 21:51e162c130a9 171 * @param ir_led_current
aureliocarella 21:51e162c130a9 172 */
aureliocarella 21:51e162c130a9 173 struct RPC_registeredProcedure Define_MAX30001_PACE_InitStart = { MAX30001_NAME, "PACE_InitStart", MAX30001_PACE_InitStart };
aureliocarella 21:51e162c130a9 174 /**
aureliocarella 21:51e162c130a9 175 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 176 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 177 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 178 * @param sample_avg
aureliocarella 21:51e162c130a9 179 * @param sample_rate
aureliocarella 21:51e162c130a9 180 * @param pulse_width
aureliocarella 21:51e162c130a9 181 * @param red_led_current
aureliocarella 21:51e162c130a9 182 * @param ir_led_current
aureliocarella 21:51e162c130a9 183 */
aureliocarella 21:51e162c130a9 184 struct RPC_registeredProcedure Define_MAX30001_BIOZ_InitStart = { MAX30001_NAME, "BIOZ_InitStart", MAX30001_BIOZ_InitStart };
aureliocarella 21:51e162c130a9 185 /**
aureliocarella 21:51e162c130a9 186 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 187 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 188 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 189 * @param sample_avg
aureliocarella 21:51e162c130a9 190 * @param sample_rate
aureliocarella 21:51e162c130a9 191 * @param pulse_width
aureliocarella 21:51e162c130a9 192 * @param red_led_current
aureliocarella 21:51e162c130a9 193 * @param ir_led_current
aureliocarella 21:51e162c130a9 194 */
aureliocarella 21:51e162c130a9 195 struct RPC_registeredProcedure Define_MAX30001_RtoR_InitStart = { MAX30001_NAME, "RtoR_InitStart", MAX30001_RtoR_InitStart };
aureliocarella 21:51e162c130a9 196 /**
aureliocarella 21:51e162c130a9 197 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 198 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 199 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 200 * @param sample_avg
aureliocarella 21:51e162c130a9 201 * @param sample_rate
aureliocarella 21:51e162c130a9 202 * @param pulse_width
aureliocarella 21:51e162c130a9 203 * @param red_led_current
aureliocarella 21:51e162c130a9 204 * @param ir_led_current
aureliocarella 21:51e162c130a9 205 */
aureliocarella 21:51e162c130a9 206 struct RPC_registeredProcedure Define_MAX30001_Stop_ECG = { MAX30001_NAME, "Stop_ECG", MAX30001_Stop_ECG };
aureliocarella 21:51e162c130a9 207 /**
aureliocarella 21:51e162c130a9 208 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 209 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 210 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 211 * @param sample_avg
aureliocarella 21:51e162c130a9 212 * @param sample_rate
aureliocarella 21:51e162c130a9 213 * @param pulse_width
aureliocarella 21:51e162c130a9 214 * @param red_led_current
aureliocarella 21:51e162c130a9 215 * @param ir_led_current
aureliocarella 21:51e162c130a9 216 */
aureliocarella 21:51e162c130a9 217 struct RPC_registeredProcedure Define_MAX30001_Stop_PACE = { MAX30001_NAME, "Stop_PACE", MAX30001_Stop_PACE };
aureliocarella 21:51e162c130a9 218 /**
aureliocarella 21:51e162c130a9 219 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 220 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 221 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 222 * @param sample_avg
aureliocarella 21:51e162c130a9 223 * @param sample_rate
aureliocarella 21:51e162c130a9 224 * @param pulse_width
aureliocarella 21:51e162c130a9 225 * @param red_led_current
aureliocarella 21:51e162c130a9 226 * @param ir_led_current
aureliocarella 21:51e162c130a9 227 */
aureliocarella 21:51e162c130a9 228 struct RPC_registeredProcedure Define_MAX30001_Stop_BIOZ = { MAX30001_NAME, "Stop_BIOZ", MAX30001_Stop_BIOZ };
aureliocarella 21:51e162c130a9 229 /**
aureliocarella 21:51e162c130a9 230 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 231 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 232 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 233 * @param sample_avg
aureliocarella 21:51e162c130a9 234 * @param sample_rate
aureliocarella 21:51e162c130a9 235 * @param pulse_width
aureliocarella 21:51e162c130a9 236 * @param red_led_current
aureliocarella 21:51e162c130a9 237 * @param ir_led_current
aureliocarella 21:51e162c130a9 238 */
aureliocarella 21:51e162c130a9 239 struct RPC_registeredProcedure Define_MAX30001_Stop_RtoR = { MAX30001_NAME, "Stop_RtoR", MAX30001_Stop_RtoR };
aureliocarella 21:51e162c130a9 240 /**
aureliocarella 21:51e162c130a9 241 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 242 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 243 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 244 * @param sample_avg
aureliocarella 21:51e162c130a9 245 * @param sample_rate
aureliocarella 21:51e162c130a9 246 * @param pulse_width
aureliocarella 21:51e162c130a9 247 * @param red_led_current
aureliocarella 21:51e162c130a9 248 * @param ir_led_current
aureliocarella 21:51e162c130a9 249 */
aureliocarella 21:51e162c130a9 250 struct RPC_registeredProcedure Define_MAX30001_Stop_Cal = { MAX30001_NAME, "Stop_Cal", MAX30001_Stop_Cal };
aureliocarella 21:51e162c130a9 251 /**
aureliocarella 21:51e162c130a9 252 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 253 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 254 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 255 * @param sample_avg
aureliocarella 21:51e162c130a9 256 * @param sample_rate
aureliocarella 21:51e162c130a9 257 * @param pulse_width
aureliocarella 21:51e162c130a9 258 * @param red_led_current
aureliocarella 21:51e162c130a9 259 * @param ir_led_current
aureliocarella 21:51e162c130a9 260 */
aureliocarella 21:51e162c130a9 261 struct RPC_registeredProcedure Define_MAX30001_Enable_ECG_LeadON = { MAX30001_NAME, "Enable_ECG_LeadON", MAX30001_Enable_ECG_LeadON };
aureliocarella 21:51e162c130a9 262 /**
aureliocarella 21:51e162c130a9 263 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 264 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 265 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 266 * @param sample_avg
aureliocarella 21:51e162c130a9 267 * @param sample_rate
aureliocarella 21:51e162c130a9 268 * @param pulse_width
aureliocarella 21:51e162c130a9 269 * @param red_led_current
aureliocarella 21:51e162c130a9 270 * @param ir_led_current
aureliocarella 21:51e162c130a9 271 */
aureliocarella 21:51e162c130a9 272 struct RPC_registeredProcedure Define_MAX30001_Enable_BIOZ_LeadON = { MAX30001_NAME, "Enable_BIOZ_LeadON", MAX30001_Enable_BIOZ_LeadON };
aureliocarella 21:51e162c130a9 273 /**
aureliocarella 21:51e162c130a9 274 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 275 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 276 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 277 * @param sample_avg
aureliocarella 21:51e162c130a9 278 * @param sample_rate
aureliocarella 21:51e162c130a9 279 * @param pulse_width
aureliocarella 21:51e162c130a9 280 * @param red_led_current
aureliocarella 21:51e162c130a9 281 * @param ir_led_current
aureliocarella 21:51e162c130a9 282 */
aureliocarella 21:51e162c130a9 283 struct RPC_registeredProcedure Define_MAX30001_Read_LeadON = { MAX30001_NAME, "Read_LeadON", MAX30001_Read_LeadON };
aureliocarella 21:51e162c130a9 284 /**
aureliocarella 21:51e162c130a9 285 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 286 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 287 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 288 * @param sample_avg
aureliocarella 21:51e162c130a9 289 * @param sample_rate
aureliocarella 21:51e162c130a9 290 * @param pulse_width
aureliocarella 21:51e162c130a9 291 * @param red_led_current
aureliocarella 21:51e162c130a9 292 * @param ir_led_current
aureliocarella 21:51e162c130a9 293 */
aureliocarella 21:51e162c130a9 294 struct RPC_registeredProcedure Define_MAX30001_StartTest = { MAX30001_NAME, "StartTest", MAX30001_StartTest };
aureliocarella 21:51e162c130a9 295 /**
aureliocarella 21:51e162c130a9 296 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
aureliocarella 21:51e162c130a9 297 * @details This function sets up for the SpO2 mode.
aureliocarella 21:51e162c130a9 298 * @param fifo_waterlevel_mark
aureliocarella 21:51e162c130a9 299 * @param sample_avg
aureliocarella 21:51e162c130a9 300 * @param sample_rate
aureliocarella 21:51e162c130a9 301 * @param pulse_width
aureliocarella 21:51e162c130a9 302 * @param red_led_current
aureliocarella 21:51e162c130a9 303 * @param ir_led_current
aureliocarella 21:51e162c130a9 304 */
aureliocarella 21:51e162c130a9 305 struct RPC_registeredProcedure Define_MAX30001_INT_assignment = { MAX30001_NAME, "INT_assignment", MAX30001_INT_assignment };
aureliocarella 21:51e162c130a9 306
aureliocarella 21:51e162c130a9 307 #define LOGGING_NAME "Logging"
aureliocarella 21:51e162c130a9 308 /**
aureliocarella 21:51e162c130a9 309 * @brief /Logging/StartMissionDefine
aureliocarella 21:51e162c130a9 310 * @details A command to send when you are starting to define a mission
aureliocarella 21:51e162c130a9 311 */
aureliocarella 21:51e162c130a9 312 struct RPC_registeredProcedure Define_Logging_StartMissionDefine = { LOGGING_NAME, "StartMissionDefine", Logging_RPC_StartMissionDefine };
aureliocarella 21:51e162c130a9 313 /**
aureliocarella 21:51e162c130a9 314 * @brief /Logging/AppendMissionCmd missionString
aureliocarella 21:51e162c130a9 315 * @details Specify a RPC command that is part of a mission
aureliocarella 21:51e162c130a9 316 */
aureliocarella 21:51e162c130a9 317 struct RPC_registeredProcedure Define_Logging_AppendMissionCmd = { LOGGING_NAME, "AppendMissionCmd", Logging_RPC_AppendMissionCmd };
aureliocarella 21:51e162c130a9 318 /**
aureliocarella 21:51e162c130a9 319 * @brief /Logging/EndMissionDefine
aureliocarella 21:51e162c130a9 320 * @details RPC command that indicated the end of defining a mission
aureliocarella 21:51e162c130a9 321 */
aureliocarella 21:51e162c130a9 322 struct RPC_registeredProcedure Define_Logging_EndMissionDefine = { LOGGING_NAME, "EndMissionDefine", Logging_RPC_EndMissionDefine };
aureliocarella 21:51e162c130a9 323 /**
aureliocarella 21:51e162c130a9 324 * @brief /Logging/WriteMission
aureliocarella 21:51e162c130a9 325 * @details Write the described mission to flash
aureliocarella 21:51e162c130a9 326 */
aureliocarella 21:51e162c130a9 327 struct RPC_registeredProcedure Define_Logging_WriteMission = { LOGGING_NAME, "WriteMission", Logging_RPC_WriteMission };
aureliocarella 21:51e162c130a9 328 /**
aureliocarella 21:51e162c130a9 329 * @brief /Logging/ReadMission
aureliocarella 21:51e162c130a9 330 * @details Read the mission from flash
aureliocarella 21:51e162c130a9 331 */
aureliocarella 21:51e162c130a9 332 struct RPC_registeredProcedure Define_Logging_ReadMission = { LOGGING_NAME, "ReadMission", Logging_RPC_ReadMission };
aureliocarella 21:51e162c130a9 333 /**
aureliocarella 21:51e162c130a9 334 * @brief /Logging/EraseMission
aureliocarella 21:51e162c130a9 335 * @details Erase the mission in flash
aureliocarella 21:51e162c130a9 336 */
aureliocarella 21:51e162c130a9 337 struct RPC_registeredProcedure Define_Logging_EraseMission = { LOGGING_NAME, "EraseMission", Logging_RPC_EraseMission };
aureliocarella 21:51e162c130a9 338 /**
aureliocarella 21:51e162c130a9 339 * @brief /Logging/EraseWrittenSectors
aureliocarella 21:51e162c130a9 340 * @details Erase the datalog in flash, this erases all of the datalog that has been written to the flash
aureliocarella 21:51e162c130a9 341 */
aureliocarella 21:51e162c130a9 342 struct RPC_registeredProcedure Define_Logging_EraseWrittenSectors = { LOGGING_NAME, "EraseWrittenSectors", Logging_EraseWrittenSectors };
aureliocarella 21:51e162c130a9 343 /**
aureliocarella 21:51e162c130a9 344 * @brief /Logging/StartLoggingUsb
aureliocarella 21:51e162c130a9 345 * @details Start streaming data through USB
aureliocarella 21:51e162c130a9 346 */
aureliocarella 21:51e162c130a9 347 struct RPC_registeredProcedure Define_Logging_StartLoggingUsb = { LOGGING_NAME, "StartLoggingUsb", Logging_StartLoggingUsb };
aureliocarella 21:51e162c130a9 348 /**
aureliocarella 21:51e162c130a9 349 * @brief /Logging/StartLoggingFlash
aureliocarella 21:51e162c130a9 350 * @details Start logging data to flash
aureliocarella 21:51e162c130a9 351 */
aureliocarella 21:51e162c130a9 352 struct RPC_registeredProcedure Define_Logging_StartLoggingFlash = { LOGGING_NAME, "StartLoggingFlash", Logging_StartLoggingFlash };
aureliocarella 21:51e162c130a9 353 /**
aureliocarella 21:51e162c130a9 354 * @brief /Logging/GetLastWrittenPage
aureliocarella 21:51e162c130a9 355 * @details Returns the last page that has been written to flash, this call searchs until it finds an empty flash page
aureliocarella 21:51e162c130a9 356 */
aureliocarella 21:51e162c130a9 357 struct RPC_registeredProcedure Define_Logging_GetLastWrittenPage = { LOGGING_NAME, "GetLastWrittenPage", Logging_GetLastWrittenPage };
aureliocarella 21:51e162c130a9 358 /**
aureliocarella 21:51e162c130a9 359 * @brief /Logging/Start
aureliocarella 21:51e162c130a9 360 * @details Starts a datalogging session into flash, allows the ability to start datalogging via RPC call
aureliocarella 21:51e162c130a9 361 */
aureliocarella 21:51e162c130a9 362 struct RPC_registeredProcedure Define_Logging_Start = { LOGGING_NAME, "Start", Logging_Start };
aureliocarella 21:51e162c130a9 363
aureliocarella 21:51e162c130a9 364 #define LED_NAME "Led"
aureliocarella 21:51e162c130a9 365 /**
aureliocarella 21:51e162c130a9 366 * @brief /Led/On
aureliocarella 21:51e162c130a9 367 * @details Turn on the HSP onboard LED
aureliocarella 21:51e162c130a9 368 */
aureliocarella 21:51e162c130a9 369 struct RPC_registeredProcedure Define_Led_On = { LED_NAME, "On", Led_On };
aureliocarella 21:51e162c130a9 370 /**
aureliocarella 21:51e162c130a9 371 * @brief /Led/Off
aureliocarella 21:51e162c130a9 372 * @details Turn off the HSP onboard LED
aureliocarella 21:51e162c130a9 373 */
aureliocarella 21:51e162c130a9 374 struct RPC_registeredProcedure Define_Led_Off = { LED_NAME, "Off", Led_Off };
aureliocarella 21:51e162c130a9 375 /**
aureliocarella 21:51e162c130a9 376 * @brief /Led/Blink mS
aureliocarella 21:51e162c130a9 377 * @details Start blinking the HSP onboard LED
aureliocarella 21:51e162c130a9 378 * @param mS Blink using a mS period
aureliocarella 21:51e162c130a9 379 */
aureliocarella 21:51e162c130a9 380 struct RPC_registeredProcedure Define_Led_BlinkHz = { LED_NAME, "Blink", Led_BlinkHz };
aureliocarella 21:51e162c130a9 381 /**
aureliocarella 21:51e162c130a9 382 * @brief /Led/Pattern pattern
aureliocarella 21:51e162c130a9 383 * @details Rotate a 32-bit pattern through the LED so that specific blink patterns can be obtained
aureliocarella 21:51e162c130a9 384 * @param pattern A 32-bit pattern to rotate through
aureliocarella 21:51e162c130a9 385 */
aureliocarella 21:51e162c130a9 386 struct RPC_registeredProcedure Define_Led_BlinkPattern = { LED_NAME, "Pattern", Led_BlinkPattern };
aureliocarella 21:51e162c130a9 387
aureliocarella 21:51e162c130a9 388 #define S25FS512_NAME "S25FS512"
aureliocarella 21:51e162c130a9 389 #define SDCARD_NAME "SDCard"
aureliocarella 21:51e162c130a9 390 /**
aureliocarella 21:51e162c130a9 391 * @brief /S25FS512/ReadId
aureliocarella 21:51e162c130a9 392 * @details Rotate a 32-bit pattern through the LED so that specific blink patterns can be obtained
aureliocarella 21:51e162c130a9 393 * @param pattern A 32-bit pattern to rotate through
aureliocarella 21:51e162c130a9 394 */
aureliocarella 21:51e162c130a9 395 struct RPC_registeredProcedure Define_S25FS512_ReadId = { S25FS512_NAME, "ReadId", S25FS512_ReadId };
aureliocarella 21:51e162c130a9 396 /**
aureliocarella 21:51e162c130a9 397 * @brief /S25FS512/ReadPagesBinary startPage endPage
aureliocarella 21:51e162c130a9 398 * @details Read a page from flash, return the data in binary (non-ascii)
aureliocarella 21:51e162c130a9 399 * @param startPage The Starting page to read from
aureliocarella 21:51e162c130a9 400 * @param endPage The last page to read from
aureliocarella 21:51e162c130a9 401 */
aureliocarella 21:51e162c130a9 402 struct RPC_registeredProcedure Define_S25FS512_ReadPagesBinary = { S25FS512_NAME, "ReadPagesBinary", S25FS512_ReadPagesBinary };
aureliocarella 21:51e162c130a9 403 /**
aureliocarella 21:51e162c130a9 404 * @brief /S25FS512/Reset
aureliocarella 21:51e162c130a9 405 * @details Issue a soft reset to the flash device
aureliocarella 21:51e162c130a9 406 */
aureliocarella 21:51e162c130a9 407 struct RPC_registeredProcedure Define_S25FS512_Reset = { S25FS512_NAME, "Reset", S25FS512_Reset };
aureliocarella 21:51e162c130a9 408 /**
aureliocarella 21:51e162c130a9 409 * @brief /S25FS512/EnableHWReset
aureliocarella 21:51e162c130a9 410 * @details Enable HW resets to the device
aureliocarella 21:51e162c130a9 411 */
aureliocarella 21:51e162c130a9 412 struct RPC_registeredProcedure Define_S25FS512_EnableHWReset = { S25FS512_NAME, "EnableHWReset", S25FS512_EnableHWReset };
aureliocarella 21:51e162c130a9 413 /**
aureliocarella 21:51e162c130a9 414 * @brief /S25FS512/SpiWriteRead
aureliocarella 21:51e162c130a9 415 * @details Write and read SPI to the flash device using Quad SPI
aureliocarella 21:51e162c130a9 416 */
aureliocarella 21:51e162c130a9 417 struct RPC_registeredProcedure Define_S25FS512_SpiWriteRead = { S25FS512_NAME, "SpiWriteRead", S25FS512_SpiWriteRead };
aureliocarella 21:51e162c130a9 418 /**
aureliocarella 21:51e162c130a9 419 * @brief /S25FS512/SpiWriteRead4Wire
aureliocarella 21:51e162c130a9 420 * @details Write and read SPI to the flash device using 4 wire
aureliocarella 21:51e162c130a9 421 */
aureliocarella 21:51e162c130a9 422 struct RPC_registeredProcedure Define_S25FS512_SpiWriteRead4Wire = { S25FS512_NAME, "SpiWriteRead4Wire", S25FS512_SpiWriteRead4Wire };
aureliocarella 21:51e162c130a9 423 /**
aureliocarella 21:51e162c130a9 424 * @brief /SDCard/IsReady
aureliocarella 21:51e162c130a9 425 * @details Check whether SD Card File System is accessible
aureliocarella 21:51e162c130a9 426 */
aureliocarella 21:51e162c130a9 427 struct RPC_registeredProcedure Define_SDCard_IsReady = { SDCARD_NAME, "IsReady", SDCard_IsReady };
aureliocarella 21:51e162c130a9 428
aureliocarella 21:51e162c130a9 429
aureliocarella 21:51e162c130a9 430 #define TESTING_NAME "Testing"
aureliocarella 21:51e162c130a9 431 /**
aureliocarella 21:51e162c130a9 432 * @brief /Testing/Test_S25FS512
aureliocarella 21:51e162c130a9 433 * @details Start a testing sequence for this device, returns PASS and FAIL strings and detailed results of the test
aureliocarella 21:51e162c130a9 434 */
aureliocarella 21:51e162c130a9 435 struct RPC_registeredProcedure Define_Testing_Test_S25FS512 = { TESTING_NAME, "Test_S25FS512", Test_S25FS512};
aureliocarella 21:51e162c130a9 436
aureliocarella 21:51e162c130a9 437 /**
aureliocarella 21:51e162c130a9 438 * @brief /Testing/Test_MAX30001
aureliocarella 21:51e162c130a9 439 * @details Start a testing sequence for this device, returns PASS and FAIL strings and detailed results of the test
aureliocarella 21:51e162c130a9 440 */
aureliocarella 21:51e162c130a9 441 struct RPC_registeredProcedure Define_Testing_Test_MAX30001 = { TESTING_NAME, "Test_MAX30001", Test_MAX30001 };
aureliocarella 21:51e162c130a9 442
aureliocarella 21:51e162c130a9 443 #endif /* _RPCDECLARATIONS_H_ */
aureliocarella 21:51e162c130a9 444