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 * This software is protected by copyright laws of the United States and
darienf 20:6d2af70c92ab 5 * of foreign countries. This material may also be protected by patent laws
darienf 20:6d2af70c92ab 6 * and technology transfer regulations of the United States and of foreign
darienf 20:6d2af70c92ab 7 * countries. This software is furnished under a license agreement and/or a
darienf 20:6d2af70c92ab 8 * nondisclosure agreement and may only be used or reproduced in accordance
darienf 20:6d2af70c92ab 9 * with the terms of those agreements. Dissemination of this information to
darienf 20:6d2af70c92ab 10 * any party or parties not specified in the license agreement and/or
darienf 20:6d2af70c92ab 11 * nondisclosure agreement is expressly prohibited.
darienf 20:6d2af70c92ab 12 *
darienf 20:6d2af70c92ab 13 * The above copyright notice and this permission notice shall be included
darienf 20:6d2af70c92ab 14 * in all copies or substantial portions of the Software.
darienf 20:6d2af70c92ab 15 *
darienf 20:6d2af70c92ab 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
darienf 20:6d2af70c92ab 17 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
darienf 20:6d2af70c92ab 18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
darienf 20:6d2af70c92ab 19 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
darienf 20:6d2af70c92ab 20 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
darienf 20:6d2af70c92ab 21 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
darienf 20:6d2af70c92ab 22 * OTHER DEALINGS IN THE SOFTWARE.
darienf 20:6d2af70c92ab 23 *
darienf 20:6d2af70c92ab 24 * Except as contained in this notice, the name of Maxim Integrated
darienf 20:6d2af70c92ab 25 * Products, Inc. shall not be used except as stated in the Maxim Integrated
darienf 20:6d2af70c92ab 26 * Products, Inc. Branding Policy.
darienf 20:6d2af70c92ab 27 *
darienf 20:6d2af70c92ab 28 * The mere transfer of this software does not imply any licenses
darienf 20:6d2af70c92ab 29 * of trade secrets, proprietary technology, copyrights, patents,
darienf 20:6d2af70c92ab 30 * trademarks, maskwork rights, or any other form of intellectual
darienf 20:6d2af70c92ab 31 * property whatsoever. Maxim Integrated Products, Inc. retains all
darienf 20:6d2af70c92ab 32 * ownership rights.
darienf 20:6d2af70c92ab 33 *******************************************************************************
darienf 20:6d2af70c92ab 34 */
darienf 20:6d2af70c92ab 35
darienf 20:6d2af70c92ab 36 using System;
darienf 20:6d2af70c92ab 37 using System.Collections.Generic;
darienf 20:6d2af70c92ab 38 using System.Linq;
darienf 20:6d2af70c92ab 39 using System.Text;
darienf 20:6d2af70c92ab 40
darienf 20:6d2af70c92ab 41 namespace HealthSensorPlatform.CustomControls
darienf 20:6d2af70c92ab 42 {
darienf 20:6d2af70c92ab 43 /// <summary>
darienf 20:6d2af70c92ab 44 /// Data for initializing streaming or flash logging
darienf 20:6d2af70c92ab 45 /// </summary>
darienf 20:6d2af70c92ab 46 public class InitArgs
darienf 20:6d2af70c92ab 47 {
darienf 20:6d2af70c92ab 48 interface IInitArgs
darienf 20:6d2af70c92ab 49 {
darienf 20:6d2af70c92ab 50 string ToCommandString();
darienf 20:6d2af70c92ab 51 //IInitArgs FromIntArray(int[] array);
darienf 20:6d2af70c92ab 52 }
darienf 20:6d2af70c92ab 53
darienf 20:6d2af70c92ab 54 public struct RbiasInit
darienf 20:6d2af70c92ab 55 {
darienf 20:6d2af70c92ab 56 public int En_rbias;
darienf 20:6d2af70c92ab 57 public int Rbias;
darienf 20:6d2af70c92ab 58 public int Rbiasp;
darienf 20:6d2af70c92ab 59 public int Rbiasn;
darienf 20:6d2af70c92ab 60 public int Fmstr;
darienf 20:6d2af70c92ab 61 }
darienf 20:6d2af70c92ab 62
darienf 20:6d2af70c92ab 63 public class EcgInitStart : IInitArgs
darienf 20:6d2af70c92ab 64 {
darienf 20:6d2af70c92ab 65 public int En_ecg;
darienf 20:6d2af70c92ab 66 public int Openp;
darienf 20:6d2af70c92ab 67 public int Openn;
darienf 20:6d2af70c92ab 68 public int Pol;
darienf 20:6d2af70c92ab 69 public int Calp_sel;
darienf 20:6d2af70c92ab 70 public int Caln_sel;
darienf 20:6d2af70c92ab 71 public int E_fit;
darienf 20:6d2af70c92ab 72 public int Rate;
darienf 20:6d2af70c92ab 73 public int Gain;
darienf 20:6d2af70c92ab 74 public int Dhpf;
darienf 20:6d2af70c92ab 75 public int Dlpf;
darienf 20:6d2af70c92ab 76
darienf 20:6d2af70c92ab 77 public string ToCommandString()
darienf 20:6d2af70c92ab 78 {
darienf 20:6d2af70c92ab 79 StringBuilder command = new StringBuilder();
darienf 20:6d2af70c92ab 80 command.Append(En_ecg.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 81 command.Append(Openp.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 82 command.Append(Openn.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 83 command.Append(Pol.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 84 command.Append(Calp_sel.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 85 command.Append(Caln_sel.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 86 command.Append(E_fit.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 87 command.Append(Rate.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 88 command.Append(Gain.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 89 command.Append(Dhpf.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 90 command.Append(Dlpf.ToString("X2"));
darienf 20:6d2af70c92ab 91
darienf 20:6d2af70c92ab 92 return command.ToString();
darienf 20:6d2af70c92ab 93 }
darienf 20:6d2af70c92ab 94
darienf 20:6d2af70c92ab 95 public int[] ToArray()
darienf 20:6d2af70c92ab 96 {
darienf 20:6d2af70c92ab 97 int[] array = new int[11];
darienf 20:6d2af70c92ab 98
darienf 20:6d2af70c92ab 99 array[0] = En_ecg;
darienf 20:6d2af70c92ab 100 array[1] = Openp;
darienf 20:6d2af70c92ab 101 array[2] = Openn;
darienf 20:6d2af70c92ab 102 array[3] = Pol;
darienf 20:6d2af70c92ab 103 array[4] = Calp_sel;
darienf 20:6d2af70c92ab 104 array[5] = Caln_sel;
darienf 20:6d2af70c92ab 105 array[6] = E_fit;
darienf 20:6d2af70c92ab 106 array[7] = Rate;
darienf 20:6d2af70c92ab 107 array[8] = Gain;
darienf 20:6d2af70c92ab 108 array[9] = Dhpf;
darienf 20:6d2af70c92ab 109 array[10] = Dlpf;
darienf 20:6d2af70c92ab 110
darienf 20:6d2af70c92ab 111 return array;
darienf 20:6d2af70c92ab 112 }
darienf 20:6d2af70c92ab 113
darienf 20:6d2af70c92ab 114 public EcgInitStart FromIntArray(int[] array)
darienf 20:6d2af70c92ab 115 {
darienf 20:6d2af70c92ab 116 if (array.Length == 11)
darienf 20:6d2af70c92ab 117 {
darienf 20:6d2af70c92ab 118 En_ecg = array[0];
darienf 20:6d2af70c92ab 119 Openp = array[1];
darienf 20:6d2af70c92ab 120 Openn = array[2];
darienf 20:6d2af70c92ab 121 Pol = array[3];
darienf 20:6d2af70c92ab 122 Calp_sel = array[4];
darienf 20:6d2af70c92ab 123 Caln_sel = array[5];
darienf 20:6d2af70c92ab 124 E_fit = array[6];
darienf 20:6d2af70c92ab 125 Rate = array[7];
darienf 20:6d2af70c92ab 126 Gain = array[8];
darienf 20:6d2af70c92ab 127 Dhpf = array[9];
darienf 20:6d2af70c92ab 128 Dlpf = array[10];
darienf 20:6d2af70c92ab 129 }
darienf 20:6d2af70c92ab 130 else
darienf 20:6d2af70c92ab 131 {
darienf 20:6d2af70c92ab 132 throw new InvalidOperationException("Array length incorrect");
darienf 20:6d2af70c92ab 133 }
darienf 20:6d2af70c92ab 134
darienf 20:6d2af70c92ab 135 return this;
darienf 20:6d2af70c92ab 136 }
darienf 20:6d2af70c92ab 137 }
darienf 20:6d2af70c92ab 138
darienf 20:6d2af70c92ab 139 public struct EcgFastInit
darienf 20:6d2af70c92ab 140 {
darienf 20:6d2af70c92ab 141 public int Clr_Fast;
darienf 20:6d2af70c92ab 142 public int Fast;
darienf 20:6d2af70c92ab 143 public int Fast_Th;
darienf 20:6d2af70c92ab 144 }
darienf 20:6d2af70c92ab 145
darienf 20:6d2af70c92ab 146 public class FMSTRInitStart : IInitArgs
darienf 20:6d2af70c92ab 147 {
darienf 20:6d2af70c92ab 148 public int En_rbias;
darienf 20:6d2af70c92ab 149 public int Rbiasv;
darienf 20:6d2af70c92ab 150 public int Rbiasp;
darienf 20:6d2af70c92ab 151 public int Rbiasn;
darienf 20:6d2af70c92ab 152 public int Fmstr;
darienf 20:6d2af70c92ab 153
darienf 20:6d2af70c92ab 154 public string ToCommandString()
darienf 20:6d2af70c92ab 155 {
darienf 20:6d2af70c92ab 156 StringBuilder command = new StringBuilder();
darienf 20:6d2af70c92ab 157 command.Append(En_rbias.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 158 command.Append(Rbiasv.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 159 command.Append(Rbiasp.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 160 command.Append(Rbiasn.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 161 command.Append(Fmstr.ToString("X2"));
darienf 20:6d2af70c92ab 162
darienf 20:6d2af70c92ab 163 return command.ToString();
darienf 20:6d2af70c92ab 164 }
darienf 20:6d2af70c92ab 165
darienf 20:6d2af70c92ab 166 public FMSTRInitStart FromIntArray(int[] array)
darienf 20:6d2af70c92ab 167 {
darienf 20:6d2af70c92ab 168 if (array.Length == 5)
darienf 20:6d2af70c92ab 169 {
darienf 20:6d2af70c92ab 170 En_rbias = array[0];
darienf 20:6d2af70c92ab 171 Rbiasv = array[1];
darienf 20:6d2af70c92ab 172 Rbiasp = array[2];
darienf 20:6d2af70c92ab 173 Rbiasn = array[3];
darienf 20:6d2af70c92ab 174 Fmstr = array[4];
darienf 20:6d2af70c92ab 175 }
darienf 20:6d2af70c92ab 176 else
darienf 20:6d2af70c92ab 177 {
darienf 20:6d2af70c92ab 178 throw new InvalidOperationException("Array length incorrect");
darienf 20:6d2af70c92ab 179 }
darienf 20:6d2af70c92ab 180
darienf 20:6d2af70c92ab 181 return this;
darienf 20:6d2af70c92ab 182 }
darienf 20:6d2af70c92ab 183 }
darienf 20:6d2af70c92ab 184
darienf 20:6d2af70c92ab 185 public class PACEInitStart : IInitArgs
darienf 20:6d2af70c92ab 186 {
darienf 20:6d2af70c92ab 187 public int En_pace;
darienf 20:6d2af70c92ab 188 public int Clr_pedge;
darienf 20:6d2af70c92ab 189 public int Pol;
darienf 20:6d2af70c92ab 190 public int Gn_diff_off;
darienf 20:6d2af70c92ab 191 public int Gain;
darienf 20:6d2af70c92ab 192 public int Aout_lbw;
darienf 20:6d2af70c92ab 193 public int Aout;
darienf 20:6d2af70c92ab 194 public int Dacp;
darienf 20:6d2af70c92ab 195 public int Dacn;
darienf 20:6d2af70c92ab 196
darienf 20:6d2af70c92ab 197 public string ToCommandString()
darienf 20:6d2af70c92ab 198 {
darienf 20:6d2af70c92ab 199 StringBuilder command = new StringBuilder();
darienf 20:6d2af70c92ab 200 command.Append(En_pace.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 201 command.Append(Clr_pedge.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 202 command.Append(Gn_diff_off.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 203 command.Append(Gain.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 204 command.Append(Aout_lbw.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 205 command.Append(Aout.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 206 command.Append(Dacp.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 207 command.Append(Dacn.ToString("X2"));
darienf 20:6d2af70c92ab 208
darienf 20:6d2af70c92ab 209 return command.ToString();
darienf 20:6d2af70c92ab 210 }
darienf 20:6d2af70c92ab 211
darienf 20:6d2af70c92ab 212 public int[] ToArray()
darienf 20:6d2af70c92ab 213 {
darienf 20:6d2af70c92ab 214 int[] array = new int[9];
darienf 20:6d2af70c92ab 215
darienf 20:6d2af70c92ab 216 array[0] = En_pace;
darienf 20:6d2af70c92ab 217 array[1] = Clr_pedge;
darienf 20:6d2af70c92ab 218 array[2] = Pol;
darienf 20:6d2af70c92ab 219 array[3] = Gn_diff_off;
darienf 20:6d2af70c92ab 220 array[4] = Gain;
darienf 20:6d2af70c92ab 221 array[5] = Aout_lbw;
darienf 20:6d2af70c92ab 222 array[6] = Aout;
darienf 20:6d2af70c92ab 223 array[7] = Dacp;
darienf 20:6d2af70c92ab 224 array[8] = Dacn;
darienf 20:6d2af70c92ab 225
darienf 20:6d2af70c92ab 226 return array;
darienf 20:6d2af70c92ab 227 }
darienf 20:6d2af70c92ab 228
darienf 20:6d2af70c92ab 229 public PACEInitStart FromIntArray(int[] array)
darienf 20:6d2af70c92ab 230 {
darienf 20:6d2af70c92ab 231 if (array.Length == 8)
darienf 20:6d2af70c92ab 232 {
darienf 20:6d2af70c92ab 233 En_pace = array[0];
darienf 20:6d2af70c92ab 234 Clr_pedge = array[1];
darienf 20:6d2af70c92ab 235 Pol = array[2];
darienf 20:6d2af70c92ab 236 Gn_diff_off = array[3];
darienf 20:6d2af70c92ab 237 Gain = array[4];
darienf 20:6d2af70c92ab 238 Aout_lbw = array[5];
darienf 20:6d2af70c92ab 239 Dacp = array[6];
darienf 20:6d2af70c92ab 240 Dacn = array[7];
darienf 20:6d2af70c92ab 241 }
darienf 20:6d2af70c92ab 242 else
darienf 20:6d2af70c92ab 243 {
darienf 20:6d2af70c92ab 244 throw new InvalidOperationException("Array length incorrect");
darienf 20:6d2af70c92ab 245 }
darienf 20:6d2af70c92ab 246
darienf 20:6d2af70c92ab 247 return this;
darienf 20:6d2af70c92ab 248 }
darienf 20:6d2af70c92ab 249 }
darienf 20:6d2af70c92ab 250
darienf 20:6d2af70c92ab 251 public class BIOZInitStart : IInitArgs
darienf 20:6d2af70c92ab 252 {
darienf 20:6d2af70c92ab 253 public int En_bioz;
darienf 20:6d2af70c92ab 254 public int Openp;
darienf 20:6d2af70c92ab 255 public int Openn;
darienf 20:6d2af70c92ab 256 public int Calp_sel;
darienf 20:6d2af70c92ab 257 public int Caln_sel;
darienf 20:6d2af70c92ab 258 public int CG_mode;
darienf 20:6d2af70c92ab 259 public int B_fit;
darienf 20:6d2af70c92ab 260 public int Rate;
darienf 20:6d2af70c92ab 261 public int Ahpf;
darienf 20:6d2af70c92ab 262 public int Ext_rbias;
darienf 20:6d2af70c92ab 263 public int Gain;
darienf 20:6d2af70c92ab 264 public int Dhpf;
darienf 20:6d2af70c92ab 265 public int Dlpf;
darienf 20:6d2af70c92ab 266 public int Fcgen;
darienf 20:6d2af70c92ab 267 public int Cgmon;
darienf 20:6d2af70c92ab 268 public int Cgmag;
darienf 20:6d2af70c92ab 269 public int Phoff;
darienf 20:6d2af70c92ab 270
darienf 20:6d2af70c92ab 271 public string ToCommandString()
darienf 20:6d2af70c92ab 272 {
darienf 20:6d2af70c92ab 273 StringBuilder command = new StringBuilder();
darienf 20:6d2af70c92ab 274 command.Append(En_bioz.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 275 command.Append(Openp.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 276 command.Append(Openn.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 277 command.Append(Calp_sel.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 278 command.Append(Caln_sel.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 279 command.Append(CG_mode.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 280 command.Append(B_fit.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 281 command.Append(Rate.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 282 command.Append(Ahpf.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 283 command.Append(Ext_rbias.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 284 command.Append(Gain.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 285 command.Append(Dhpf.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 286 command.Append(Dlpf.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 287 command.Append(Fcgen.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 288 command.Append(Cgmon.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 289 command.Append(Cgmag.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 290 command.Append(Phoff.ToString("X2"));
darienf 20:6d2af70c92ab 291
darienf 20:6d2af70c92ab 292 return command.ToString();
darienf 20:6d2af70c92ab 293 }
darienf 20:6d2af70c92ab 294
darienf 20:6d2af70c92ab 295 public int[] ToArray()
darienf 20:6d2af70c92ab 296 {
darienf 20:6d2af70c92ab 297 int[] array = new int[17];
darienf 20:6d2af70c92ab 298
darienf 20:6d2af70c92ab 299 array[0] = En_bioz;
darienf 20:6d2af70c92ab 300 array[1] = Openp;
darienf 20:6d2af70c92ab 301 array[2] = Openn;
darienf 20:6d2af70c92ab 302 array[3] = Calp_sel;
darienf 20:6d2af70c92ab 303 array[4] = Caln_sel;
darienf 20:6d2af70c92ab 304 array[5] = CG_mode;
darienf 20:6d2af70c92ab 305 array[6] = B_fit;
darienf 20:6d2af70c92ab 306 array[7] = Rate;
darienf 20:6d2af70c92ab 307 array[8] = Ahpf;
darienf 20:6d2af70c92ab 308 array[9] = Ext_rbias;
darienf 20:6d2af70c92ab 309 array[10] = Gain;
darienf 20:6d2af70c92ab 310 array[11] = Dhpf;
darienf 20:6d2af70c92ab 311 array[12] = Dlpf;
darienf 20:6d2af70c92ab 312 array[13] = Fcgen;
darienf 20:6d2af70c92ab 313 array[14] = Cgmon;
darienf 20:6d2af70c92ab 314 array[15] = Cgmag;
darienf 20:6d2af70c92ab 315 array[16] = Phoff;
darienf 20:6d2af70c92ab 316
darienf 20:6d2af70c92ab 317 return array;
darienf 20:6d2af70c92ab 318 }
darienf 20:6d2af70c92ab 319
darienf 20:6d2af70c92ab 320 public BIOZInitStart FromIntArray(int[] array)
darienf 20:6d2af70c92ab 321 {
darienf 20:6d2af70c92ab 322 if (array.Length == 17)
darienf 20:6d2af70c92ab 323 {
darienf 20:6d2af70c92ab 324 En_bioz = array[0];
darienf 20:6d2af70c92ab 325 Openp = array[1];
darienf 20:6d2af70c92ab 326 Openn = array[2];
darienf 20:6d2af70c92ab 327 Calp_sel = array[3];
darienf 20:6d2af70c92ab 328 Caln_sel = array[4];
darienf 20:6d2af70c92ab 329 CG_mode = array[5];
darienf 20:6d2af70c92ab 330 B_fit = array[6];
darienf 20:6d2af70c92ab 331 Rate = array[7];
darienf 20:6d2af70c92ab 332 Ahpf = array[8];
darienf 20:6d2af70c92ab 333 Ext_rbias = array[9];
darienf 20:6d2af70c92ab 334 Gain = array[10];
darienf 20:6d2af70c92ab 335 Dhpf = array[11];
darienf 20:6d2af70c92ab 336 Dlpf = array[12];
darienf 20:6d2af70c92ab 337 Fcgen = array[13];
darienf 20:6d2af70c92ab 338 Cgmon = array[14];
darienf 20:6d2af70c92ab 339 Cgmag = array[15];
darienf 20:6d2af70c92ab 340 Phoff = array[16];
darienf 20:6d2af70c92ab 341 }
darienf 20:6d2af70c92ab 342 else
darienf 20:6d2af70c92ab 343 {
darienf 20:6d2af70c92ab 344 throw new InvalidOperationException("Array size incorrect");
darienf 20:6d2af70c92ab 345 }
darienf 20:6d2af70c92ab 346
darienf 20:6d2af70c92ab 347 return this;
darienf 20:6d2af70c92ab 348 }
darienf 20:6d2af70c92ab 349 }
darienf 20:6d2af70c92ab 350
darienf 20:6d2af70c92ab 351 public class RToRInitStart : IInitArgs
darienf 20:6d2af70c92ab 352 {
darienf 20:6d2af70c92ab 353 public int En_rtor;
darienf 20:6d2af70c92ab 354 public int Wndw;
darienf 20:6d2af70c92ab 355 public int Gain;
darienf 20:6d2af70c92ab 356 public int Pavg;
darienf 20:6d2af70c92ab 357 public int Ptsf;
darienf 20:6d2af70c92ab 358 public int Hoff;
darienf 20:6d2af70c92ab 359 public int Ravg;
darienf 20:6d2af70c92ab 360 public int Rhsf;
darienf 20:6d2af70c92ab 361 public int Clr_rrint;
darienf 20:6d2af70c92ab 362
darienf 20:6d2af70c92ab 363 public string ToCommandString()
darienf 20:6d2af70c92ab 364 {
darienf 20:6d2af70c92ab 365 StringBuilder command = new StringBuilder();
darienf 20:6d2af70c92ab 366 command.Append(En_rtor.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 367 command.Append(Wndw.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 368 command.Append(Gain.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 369 command.Append(Pavg.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 370 command.Append(Ptsf.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 371 command.Append(Hoff.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 372 command.Append(Ravg.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 373 command.Append(Rhsf.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 374 command.Append(Clr_rrint.ToString("X2"));
darienf 20:6d2af70c92ab 375
darienf 20:6d2af70c92ab 376 return command.ToString();
darienf 20:6d2af70c92ab 377 }
darienf 20:6d2af70c92ab 378
darienf 20:6d2af70c92ab 379 public int[] ToArray()
darienf 20:6d2af70c92ab 380 {
darienf 20:6d2af70c92ab 381 int[] array = new int[9];
darienf 20:6d2af70c92ab 382
darienf 20:6d2af70c92ab 383 array[0] = En_rtor;
darienf 20:6d2af70c92ab 384 array[1] = Wndw;
darienf 20:6d2af70c92ab 385 array[2] = Gain;
darienf 20:6d2af70c92ab 386 array[3] = Pavg;
darienf 20:6d2af70c92ab 387 array[4] = Ptsf;
darienf 20:6d2af70c92ab 388 array[5] = Hoff;
darienf 20:6d2af70c92ab 389 array[6] = Ravg;
darienf 20:6d2af70c92ab 390 array[7] = Rhsf;
darienf 20:6d2af70c92ab 391 array[8] = Clr_rrint;
darienf 20:6d2af70c92ab 392
darienf 20:6d2af70c92ab 393 return array;
darienf 20:6d2af70c92ab 394 }
darienf 20:6d2af70c92ab 395
darienf 20:6d2af70c92ab 396 public RToRInitStart FromIntArray(int[] array)
darienf 20:6d2af70c92ab 397 {
darienf 20:6d2af70c92ab 398 if (array.Length == 9)
darienf 20:6d2af70c92ab 399 {
darienf 20:6d2af70c92ab 400 En_rtor = array[0];
darienf 20:6d2af70c92ab 401 Wndw = array[1];
darienf 20:6d2af70c92ab 402 Gain = array[2];
darienf 20:6d2af70c92ab 403 Pavg = array[3];
darienf 20:6d2af70c92ab 404 Ptsf = array[4];
darienf 20:6d2af70c92ab 405 Hoff = array[5];
darienf 20:6d2af70c92ab 406 Ravg = array[6];
darienf 20:6d2af70c92ab 407 Rhsf = array[7];
darienf 20:6d2af70c92ab 408 Clr_rrint = array[8];
darienf 20:6d2af70c92ab 409 }
darienf 20:6d2af70c92ab 410 else
darienf 20:6d2af70c92ab 411 {
darienf 20:6d2af70c92ab 412 throw new InvalidOperationException("Array size incorrect");
darienf 20:6d2af70c92ab 413 }
darienf 20:6d2af70c92ab 414
darienf 20:6d2af70c92ab 415 return this;
darienf 20:6d2af70c92ab 416 }
darienf 20:6d2af70c92ab 417 }
darienf 20:6d2af70c92ab 418
darienf 20:6d2af70c92ab 419 public struct CalInitStart
darienf 20:6d2af70c92ab 420 {
darienf 20:6d2af70c92ab 421 public int Vmode;
darienf 20:6d2af70c92ab 422 public int Vmag;
darienf 20:6d2af70c92ab 423 public int Fcal;
darienf 20:6d2af70c92ab 424 public int Thigh;
darienf 20:6d2af70c92ab 425 public int Fifty;
darienf 20:6d2af70c92ab 426 public int En_Vcal;
darienf 20:6d2af70c92ab 427 }
darienf 20:6d2af70c92ab 428
darienf 20:6d2af70c92ab 429 public class SpO2HRModeInitStart : IInitArgs
darienf 20:6d2af70c92ab 430 {
darienf 20:6d2af70c92ab 431 public int FifoWaterlevelMark;
darienf 20:6d2af70c92ab 432 public int SampleAverage;
darienf 20:6d2af70c92ab 433 public int SampleRate;
darienf 20:6d2af70c92ab 434 public int PulseWidth;
darienf 20:6d2af70c92ab 435 public int RedLedCurrent;
darienf 20:6d2af70c92ab 436 public int IRLedCurrent;
darienf 20:6d2af70c92ab 437
darienf 20:6d2af70c92ab 438 public string ToCommandString()
darienf 20:6d2af70c92ab 439 {
darienf 20:6d2af70c92ab 440 StringBuilder command = new StringBuilder();
darienf 20:6d2af70c92ab 441 command.Append(FifoWaterlevelMark.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 442 command.Append(SampleAverage.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 443 command.Append(SampleRate.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 444 command.Append(PulseWidth.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 445 command.Append(RedLedCurrent.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 446 command.Append(IRLedCurrent.ToString("X2"));
darienf 20:6d2af70c92ab 447
darienf 20:6d2af70c92ab 448 return command.ToString();
darienf 20:6d2af70c92ab 449 }
darienf 20:6d2af70c92ab 450
darienf 20:6d2af70c92ab 451 public SpO2HRModeInitStart FromIntArray(int[] array)
darienf 20:6d2af70c92ab 452 {
darienf 20:6d2af70c92ab 453 if (array.Length == 6)
darienf 20:6d2af70c92ab 454 {
darienf 20:6d2af70c92ab 455 FifoWaterlevelMark = array[0];
darienf 20:6d2af70c92ab 456 SampleAverage = array[1];
darienf 20:6d2af70c92ab 457 SampleRate = array[2];
darienf 20:6d2af70c92ab 458 PulseWidth = array[3];
darienf 20:6d2af70c92ab 459 RedLedCurrent = array[4];
darienf 20:6d2af70c92ab 460 IRLedCurrent = array[5];
darienf 20:6d2af70c92ab 461 }
darienf 20:6d2af70c92ab 462 else if (array.Length == 5)
darienf 20:6d2af70c92ab 463 {
darienf 20:6d2af70c92ab 464 FifoWaterlevelMark = array[0];
darienf 20:6d2af70c92ab 465 SampleAverage = array[1];
darienf 20:6d2af70c92ab 466 SampleRate = array[2];
darienf 20:6d2af70c92ab 467 PulseWidth = array[3];
darienf 20:6d2af70c92ab 468 RedLedCurrent = array[4];
darienf 20:6d2af70c92ab 469 }
darienf 20:6d2af70c92ab 470 else
darienf 20:6d2af70c92ab 471 {
darienf 20:6d2af70c92ab 472 throw new InvalidOperationException("Array size incorrect");
darienf 20:6d2af70c92ab 473 }
darienf 20:6d2af70c92ab 474
darienf 20:6d2af70c92ab 475 return this;
darienf 20:6d2af70c92ab 476 }
darienf 20:6d2af70c92ab 477 }
darienf 20:6d2af70c92ab 478
darienf 20:6d2af70c92ab 479 public class HRModeInitStart : IInitArgs
darienf 20:6d2af70c92ab 480 {
darienf 20:6d2af70c92ab 481 public int FifoWaterlevelMark;
darienf 20:6d2af70c92ab 482 public int SampleAverage;
darienf 20:6d2af70c92ab 483 public int SampleRate;
darienf 20:6d2af70c92ab 484 public int PulseWidth;
darienf 20:6d2af70c92ab 485 public int RedLedCurrent;
darienf 20:6d2af70c92ab 486 public int IRLedCurrent;
darienf 20:6d2af70c92ab 487
darienf 20:6d2af70c92ab 488 public string ToCommandString()
darienf 20:6d2af70c92ab 489 {
darienf 20:6d2af70c92ab 490 StringBuilder command = new StringBuilder();
darienf 20:6d2af70c92ab 491 command.Append(FifoWaterlevelMark.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 492 command.Append(SampleAverage.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 493 command.Append(SampleRate.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 494 command.Append(PulseWidth.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 495 command.Append(RedLedCurrent.ToString("X2"));
darienf 20:6d2af70c92ab 496
darienf 20:6d2af70c92ab 497 return command.ToString();
darienf 20:6d2af70c92ab 498 }
darienf 20:6d2af70c92ab 499
darienf 20:6d2af70c92ab 500 public HRModeInitStart FromIntArray(int[] array)
darienf 20:6d2af70c92ab 501 {
darienf 20:6d2af70c92ab 502 if (array.Length == 5)
darienf 20:6d2af70c92ab 503 {
darienf 20:6d2af70c92ab 504 FifoWaterlevelMark = array[0];
darienf 20:6d2af70c92ab 505 SampleAverage = array[1];
darienf 20:6d2af70c92ab 506 SampleRate = array[2];
darienf 20:6d2af70c92ab 507 PulseWidth = array[3];
darienf 20:6d2af70c92ab 508 RedLedCurrent = array[4];
darienf 20:6d2af70c92ab 509 }
darienf 20:6d2af70c92ab 510 else
darienf 20:6d2af70c92ab 511 {
darienf 20:6d2af70c92ab 512 throw new InvalidOperationException("Array size incorrect");
darienf 20:6d2af70c92ab 513 }
darienf 20:6d2af70c92ab 514
darienf 20:6d2af70c92ab 515 return this;
darienf 20:6d2af70c92ab 516 }
darienf 20:6d2af70c92ab 517 }
darienf 20:6d2af70c92ab 518
darienf 20:6d2af70c92ab 519 public class MultiModeInitStart : IInitArgs
darienf 20:6d2af70c92ab 520 {
darienf 20:6d2af70c92ab 521 public int FifoWaterlevelMark;
darienf 20:6d2af70c92ab 522 public int SampleAverage;
darienf 20:6d2af70c92ab 523 public int SampleRate;
darienf 20:6d2af70c92ab 524 public int PulseWidth;
darienf 20:6d2af70c92ab 525 public int RedLedCurrent;
darienf 20:6d2af70c92ab 526 public int IRLedCurrent;
darienf 20:6d2af70c92ab 527 public int GreenLedCurrent;
darienf 20:6d2af70c92ab 528 public int Slot1;
darienf 20:6d2af70c92ab 529 public int Slot2;
darienf 20:6d2af70c92ab 530 public int Slot3;
darienf 20:6d2af70c92ab 531 public int Slot4;
darienf 20:6d2af70c92ab 532
darienf 20:6d2af70c92ab 533 public string ToCommandString()
darienf 20:6d2af70c92ab 534 {
darienf 20:6d2af70c92ab 535 StringBuilder command = new StringBuilder();
darienf 20:6d2af70c92ab 536 command.Append(FifoWaterlevelMark.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 537 command.Append(SampleAverage.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 538 command.Append(SampleRate.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 539 command.Append(PulseWidth.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 540 command.Append(RedLedCurrent.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 541 command.Append(IRLedCurrent.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 542 command.Append(GreenLedCurrent.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 543 command.Append(Slot1.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 544 command.Append(Slot2.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 545 command.Append(Slot3.ToString("X2")).Append(" ");
darienf 20:6d2af70c92ab 546 command.Append(Slot4.ToString("X2"));
darienf 20:6d2af70c92ab 547
darienf 20:6d2af70c92ab 548 return command.ToString();
darienf 20:6d2af70c92ab 549 }
darienf 20:6d2af70c92ab 550
darienf 20:6d2af70c92ab 551 public MultiModeInitStart FromIntArray(int[] array)
darienf 20:6d2af70c92ab 552 {
darienf 20:6d2af70c92ab 553 if (array.Length == 11)
darienf 20:6d2af70c92ab 554 {
darienf 20:6d2af70c92ab 555 FifoWaterlevelMark = array[0];
darienf 20:6d2af70c92ab 556 SampleAverage = array[1];
darienf 20:6d2af70c92ab 557 SampleRate = array[2];
darienf 20:6d2af70c92ab 558 PulseWidth = array[3];
darienf 20:6d2af70c92ab 559 RedLedCurrent = array[4];
darienf 20:6d2af70c92ab 560 IRLedCurrent = array[5];
darienf 20:6d2af70c92ab 561 GreenLedCurrent = array[6];
darienf 20:6d2af70c92ab 562 Slot1 = array[7];
darienf 20:6d2af70c92ab 563 Slot2 = array[8];
darienf 20:6d2af70c92ab 564 Slot3 = array[9];
darienf 20:6d2af70c92ab 565 Slot4 = array[10];
darienf 20:6d2af70c92ab 566 }
darienf 20:6d2af70c92ab 567 else
darienf 20:6d2af70c92ab 568 {
darienf 20:6d2af70c92ab 569 throw new InvalidOperationException("Array size incorrect");
darienf 20:6d2af70c92ab 570 }
darienf 20:6d2af70c92ab 571
darienf 20:6d2af70c92ab 572 return this;
darienf 20:6d2af70c92ab 573 }
darienf 20:6d2af70c92ab 574 }
darienf 20:6d2af70c92ab 575 }
darienf 20:6d2af70c92ab 576 }