This is a mbed 5.2 Release

Dependencies:   USBDevice

Fork of mbed-os-test by Jerry Bradshaw

Committer:
jbradshaw
Date:
Tue Oct 25 15:22:11 2016 +0000
Revision:
0:e4a10ed6eb92
tewt

Who changed what in which revision?

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