repo time

Dependencies:   mbed MAX14720 MAX30205 USBDevice

Committer:
darienf
Date:
Tue Apr 06 06:41:40 2021 +0000
Revision:
20:6d2af70c92ab
another repo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
darienf 20:6d2af70c92ab 1 /*******************************************************************************
darienf 20:6d2af70c92ab 2 * Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
darienf 20:6d2af70c92ab 3 *
darienf 20:6d2af70c92ab 4 * Permission is hereby granted, free of charge, to any person obtaining a
darienf 20:6d2af70c92ab 5 * copy of this software and associated documentation files (the "Software"),
darienf 20:6d2af70c92ab 6 * to deal in the Software without restriction, including without limitation
darienf 20:6d2af70c92ab 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
darienf 20:6d2af70c92ab 8 * and/or sell copies of the Software, and to permit persons to whom the
darienf 20:6d2af70c92ab 9 * Software is furnished to do so, subject to the following conditions:
darienf 20:6d2af70c92ab 10 *
darienf 20:6d2af70c92ab 11 * The above copyright notice and this permission notice shall be included
darienf 20:6d2af70c92ab 12 * in all copies or substantial portions of the Software.
darienf 20:6d2af70c92ab 13 *
darienf 20:6d2af70c92ab 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
darienf 20:6d2af70c92ab 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
darienf 20:6d2af70c92ab 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
darienf 20:6d2af70c92ab 17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
darienf 20:6d2af70c92ab 18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
darienf 20:6d2af70c92ab 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
darienf 20:6d2af70c92ab 20 * OTHER DEALINGS IN THE SOFTWARE.
darienf 20:6d2af70c92ab 21 *
darienf 20:6d2af70c92ab 22 * Except as contained in this notice, the name of Maxim Integrated
darienf 20:6d2af70c92ab 23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
darienf 20:6d2af70c92ab 24 * Products, Inc. Branding Policy.
darienf 20:6d2af70c92ab 25 *
darienf 20:6d2af70c92ab 26 * The mere transfer of this software does not imply any licenses
darienf 20:6d2af70c92ab 27 * of trade secrets, proprietary technology, copyrights, patents,
darienf 20:6d2af70c92ab 28 * trademarks, maskwork rights, or any other form of intellectual
darienf 20:6d2af70c92ab 29 * property whatsoever. Maxim Integrated Products, Inc. retains all
darienf 20:6d2af70c92ab 30 * ownership rights.
darienf 20:6d2af70c92ab 31 *******************************************************************************
darienf 20:6d2af70c92ab 32 */
darienf 20:6d2af70c92ab 33 #ifndef _RPCDECLARATIONS_H_
darienf 20:6d2af70c92ab 34 #define _RPCDECLARATIONS_H_
darienf 20:6d2af70c92ab 35
darienf 20:6d2af70c92ab 36 /// define the parts of a RPC. ObjectName, MethodName and function
darienf 20:6d2af70c92ab 37 struct RPC_registeredProcedure {
darienf 20:6d2af70c92ab 38 const char *objectName;
darienf 20:6d2af70c92ab 39 const char *methodName;
darienf 20:6d2af70c92ab 40 //enum eArgType argTypes[4];
darienf 20:6d2af70c92ab 41 int (*func)(char args[32][32], char results[32][32]);
darienf 20:6d2af70c92ab 42 struct RPC_registeredProcedure *next;
darienf 20:6d2af70c92ab 43 };
darienf 20:6d2af70c92ab 44
darienf 20:6d2af70c92ab 45 /// used to keep track of the head of the list and the end of a list
darienf 20:6d2af70c92ab 46 struct RPC_Object {
darienf 20:6d2af70c92ab 47 struct RPC_registeredProcedure *head;
darienf 20:6d2af70c92ab 48 struct RPC_registeredProcedure *last;
darienf 20:6d2af70c92ab 49 };
darienf 20:6d2af70c92ab 50
darienf 20:6d2af70c92ab 51
darienf 20:6d2af70c92ab 52 #define I2C_NAME "I2c"
darienf 20:6d2af70c92ab 53 /**
darienf 20:6d2af70c92ab 54 * @brief /I2c/WriteRead instance slaveAddress writeNumber dataToWrite readNumber
darienf 20:6d2af70c92ab 55 * @details Command allows you to write and read generic I2c commands using a given I2c instance master
darienf 20:6d2af70c92ab 56 * @param instance The I2c master on the Nimitz to use
darienf 20:6d2af70c92ab 57 * @param slaveAddress Slave address to use when communicating
darienf 20:6d2af70c92ab 58 * @param writeNumber The number of bytes to write
darienf 20:6d2af70c92ab 59 * @param dataToWrite A series of space separated hex values that are to be written
darienf 20:6d2af70c92ab 60 * @param readNumber The number of bytes to read may be 0 if reading is not needed
darienf 20:6d2af70c92ab 61 * @details Example: /I2c/WriteRead 1 A0 3 11 22 33 2
darienf 20:6d2af70c92ab 62 * @details This performs an I2c write and read using instance 1, slave address A0, and writes 3 bytes,
darienf 20:6d2af70c92ab 63 * @details the 3 bytes that are written are 11 22 33, 2 bytes are meant to be read after the write
darienf 20:6d2af70c92ab 64 */
darienf 20:6d2af70c92ab 65 struct RPC_registeredProcedure Define_I2c_WriteRead = { I2C_NAME, "WriteRead", I2C_WriteRead };
darienf 20:6d2af70c92ab 66
darienf 20:6d2af70c92ab 67 //example /I2c/WriteRead 1 A0 3 11 22 33 2
darienf 20:6d2af70c92ab 68 #define System_NAME "System"
darienf 20:6d2af70c92ab 69
darienf 20:6d2af70c92ab 70 /**
darienf 20:6d2af70c92ab 71 * @brief /System/ReadVer
darienf 20:6d2af70c92ab 72 * @details Returns the version string of the FW that is currently running
darienf 20:6d2af70c92ab 73 * @details Example: /System/ReadVer
darienf 20:6d2af70c92ab 74 * @details The command returns a version string similar to this: "HSP FW Version 2.0.1f 8/23/16"
darienf 20:6d2af70c92ab 75 */
darienf 20:6d2af70c92ab 76 struct RPC_registeredProcedure Define_System_ReadVer = { System_NAME, "ReadVer", System_ReadVer };
darienf 20:6d2af70c92ab 77 /**
darienf 20:6d2af70c92ab 78 * @brief /System/ReadBuildTime
darienf 20:6d2af70c92ab 79 * @details Returns the build string of the FW that is currently running, this is the time and date that the firmware was built
darienf 20:6d2af70c92ab 80 * @details Example: /System/ReadBuildTime
darienf 20:6d2af70c92ab 81 * @details The command returns a build string similar to this: "Build Time: Fri Jul 1 15:48:31 2016"
darienf 20:6d2af70c92ab 82 */
darienf 20:6d2af70c92ab 83 struct RPC_registeredProcedure Define_System_ReadBuildTime = { System_NAME, "ReadBuildTime", System_ReadBuildTime };
darienf 20:6d2af70c92ab 84
darienf 20:6d2af70c92ab 85 #define MAX30101_NAME "MAX30101" //"MAX30101"
darienf 20:6d2af70c92ab 86 /**
darienf 20:6d2af70c92ab 87 * @brief /MAX30101/WriteReg address data
darienf 20:6d2af70c92ab 88 * @details Returns the version string of the FW that is currently running
darienf 20:6d2af70c92ab 89 * @param address Register address to write to within the MAX30101
darienf 20:6d2af70c92ab 90 * @param data The data to write to the MAX30101
darienf 20:6d2af70c92ab 91 * @details Example: /MAX30101/WriteReg 01 123456
darienf 20:6d2af70c92ab 92 */
darienf 20:6d2af70c92ab 93 struct RPC_registeredProcedure Define_MAX30101_WriteReg = { MAX30101_NAME, "WriteReg", MAX30101_WriteReg };
darienf 20:6d2af70c92ab 94 /**
darienf 20:6d2af70c92ab 95 * @brief /MAX30101/ReadReg address data
darienf 20:6d2af70c92ab 96 * @details Returns the version string of the FW that is currently running
darienf 20:6d2af70c92ab 97 * @param address Register address to write to within the MAX30101
darienf 20:6d2af70c92ab 98 * @param data The data to write to the MAX30101
darienf 20:6d2af70c92ab 99 * @details Example: /MAX30101/WriteReg 01 123456
darienf 20:6d2af70c92ab 100 */
darienf 20:6d2af70c92ab 101 struct RPC_registeredProcedure Define_MAX30101_ReadReg = { MAX30101_NAME, "ReadReg", MAX30101_ReadReg };
darienf 20:6d2af70c92ab 102 /**
darienf 20:6d2af70c92ab 103 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 104 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 105 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 106 * @param sample_avg
darienf 20:6d2af70c92ab 107 * @param sample_rate
darienf 20:6d2af70c92ab 108 * @param pulse_width
darienf 20:6d2af70c92ab 109 * @param red_led_current
darienf 20:6d2af70c92ab 110 * @param ir_led_current
darienf 20:6d2af70c92ab 111 */
darienf 20:6d2af70c92ab 112 struct RPC_registeredProcedure Define_MAX30101_SpO2mode_Init = { MAX30101_NAME, "SpO2mode_init", MAX30101_SpO2mode_init };
darienf 20:6d2af70c92ab 113 /**
darienf 20:6d2af70c92ab 114 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 115 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 116 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 117 * @param sample_avg
darienf 20:6d2af70c92ab 118 * @param sample_rate
darienf 20:6d2af70c92ab 119 * @param pulse_width
darienf 20:6d2af70c92ab 120 * @param red_led_current
darienf 20:6d2af70c92ab 121 * @param ir_led_current
darienf 20:6d2af70c92ab 122 */
darienf 20:6d2af70c92ab 123 struct RPC_registeredProcedure Define_MAX30101_SpO2mode_InitStart = { MAX30101_NAME, "SpO2mode_InitStart", MAX30101_SpO2mode_InitStart };
darienf 20:6d2af70c92ab 124 /**
darienf 20:6d2af70c92ab 125 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 126 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 127 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 128 * @param sample_avg
darienf 20:6d2af70c92ab 129 * @param sample_rate
darienf 20:6d2af70c92ab 130 * @param pulse_width
darienf 20:6d2af70c92ab 131 * @param red_led_current
darienf 20:6d2af70c92ab 132 * @param ir_led_current
darienf 20:6d2af70c92ab 133 */
darienf 20:6d2af70c92ab 134 struct RPC_registeredProcedure Define_MAX30101_HRmode_Init = { MAX30101_NAME, "HRmode_init", MAX30101_HRmode_init };
darienf 20:6d2af70c92ab 135 /**
darienf 20:6d2af70c92ab 136 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 137 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 138 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 139 * @param sample_avg
darienf 20:6d2af70c92ab 140 * @param sample_rate
darienf 20:6d2af70c92ab 141 * @param pulse_width
darienf 20:6d2af70c92ab 142 * @param red_led_current
darienf 20:6d2af70c92ab 143 * @param ir_led_current
darienf 20:6d2af70c92ab 144 */
darienf 20:6d2af70c92ab 145 struct RPC_registeredProcedure Define_MAX30101_HRmode_InitStart = { MAX30101_NAME, "HRmode_InitStart", MAX30101_HRmode_InitStart };
darienf 20:6d2af70c92ab 146 /**
darienf 20:6d2af70c92ab 147 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 148 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 149 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 150 * @param sample_avg
darienf 20:6d2af70c92ab 151 * @param sample_rate
darienf 20:6d2af70c92ab 152 * @param pulse_width
darienf 20:6d2af70c92ab 153 * @param red_led_current
darienf 20:6d2af70c92ab 154 * @param ir_led_current
darienf 20:6d2af70c92ab 155 */
darienf 20:6d2af70c92ab 156 struct RPC_registeredProcedure Define_MAX30101_Multimode_init = { MAX30101_NAME, "Multimode_init", MAX30101_Multimode_init };
darienf 20:6d2af70c92ab 157 /**
darienf 20:6d2af70c92ab 158 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 159 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 160 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 161 * @param sample_avg
darienf 20:6d2af70c92ab 162 * @param sample_rate
darienf 20:6d2af70c92ab 163 * @param pulse_width
darienf 20:6d2af70c92ab 164 * @param red_led_current
darienf 20:6d2af70c92ab 165 * @param ir_led_current
darienf 20:6d2af70c92ab 166 */
darienf 20:6d2af70c92ab 167 struct RPC_registeredProcedure Define_MAX30101_Multimode_InitStart = { MAX30101_NAME, "Multimode_InitStart", MAX30101_Multimode_InitStart };
darienf 20:6d2af70c92ab 168 /**
darienf 20:6d2af70c92ab 169 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 170 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 171 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 172 * @param sample_avg
darienf 20:6d2af70c92ab 173 * @param sample_rate
darienf 20:6d2af70c92ab 174 * @param pulse_width
darienf 20:6d2af70c92ab 175 * @param red_led_current
darienf 20:6d2af70c92ab 176 * @param ir_led_current
darienf 20:6d2af70c92ab 177 */
darienf 20:6d2af70c92ab 178 struct RPC_registeredProcedure Define_MAX30101_SpO2mode_stop = { MAX30101_NAME, "SpO2mode_stop", MAX30101_SpO2mode_stop };
darienf 20:6d2af70c92ab 179 /**
darienf 20:6d2af70c92ab 180 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 181 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 182 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 183 * @param sample_avg
darienf 20:6d2af70c92ab 184 * @param sample_rate
darienf 20:6d2af70c92ab 185 * @param pulse_width
darienf 20:6d2af70c92ab 186 * @param red_led_current
darienf 20:6d2af70c92ab 187 * @param ir_led_current
darienf 20:6d2af70c92ab 188 */
darienf 20:6d2af70c92ab 189 struct RPC_registeredProcedure Define_MAX30101_HRmode_stop = { MAX30101_NAME, "HRmode_stop", MAX30101_HRmode_stop };
darienf 20:6d2af70c92ab 190 /**
darienf 20:6d2af70c92ab 191 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 192 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 193 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 194 * @param sample_avg
darienf 20:6d2af70c92ab 195 * @param sample_rate
darienf 20:6d2af70c92ab 196 * @param pulse_width
darienf 20:6d2af70c92ab 197 * @param red_led_current
darienf 20:6d2af70c92ab 198 * @param ir_led_current
darienf 20:6d2af70c92ab 199 */
darienf 20:6d2af70c92ab 200 struct RPC_registeredProcedure Define_MAX30101_Multimode_stop = { MAX30101_NAME, "Multimode_stop", MAX30101_Multimode_stop };
darienf 20:6d2af70c92ab 201
darienf 20:6d2af70c92ab 202 #define MAX30001_NAME "MAX30001"
darienf 20:6d2af70c92ab 203 #define MAX30003_NAME "MAX30003"
darienf 20:6d2af70c92ab 204
darienf 20:6d2af70c92ab 205 #define MAX31725_NAME "MAX31725"
darienf 20:6d2af70c92ab 206 #define MAX30205_NAME "MAX30205"
darienf 20:6d2af70c92ab 207
darienf 20:6d2af70c92ab 208 /**
darienf 20:6d2af70c92ab 209 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 210 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 211 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 212 * @param sample_avg
darienf 20:6d2af70c92ab 213 * @param sample_rate
darienf 20:6d2af70c92ab 214 * @param pulse_width
darienf 20:6d2af70c92ab 215 * @param red_led_current
darienf 20:6d2af70c92ab 216 * @param ir_led_current
darienf 20:6d2af70c92ab 217 */
darienf 20:6d2af70c92ab 218 struct RPC_registeredProcedure Define_MAX30001_WriteReg = { MAX30001_NAME, "WriteReg", MAX30001_WriteReg };
darienf 20:6d2af70c92ab 219 /**
darienf 20:6d2af70c92ab 220 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 221 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 222 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 223 * @param sample_avg
darienf 20:6d2af70c92ab 224 * @param sample_rate
darienf 20:6d2af70c92ab 225 * @param pulse_width
darienf 20:6d2af70c92ab 226 * @param red_led_current
darienf 20:6d2af70c92ab 227 * @param ir_led_current
darienf 20:6d2af70c92ab 228 */
darienf 20:6d2af70c92ab 229 struct RPC_registeredProcedure Define_MAX30001_ReadReg = { MAX30001_NAME, "ReadReg", MAX30001_ReadReg };
darienf 20:6d2af70c92ab 230 /**
darienf 20:6d2af70c92ab 231 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 232 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 233 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 234 * @param sample_avg
darienf 20:6d2af70c92ab 235 * @param sample_rate
darienf 20:6d2af70c92ab 236 * @param pulse_width
darienf 20:6d2af70c92ab 237 * @param red_led_current
darienf 20:6d2af70c92ab 238 * @param ir_led_current
darienf 20:6d2af70c92ab 239 */
darienf 20:6d2af70c92ab 240 struct RPC_registeredProcedure Define_MAX30001_Start = { MAX30001_NAME, "Start", MAX30001_Start };
darienf 20:6d2af70c92ab 241 /**
darienf 20:6d2af70c92ab 242 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 243 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 244 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 245 * @param sample_avg
darienf 20:6d2af70c92ab 246 * @param sample_rate
darienf 20:6d2af70c92ab 247 * @param pulse_width
darienf 20:6d2af70c92ab 248 * @param red_led_current
darienf 20:6d2af70c92ab 249 * @param ir_led_current
darienf 20:6d2af70c92ab 250 */
darienf 20:6d2af70c92ab 251 struct RPC_registeredProcedure Define_MAX30001_Stop = { MAX30001_NAME, "Stop", MAX30001_Stop };
darienf 20:6d2af70c92ab 252 /**
darienf 20:6d2af70c92ab 253 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 254 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 255 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 256 * @param sample_avg
darienf 20:6d2af70c92ab 257 * @param sample_rate
darienf 20:6d2af70c92ab 258 * @param pulse_width
darienf 20:6d2af70c92ab 259 * @param red_led_current
darienf 20:6d2af70c92ab 260 * @param ir_led_current
darienf 20:6d2af70c92ab 261 */
darienf 20:6d2af70c92ab 262 struct RPC_registeredProcedure Define_MAX30001_Rbias_FMSTR_Init = { MAX30001_NAME, "Rbias_FMSTR_Init", MAX30001_Rbias_FMSTR_Init };
darienf 20:6d2af70c92ab 263 /**
darienf 20:6d2af70c92ab 264 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 265 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 266 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 267 * @param sample_avg
darienf 20:6d2af70c92ab 268 * @param sample_rate
darienf 20:6d2af70c92ab 269 * @param pulse_width
darienf 20:6d2af70c92ab 270 * @param red_led_current
darienf 20:6d2af70c92ab 271 * @param ir_led_current
darienf 20:6d2af70c92ab 272 */
darienf 20:6d2af70c92ab 273 struct RPC_registeredProcedure Define_MAX30001_CAL_InitStart = { MAX30001_NAME, "CAL_InitStart", MAX30001_CAL_InitStart };
darienf 20:6d2af70c92ab 274 /**
darienf 20:6d2af70c92ab 275 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 276 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 277 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 278 * @param sample_avg
darienf 20:6d2af70c92ab 279 * @param sample_rate
darienf 20:6d2af70c92ab 280 * @param pulse_width
darienf 20:6d2af70c92ab 281 * @param red_led_current
darienf 20:6d2af70c92ab 282 * @param ir_led_current
darienf 20:6d2af70c92ab 283 */
darienf 20:6d2af70c92ab 284 struct RPC_registeredProcedure Define_MAX30001_ECG_InitStart = { MAX30001_NAME, "ECG_InitStart", MAX30001_ECG_InitStart };
darienf 20:6d2af70c92ab 285 /**
darienf 20:6d2af70c92ab 286 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 287 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 288 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 289 * @param sample_avg
darienf 20:6d2af70c92ab 290 * @param sample_rate
darienf 20:6d2af70c92ab 291 * @param pulse_width
darienf 20:6d2af70c92ab 292 * @param red_led_current
darienf 20:6d2af70c92ab 293 * @param ir_led_current
darienf 20:6d2af70c92ab 294 */
darienf 20:6d2af70c92ab 295 struct RPC_registeredProcedure Define_MAX30001_ECGFast_Init = { MAX30001_NAME, "ECGFast_Init", MAX30001_ECGFast_Init };
darienf 20:6d2af70c92ab 296 /**
darienf 20:6d2af70c92ab 297 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 298 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 299 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 300 * @param sample_avg
darienf 20:6d2af70c92ab 301 * @param sample_rate
darienf 20:6d2af70c92ab 302 * @param pulse_width
darienf 20:6d2af70c92ab 303 * @param red_led_current
darienf 20:6d2af70c92ab 304 * @param ir_led_current
darienf 20:6d2af70c92ab 305 */
darienf 20:6d2af70c92ab 306 struct RPC_registeredProcedure Define_MAX30001_PACE_InitStart = { MAX30001_NAME, "PACE_InitStart", MAX30001_PACE_InitStart };
darienf 20:6d2af70c92ab 307 /**
darienf 20:6d2af70c92ab 308 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 309 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 310 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 311 * @param sample_avg
darienf 20:6d2af70c92ab 312 * @param sample_rate
darienf 20:6d2af70c92ab 313 * @param pulse_width
darienf 20:6d2af70c92ab 314 * @param red_led_current
darienf 20:6d2af70c92ab 315 * @param ir_led_current
darienf 20:6d2af70c92ab 316 */
darienf 20:6d2af70c92ab 317 struct RPC_registeredProcedure Define_MAX30001_BIOZ_InitStart = { MAX30001_NAME, "BIOZ_InitStart", MAX30001_BIOZ_InitStart };
darienf 20:6d2af70c92ab 318 /**
darienf 20:6d2af70c92ab 319 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 320 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 321 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 322 * @param sample_avg
darienf 20:6d2af70c92ab 323 * @param sample_rate
darienf 20:6d2af70c92ab 324 * @param pulse_width
darienf 20:6d2af70c92ab 325 * @param red_led_current
darienf 20:6d2af70c92ab 326 * @param ir_led_current
darienf 20:6d2af70c92ab 327 */
darienf 20:6d2af70c92ab 328 struct RPC_registeredProcedure Define_MAX30001_RtoR_InitStart = { MAX30001_NAME, "RtoR_InitStart", MAX30001_RtoR_InitStart };
darienf 20:6d2af70c92ab 329 /**
darienf 20:6d2af70c92ab 330 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 331 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 332 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 333 * @param sample_avg
darienf 20:6d2af70c92ab 334 * @param sample_rate
darienf 20:6d2af70c92ab 335 * @param pulse_width
darienf 20:6d2af70c92ab 336 * @param red_led_current
darienf 20:6d2af70c92ab 337 * @param ir_led_current
darienf 20:6d2af70c92ab 338 */
darienf 20:6d2af70c92ab 339 struct RPC_registeredProcedure Define_MAX30001_Stop_ECG = { MAX30001_NAME, "Stop_ECG", MAX30001_Stop_ECG };
darienf 20:6d2af70c92ab 340 /**
darienf 20:6d2af70c92ab 341 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 342 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 343 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 344 * @param sample_avg
darienf 20:6d2af70c92ab 345 * @param sample_rate
darienf 20:6d2af70c92ab 346 * @param pulse_width
darienf 20:6d2af70c92ab 347 * @param red_led_current
darienf 20:6d2af70c92ab 348 * @param ir_led_current
darienf 20:6d2af70c92ab 349 */
darienf 20:6d2af70c92ab 350 struct RPC_registeredProcedure Define_MAX30001_Stop_PACE = { MAX30001_NAME, "Stop_PACE", MAX30001_Stop_PACE };
darienf 20:6d2af70c92ab 351 /**
darienf 20:6d2af70c92ab 352 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 353 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 354 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 355 * @param sample_avg
darienf 20:6d2af70c92ab 356 * @param sample_rate
darienf 20:6d2af70c92ab 357 * @param pulse_width
darienf 20:6d2af70c92ab 358 * @param red_led_current
darienf 20:6d2af70c92ab 359 * @param ir_led_current
darienf 20:6d2af70c92ab 360 */
darienf 20:6d2af70c92ab 361 struct RPC_registeredProcedure Define_MAX30001_Stop_BIOZ = { MAX30001_NAME, "Stop_BIOZ", MAX30001_Stop_BIOZ };
darienf 20:6d2af70c92ab 362 /**
darienf 20:6d2af70c92ab 363 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 364 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 365 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 366 * @param sample_avg
darienf 20:6d2af70c92ab 367 * @param sample_rate
darienf 20:6d2af70c92ab 368 * @param pulse_width
darienf 20:6d2af70c92ab 369 * @param red_led_current
darienf 20:6d2af70c92ab 370 * @param ir_led_current
darienf 20:6d2af70c92ab 371 */
darienf 20:6d2af70c92ab 372 struct RPC_registeredProcedure Define_MAX30001_Stop_RtoR = { MAX30001_NAME, "Stop_RtoR", MAX30001_Stop_RtoR };
darienf 20:6d2af70c92ab 373 /**
darienf 20:6d2af70c92ab 374 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 375 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 376 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 377 * @param sample_avg
darienf 20:6d2af70c92ab 378 * @param sample_rate
darienf 20:6d2af70c92ab 379 * @param pulse_width
darienf 20:6d2af70c92ab 380 * @param red_led_current
darienf 20:6d2af70c92ab 381 * @param ir_led_current
darienf 20:6d2af70c92ab 382 */
darienf 20:6d2af70c92ab 383 struct RPC_registeredProcedure Define_MAX30001_Stop_Cal = { MAX30001_NAME, "Stop_Cal", MAX30001_Stop_Cal };
darienf 20:6d2af70c92ab 384 /**
darienf 20:6d2af70c92ab 385 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 386 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 387 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 388 * @param sample_avg
darienf 20:6d2af70c92ab 389 * @param sample_rate
darienf 20:6d2af70c92ab 390 * @param pulse_width
darienf 20:6d2af70c92ab 391 * @param red_led_current
darienf 20:6d2af70c92ab 392 * @param ir_led_current
darienf 20:6d2af70c92ab 393 */
darienf 20:6d2af70c92ab 394 struct RPC_registeredProcedure Define_MAX30001_Enable_ECG_LeadON = { MAX30001_NAME, "Enable_ECG_LeadON", MAX30001_Enable_ECG_LeadON };
darienf 20:6d2af70c92ab 395 /**
darienf 20:6d2af70c92ab 396 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 397 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 398 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 399 * @param sample_avg
darienf 20:6d2af70c92ab 400 * @param sample_rate
darienf 20:6d2af70c92ab 401 * @param pulse_width
darienf 20:6d2af70c92ab 402 * @param red_led_current
darienf 20:6d2af70c92ab 403 * @param ir_led_current
darienf 20:6d2af70c92ab 404 */
darienf 20:6d2af70c92ab 405 struct RPC_registeredProcedure Define_MAX30001_Enable_BIOZ_LeadON = { MAX30001_NAME, "Enable_BIOZ_LeadON", MAX30001_Enable_BIOZ_LeadON };
darienf 20:6d2af70c92ab 406 /**
darienf 20:6d2af70c92ab 407 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 408 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 409 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 410 * @param sample_avg
darienf 20:6d2af70c92ab 411 * @param sample_rate
darienf 20:6d2af70c92ab 412 * @param pulse_width
darienf 20:6d2af70c92ab 413 * @param red_led_current
darienf 20:6d2af70c92ab 414 * @param ir_led_current
darienf 20:6d2af70c92ab 415 */
darienf 20:6d2af70c92ab 416 struct RPC_registeredProcedure Define_MAX30001_Read_LeadON = { MAX30001_NAME, "Read_LeadON", MAX30001_Read_LeadON };
darienf 20:6d2af70c92ab 417 /**
darienf 20:6d2af70c92ab 418 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 419 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 420 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 421 * @param sample_avg
darienf 20:6d2af70c92ab 422 * @param sample_rate
darienf 20:6d2af70c92ab 423 * @param pulse_width
darienf 20:6d2af70c92ab 424 * @param red_led_current
darienf 20:6d2af70c92ab 425 * @param ir_led_current
darienf 20:6d2af70c92ab 426 */
darienf 20:6d2af70c92ab 427 struct RPC_registeredProcedure Define_MAX30001_StartTest = { MAX30001_NAME, "StartTest", MAX30001_StartTest };
darienf 20:6d2af70c92ab 428 /**
darienf 20:6d2af70c92ab 429 * @brief /MAX30101/SpO2mode_init fifo_waterlevel_mark sample_avg sample_rate pulse_width red_led_current ir_led_current
darienf 20:6d2af70c92ab 430 * @details This function sets up for the SpO2 mode.
darienf 20:6d2af70c92ab 431 * @param fifo_waterlevel_mark
darienf 20:6d2af70c92ab 432 * @param sample_avg
darienf 20:6d2af70c92ab 433 * @param sample_rate
darienf 20:6d2af70c92ab 434 * @param pulse_width
darienf 20:6d2af70c92ab 435 * @param red_led_current
darienf 20:6d2af70c92ab 436 * @param ir_led_current
darienf 20:6d2af70c92ab 437 */
darienf 20:6d2af70c92ab 438 struct RPC_registeredProcedure Define_MAX30001_INT_assignment = { MAX30001_NAME, "INT_assignment", MAX30001_INT_assignment };
darienf 20:6d2af70c92ab 439
darienf 20:6d2af70c92ab 440 #define LOGGING_NAME "Logging"
darienf 20:6d2af70c92ab 441 /**
darienf 20:6d2af70c92ab 442 * @brief /Logging/StartMissionDefine
darienf 20:6d2af70c92ab 443 * @details A command to send when you are starting to define a mission
darienf 20:6d2af70c92ab 444 */
darienf 20:6d2af70c92ab 445 struct RPC_registeredProcedure Define_Logging_StartMissionDefine = { LOGGING_NAME, "StartMissionDefine", Logging_RPC_StartMissionDefine };
darienf 20:6d2af70c92ab 446 /**
darienf 20:6d2af70c92ab 447 * @brief /Logging/AppendMissionCmd missionString
darienf 20:6d2af70c92ab 448 * @details Specify a RPC command that is part of a mission
darienf 20:6d2af70c92ab 449 */
darienf 20:6d2af70c92ab 450 struct RPC_registeredProcedure Define_Logging_AppendMissionCmd = { LOGGING_NAME, "AppendMissionCmd", Logging_RPC_AppendMissionCmd };
darienf 20:6d2af70c92ab 451 /**
darienf 20:6d2af70c92ab 452 * @brief /Logging/EndMissionDefine
darienf 20:6d2af70c92ab 453 * @details RPC command that indicated the end of defining a mission
darienf 20:6d2af70c92ab 454 */
darienf 20:6d2af70c92ab 455 struct RPC_registeredProcedure Define_Logging_EndMissionDefine = { LOGGING_NAME, "EndMissionDefine", Logging_RPC_EndMissionDefine };
darienf 20:6d2af70c92ab 456 /**
darienf 20:6d2af70c92ab 457 * @brief /Logging/WriteMission
darienf 20:6d2af70c92ab 458 * @details Write the described mission to flash
darienf 20:6d2af70c92ab 459 */
darienf 20:6d2af70c92ab 460 struct RPC_registeredProcedure Define_Logging_WriteMission = { LOGGING_NAME, "WriteMission", Logging_RPC_WriteMission };
darienf 20:6d2af70c92ab 461 /**
darienf 20:6d2af70c92ab 462 * @brief /Logging/ReadMission
darienf 20:6d2af70c92ab 463 * @details Read the mission from flash
darienf 20:6d2af70c92ab 464 */
darienf 20:6d2af70c92ab 465 struct RPC_registeredProcedure Define_Logging_ReadMission = { LOGGING_NAME, "ReadMission", Logging_RPC_ReadMission };
darienf 20:6d2af70c92ab 466 /**
darienf 20:6d2af70c92ab 467 * @brief /Logging/EraseMission
darienf 20:6d2af70c92ab 468 * @details Erase the mission in flash
darienf 20:6d2af70c92ab 469 */
darienf 20:6d2af70c92ab 470 struct RPC_registeredProcedure Define_Logging_EraseMission = { LOGGING_NAME, "EraseMission", Logging_RPC_EraseMission };
darienf 20:6d2af70c92ab 471 /**
darienf 20:6d2af70c92ab 472 * @brief /Logging/EraseWrittenSectors
darienf 20:6d2af70c92ab 473 * @details Erase the datalog in flash, this erases all of the datalog that has been written to the flash
darienf 20:6d2af70c92ab 474 */
darienf 20:6d2af70c92ab 475 struct RPC_registeredProcedure Define_Logging_EraseWrittenSectors = { LOGGING_NAME, "EraseWrittenSectors", Logging_EraseWrittenSectors };
darienf 20:6d2af70c92ab 476 /**
darienf 20:6d2af70c92ab 477 * @brief /Logging/StartLoggingUsb
darienf 20:6d2af70c92ab 478 * @details Start streaming data through USB
darienf 20:6d2af70c92ab 479 */
darienf 20:6d2af70c92ab 480 struct RPC_registeredProcedure Define_Logging_StartLoggingUsb = { LOGGING_NAME, "StartLoggingUsb", Logging_StartLoggingUsb };
darienf 20:6d2af70c92ab 481 /**
darienf 20:6d2af70c92ab 482 * @brief /Logging/StartLoggingFlash
darienf 20:6d2af70c92ab 483 * @details Start logging data to flash
darienf 20:6d2af70c92ab 484 */
darienf 20:6d2af70c92ab 485 struct RPC_registeredProcedure Define_Logging_StartLoggingFlash = { LOGGING_NAME, "StartLoggingFlash", Logging_StartLoggingFlash };
darienf 20:6d2af70c92ab 486 /**
darienf 20:6d2af70c92ab 487 * @brief /Logging/GetLastWrittenPage
darienf 20:6d2af70c92ab 488 * @details Returns the last page that has been written to flash, this call searchs until it finds an empty flash page
darienf 20:6d2af70c92ab 489 */
darienf 20:6d2af70c92ab 490 struct RPC_registeredProcedure Define_Logging_GetLastWrittenPage = { LOGGING_NAME, "GetLastWrittenPage", Logging_GetLastWrittenPage };
darienf 20:6d2af70c92ab 491 /**
darienf 20:6d2af70c92ab 492 * @brief /Logging/Start
darienf 20:6d2af70c92ab 493 * @details Starts a datalogging session into flash, allows the ability to start datalogging via RPC call
darienf 20:6d2af70c92ab 494 */
darienf 20:6d2af70c92ab 495 struct RPC_registeredProcedure Define_Logging_Start = { LOGGING_NAME, "Start", Logging_Start };
darienf 20:6d2af70c92ab 496
darienf 20:6d2af70c92ab 497 #define LIS2DH_NAME "LIS2DH"
darienf 20:6d2af70c92ab 498 /**
darienf 20:6d2af70c92ab 499 * @brief /LIS2DH/InitStart
darienf 20:6d2af70c92ab 500 * @details Starts streaming interrupts from the LIS2DH device
darienf 20:6d2af70c92ab 501 */
darienf 20:6d2af70c92ab 502 struct RPC_registeredProcedure Define_LIS2DH_InitStart = { LIS2DH_NAME, "InitStart", LIS2DH_InitStart };
darienf 20:6d2af70c92ab 503 /**
darienf 20:6d2af70c92ab 504 * @brief /LIS2DH/ReadReg address
darienf 20:6d2af70c92ab 505 * @details Reads a register
darienf 20:6d2af70c92ab 506 * @param address Register address to read from
darienf 20:6d2af70c92ab 507 */
darienf 20:6d2af70c92ab 508 struct RPC_registeredProcedure Define_LIS2DH_ReadReg = { LIS2DH_NAME, "ReadReg", LIS2DH_ReadReg };
darienf 20:6d2af70c92ab 509 /**
darienf 20:6d2af70c92ab 510 * @brief /LIS2DH/WriteReg address data
darienf 20:6d2af70c92ab 511 * @details Write a register
darienf 20:6d2af70c92ab 512 * @param address Register address to read from
darienf 20:6d2af70c92ab 513 * @param data Data to write
darienf 20:6d2af70c92ab 514 */
darienf 20:6d2af70c92ab 515 struct RPC_registeredProcedure Define_LIS2DH_WriteReg = { LIS2DH_NAME, "WriteReg", LIS2DH_WriteReg };
darienf 20:6d2af70c92ab 516 /**
darienf 20:6d2af70c92ab 517 * @brief /LIS2DH/Stop
darienf 20:6d2af70c92ab 518 * @details Stop the interrupts within the LIS2DH
darienf 20:6d2af70c92ab 519 */
darienf 20:6d2af70c92ab 520 struct RPC_registeredProcedure Define_LIS2DH_Stop = { LIS2DH_NAME, "Stop", LIS2DH_Stop };
darienf 20:6d2af70c92ab 521
darienf 20:6d2af70c92ab 522 #define BMP280_NAME "BMP280"
darienf 20:6d2af70c92ab 523 /**
darienf 20:6d2af70c92ab 524 * @brief /BMP280/InitStart
darienf 20:6d2af70c92ab 525 * @details Start the polling process for the BMP280
darienf 20:6d2af70c92ab 526 */
darienf 20:6d2af70c92ab 527 struct RPC_registeredProcedure Define_BMP280_InitStart = { BMP280_NAME, "InitStart", BMP280_InitStart };
darienf 20:6d2af70c92ab 528
darienf 20:6d2af70c92ab 529 #define MAX30205_1_NAME "MAX30205_1"
darienf 20:6d2af70c92ab 530 #define MAX31725_1_NAME "MAX31725_1"
darienf 20:6d2af70c92ab 531 /**
darienf 20:6d2af70c92ab 532 * @brief /MAX30205_1/InitStart
darienf 20:6d2af70c92ab 533 * @details Start the polling process for the MAX30205 instance 1
darienf 20:6d2af70c92ab 534 */
darienf 20:6d2af70c92ab 535 struct RPC_registeredProcedure Define_MAX30205_1_InitStart = { MAX30205_1_NAME, "InitStart", MAX30205_1_InitStart };
darienf 20:6d2af70c92ab 536 struct RPC_registeredProcedure Define_MAX31725_1_InitStart = { MAX31725_1_NAME, "InitStart", MAX30205_1_InitStart };
darienf 20:6d2af70c92ab 537
darienf 20:6d2af70c92ab 538 #define MAX30205_2_NAME "MAX30205_2"
darienf 20:6d2af70c92ab 539 #define MAX31725_2_NAME "MAX31725_2"
darienf 20:6d2af70c92ab 540 /**
darienf 20:6d2af70c92ab 541 * @brief /MAX30205_2/InitStart
darienf 20:6d2af70c92ab 542 * @details Start the polling process for the MAX30205 instance 2
darienf 20:6d2af70c92ab 543 */
darienf 20:6d2af70c92ab 544 struct RPC_registeredProcedure Define_MAX30205_2_InitStart = { MAX30205_2_NAME, "InitStart", MAX30205_2_InitStart };
darienf 20:6d2af70c92ab 545 struct RPC_registeredProcedure Define_MAX31725_2_InitStart = { MAX31725_2_NAME, "InitStart", MAX30205_2_InitStart };
darienf 20:6d2af70c92ab 546
darienf 20:6d2af70c92ab 547 #define LED_NAME "Led"
darienf 20:6d2af70c92ab 548 /**
darienf 20:6d2af70c92ab 549 * @brief /Led/On
darienf 20:6d2af70c92ab 550 * @details Turn on the HSP onboard LED
darienf 20:6d2af70c92ab 551 */
darienf 20:6d2af70c92ab 552 struct RPC_registeredProcedure Define_Led_On = { LED_NAME, "On", Led_On };
darienf 20:6d2af70c92ab 553 /**
darienf 20:6d2af70c92ab 554 * @brief /Led/Off
darienf 20:6d2af70c92ab 555 * @details Turn off the HSP onboard LED
darienf 20:6d2af70c92ab 556 */
darienf 20:6d2af70c92ab 557 struct RPC_registeredProcedure Define_Led_Off = { LED_NAME, "Off", Led_Off };
darienf 20:6d2af70c92ab 558 /**
darienf 20:6d2af70c92ab 559 * @brief /Led/Blink mS
darienf 20:6d2af70c92ab 560 * @details Start blinking the HSP onboard LED
darienf 20:6d2af70c92ab 561 * @param mS Blink using a mS period
darienf 20:6d2af70c92ab 562 */
darienf 20:6d2af70c92ab 563 struct RPC_registeredProcedure Define_Led_BlinkHz = { LED_NAME, "Blink", Led_BlinkHz };
darienf 20:6d2af70c92ab 564 /**
darienf 20:6d2af70c92ab 565 * @brief /Led/Pattern pattern
darienf 20:6d2af70c92ab 566 * @details Rotate a 32-bit pattern through the LED so that specific blink patterns can be obtained
darienf 20:6d2af70c92ab 567 * @param pattern A 32-bit pattern to rotate through
darienf 20:6d2af70c92ab 568 */
darienf 20:6d2af70c92ab 569 struct RPC_registeredProcedure Define_Led_BlinkPattern = { LED_NAME, "Pattern", Led_BlinkPattern };
darienf 20:6d2af70c92ab 570
darienf 20:6d2af70c92ab 571 #define S25FS512_NAME "S25FS512"
darienf 20:6d2af70c92ab 572 /**
darienf 20:6d2af70c92ab 573 * @brief /S25FS512/ReadId
darienf 20:6d2af70c92ab 574 * @details Rotate a 32-bit pattern through the LED so that specific blink patterns can be obtained
darienf 20:6d2af70c92ab 575 * @param pattern A 32-bit pattern to rotate through
darienf 20:6d2af70c92ab 576 */
darienf 20:6d2af70c92ab 577 struct RPC_registeredProcedure Define_S25FS512_ReadId = { S25FS512_NAME, "ReadId", S25FS512_ReadId };
darienf 20:6d2af70c92ab 578 /**
darienf 20:6d2af70c92ab 579 * @brief /S25FS512/ReadPagesBinary startPage endPage
darienf 20:6d2af70c92ab 580 * @details Read a page from flash, return the data in binary (non-ascii)
darienf 20:6d2af70c92ab 581 * @param startPage The Starting page to read from
darienf 20:6d2af70c92ab 582 * @param endPage The last page to read from
darienf 20:6d2af70c92ab 583 */
darienf 20:6d2af70c92ab 584 struct RPC_registeredProcedure Define_S25FS512_ReadPagesBinary = { S25FS512_NAME, "ReadPagesBinary", S25FS512_ReadPagesBinary };
darienf 20:6d2af70c92ab 585 /**
darienf 20:6d2af70c92ab 586 * @brief /S25FS512/Reset
darienf 20:6d2af70c92ab 587 * @details Issue a soft reset to the flash device
darienf 20:6d2af70c92ab 588 */
darienf 20:6d2af70c92ab 589 struct RPC_registeredProcedure Define_S25FS512_Reset = { S25FS512_NAME, "Reset", S25FS512_Reset };
darienf 20:6d2af70c92ab 590 /**
darienf 20:6d2af70c92ab 591 * @brief /S25FS512/EnableHWReset
darienf 20:6d2af70c92ab 592 * @details Enable HW resets to the device
darienf 20:6d2af70c92ab 593 */
darienf 20:6d2af70c92ab 594 struct RPC_registeredProcedure Define_S25FS512_EnableHWReset = { S25FS512_NAME, "EnableHWReset", S25FS512_EnableHWReset };
darienf 20:6d2af70c92ab 595 /**
darienf 20:6d2af70c92ab 596 * @brief /S25FS512/SpiWriteRead
darienf 20:6d2af70c92ab 597 * @details Write and read SPI to the flash device using Quad SPI
darienf 20:6d2af70c92ab 598 */
darienf 20:6d2af70c92ab 599 struct RPC_registeredProcedure Define_S25FS512_SpiWriteRead = { S25FS512_NAME, "SpiWriteRead", S25FS512_SpiWriteRead };
darienf 20:6d2af70c92ab 600 /**
darienf 20:6d2af70c92ab 601 * @brief /S25FS512/SpiWriteRead4Wire
darienf 20:6d2af70c92ab 602 * @details Write and read SPI to the flash device using 4 wire
darienf 20:6d2af70c92ab 603 */
darienf 20:6d2af70c92ab 604 struct RPC_registeredProcedure Define_S25FS512_SpiWriteRead4Wire = { S25FS512_NAME, "SpiWriteRead4Wire", S25FS512_SpiWriteRead4Wire };
darienf 20:6d2af70c92ab 605
darienf 20:6d2af70c92ab 606 #define TESTING_NAME "Testing"
darienf 20:6d2af70c92ab 607 /**
darienf 20:6d2af70c92ab 608 * @brief /Testing/Test_S25FS512
darienf 20:6d2af70c92ab 609 * @details Start a testing sequence for this device, returns PASS and FAIL strings and detailed results of the test
darienf 20:6d2af70c92ab 610 */
darienf 20:6d2af70c92ab 611 struct RPC_registeredProcedure Define_Testing_Test_S25FS512 = { TESTING_NAME, "Test_S25FS512", Test_S25FS512};
darienf 20:6d2af70c92ab 612 /**
darienf 20:6d2af70c92ab 613 * @brief /Testing/Test_BMP280
darienf 20:6d2af70c92ab 614 * @details Start a testing sequence for this device, returns PASS and FAIL strings and detailed results of the test
darienf 20:6d2af70c92ab 615 */
darienf 20:6d2af70c92ab 616 struct RPC_registeredProcedure Define_Testing_Test_BMP280 = { TESTING_NAME, "Test_BMP280", Test_BMP280};
darienf 20:6d2af70c92ab 617 /**
darienf 20:6d2af70c92ab 618 * @brief /Testing/Test_LIS2DH
darienf 20:6d2af70c92ab 619 * @details Start a testing sequence for this device, returns PASS and FAIL strings and detailed results of the test
darienf 20:6d2af70c92ab 620 */
darienf 20:6d2af70c92ab 621 struct RPC_registeredProcedure Define_Testing_Test_LIS2DH = { TESTING_NAME, "Test_LIS2DH", Test_LIS2DH };
darienf 20:6d2af70c92ab 622 /**
darienf 20:6d2af70c92ab 623 * @brief /Testing/Test_LSM6DS3
darienf 20:6d2af70c92ab 624 * @details Start a testing sequence for this device, returns PASS and FAIL strings and detailed results of the test
darienf 20:6d2af70c92ab 625 */
darienf 20:6d2af70c92ab 626 struct RPC_registeredProcedure Define_Testing_Test_LSM6DS3 = { TESTING_NAME, "Test_LSM6DS3", Test_LSM6DS3 };
darienf 20:6d2af70c92ab 627 /**
darienf 20:6d2af70c92ab 628 * @brief /Testing/Test_MAX30205_1
darienf 20:6d2af70c92ab 629 * @details Start a testing sequence for this device, returns PASS and FAIL strings and detailed results of the test
darienf 20:6d2af70c92ab 630 */
darienf 20:6d2af70c92ab 631 struct RPC_registeredProcedure Define_Testing_Test_MAX30205_1 = { TESTING_NAME, "Test_MAX30205_1", Test_MAX30205_1 };
darienf 20:6d2af70c92ab 632 /**
darienf 20:6d2af70c92ab 633 * @brief /Testing/Test_MAX30205_2
darienf 20:6d2af70c92ab 634 * @details Start a testing sequence for this device, returns PASS and FAIL strings and detailed results of the test
darienf 20:6d2af70c92ab 635 */
darienf 20:6d2af70c92ab 636 struct RPC_registeredProcedure Define_Testing_Test_MAX30205_2 = { TESTING_NAME, "Test_MAX30205_2", Test_MAX30205_2 };
darienf 20:6d2af70c92ab 637 /**
darienf 20:6d2af70c92ab 638 * @brief /Testing/Test_MAX30101
darienf 20:6d2af70c92ab 639 * @details Start a testing sequence for this device, returns PASS and FAIL strings and detailed results of the test
darienf 20:6d2af70c92ab 640 */
darienf 20:6d2af70c92ab 641 struct RPC_registeredProcedure Define_Testing_Test_MAX30101 = { TESTING_NAME, "Test_MAX30101", Test_MAX30101 };
darienf 20:6d2af70c92ab 642 /**
darienf 20:6d2af70c92ab 643 * @brief /Testing/Test_MAX30001
darienf 20:6d2af70c92ab 644 * @details Start a testing sequence for this device, returns PASS and FAIL strings and detailed results of the test
darienf 20:6d2af70c92ab 645 */
darienf 20:6d2af70c92ab 646 struct RPC_registeredProcedure Define_Testing_Test_MAX30001 = { TESTING_NAME, "Test_MAX30001", Test_MAX30001 };
darienf 20:6d2af70c92ab 647 /**
darienf 20:6d2af70c92ab 648 * @brief /Testing/Test_EM9301
darienf 20:6d2af70c92ab 649 * @details Start a testing sequence for this device, returns PASS and FAIL strings and detailed results of the test
darienf 20:6d2af70c92ab 650 */
darienf 20:6d2af70c92ab 651 struct RPC_registeredProcedure Define_Testing_Test_EM9301 = { TESTING_NAME, "Test_EM9301", Test_EM9301 };
darienf 20:6d2af70c92ab 652 /**
darienf 20:6d2af70c92ab 653 * @brief /Testing/Test_EM9301
darienf 20:6d2af70c92ab 654 * @details Start a testing sequence for this device, returns PASS and FAIL strings and detailed results of the test
darienf 20:6d2af70c92ab 655 */
darienf 20:6d2af70c92ab 656 //struct RPC_registeredProcedure Define_Testing_Test_SensorReadings = { TESTING_NAME, "Test_SensorReadings", Test_EM9301 };
darienf 20:6d2af70c92ab 657
darienf 20:6d2af70c92ab 658 #define MAX14720_NAME "MAX14720"
darienf 20:6d2af70c92ab 659 /**
darienf 20:6d2af70c92ab 660 * @brief /MAX14720/ReadBoostVSet
darienf 20:6d2af70c92ab 661 * @details Read the BoostVSet value
darienf 20:6d2af70c92ab 662 * @return Returns the value from the BoostVSet register of the device
darienf 20:6d2af70c92ab 663 */
darienf 20:6d2af70c92ab 664 struct RPC_registeredProcedure Define_MAX14720_ReadBoostVSet = { MAX14720_NAME, "ReadBoostVSet", MAX14720_ReadBoostVSet };
darienf 20:6d2af70c92ab 665 /**
darienf 20:6d2af70c92ab 666 * @brief /MAX14720/WriteBoostVSet
darienf 20:6d2af70c92ab 667 * @details Write the BoostVSet value
darienf 20:6d2af70c92ab 668 * @param value The binary value to set the BoostVSet register to
darienf 20:6d2af70c92ab 669 * @return Returns 0x80 on success of the command
darienf 20:6d2af70c92ab 670 */
darienf 20:6d2af70c92ab 671 struct RPC_registeredProcedure Define_MAX14720_WriteBoostVSet = { MAX14720_NAME, "WriteBoostVSet", MAX14720_WriteBoostVSet };
darienf 20:6d2af70c92ab 672 /**
darienf 20:6d2af70c92ab 673 * @brief /MAX14720/ReadReg
darienf 20:6d2af70c92ab 674 * @details Read one of the MAX14720 registers
darienf 20:6d2af70c92ab 675 * @param address Address of the register to read
darienf 20:6d2af70c92ab 676 * @return Returns the value from the addressed register from the device
darienf 20:6d2af70c92ab 677 */
darienf 20:6d2af70c92ab 678 struct RPC_registeredProcedure Define_MAX14720_ReadReg = { MAX14720_NAME, "ReadReg", MAX14720_ReadReg };
darienf 20:6d2af70c92ab 679 /**
darienf 20:6d2af70c92ab 680 * @brief /MAX14720/WriteReg
darienf 20:6d2af70c92ab 681 * @details Write one of the MAX14720 registers
darienf 20:6d2af70c92ab 682 * @param address Address of the register to write
darienf 20:6d2af70c92ab 683 * @param data Value of the data to write
darienf 20:6d2af70c92ab 684 * @return Returns 0x80 on success of the command
darienf 20:6d2af70c92ab 685 */
darienf 20:6d2af70c92ab 686 struct RPC_registeredProcedure Define_MAX14720_WriteReg = { MAX14720_NAME, "WriteReg", MAX14720_WriteReg };
darienf 20:6d2af70c92ab 687
darienf 20:6d2af70c92ab 688 #endif /* _RPCDECLARATIONS_H_ */