3K04 Project / Mbed 2 deprecated Pacemaker

Dependencies:   mbed-rtos mbed

Committer:
kieftea
Date:
Tue Dec 06 19:55:30 2016 +0000
Revision:
4:179fc666147c
Receive returns just a single string; Each parameter has its unique ID as an enum value for the switch; All set functions must be updated/written

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kieftea 4:179fc666147c 1 #include "control.h"
kieftea 4:179fc666147c 2 #include <iostream>
kieftea 4:179fc666147c 3 #include <sstream>
kieftea 4:179fc666147c 4 #include "parameters.h"
kieftea 4:179fc666147c 5 #include "serial.h"
kieftea 4:179fc666147c 6
kieftea 4:179fc666147c 7 using namespace std;
kieftea 4:179fc666147c 8
kieftea 4:179fc666147c 9 //SERIAL SENDER
kieftea 4:179fc666147c 10 void control::sendProgData(){
kieftea 4:179fc666147c 11 control::sendActivityThreshold();
kieftea 4:179fc666147c 12 control::sendATRDuration();
kieftea 4:179fc666147c 13 control::sendATREnable();
kieftea 4:179fc666147c 14 control::sendATRFallback();
kieftea 4:179fc666147c 15 control::sendAtrRP();
kieftea 4:179fc666147c 16 control::sendDynamicAVDelay();
kieftea 4:179fc666147c 17 control::sendFixedAVDelay();
kieftea 4:179fc666147c 18 control::sendHysterisisRateLimit();
kieftea 4:179fc666147c 19 control::sendLowerRateLimit();
kieftea 4:179fc666147c 20 control::sendMaximumSensorRate();
kieftea 4:179fc666147c 21 control::sendPulseWidth();
kieftea 4:179fc666147c 22 control::sendPVARP();
kieftea 4:179fc666147c 23 control::sendPVARPExt();
kieftea 4:179fc666147c 24 control::sendRateSmoothing();
kieftea 4:179fc666147c 25 control::sendReactionTime();
kieftea 4:179fc666147c 26 control::sendRecoveryTime();
kieftea 4:179fc666147c 27 control::sendRegulatedAmplitude();
kieftea 4:179fc666147c 28 control::sendResponseFactor();
kieftea 4:179fc666147c 29 control::sendSensedAVDelayOffset();
kieftea 4:179fc666147c 30 control::sendSensitivity();
kieftea 4:179fc666147c 31 control::sendUnregulatedAmplitude();
kieftea 4:179fc666147c 32 control::sendUpperRateLimit();
kieftea 4:179fc666147c 33 control::sendVentBlanking();
kieftea 4:179fc666147c 34 control::sendVentRP();
kieftea 4:179fc666147c 35 control::sendpaceMode();
kieftea 4:179fc666147c 36 }
kieftea 4:179fc666147c 37
kieftea 4:179fc666147c 38 void control::sendProgData(control::ID input){
kieftea 4:179fc666147c 39 switch(input){
kieftea 4:179fc666147c 40 case control::P0000:
kieftea 4:179fc666147c 41 break;
kieftea 4:179fc666147c 42 case control::PS001:
kieftea 4:179fc666147c 43 control::sendActivityThreshold();
kieftea 4:179fc666147c 44 break;
kieftea 4:179fc666147c 45 case control::PI002:
kieftea 4:179fc666147c 46 control::sendATRDuration();
kieftea 4:179fc666147c 47 break;
kieftea 4:179fc666147c 48 case control::PS003:
kieftea 4:179fc666147c 49 control::sendATREnable();
kieftea 4:179fc666147c 50 break;
kieftea 4:179fc666147c 51 case control::PI004:
kieftea 4:179fc666147c 52 control::sendATRFallback();
kieftea 4:179fc666147c 53 break;
kieftea 4:179fc666147c 54 case control::PI005:
kieftea 4:179fc666147c 55 control::sendAtrRP();
kieftea 4:179fc666147c 56 break;
kieftea 4:179fc666147c 57 case control::PS006:
kieftea 4:179fc666147c 58 control::sendDynamicAVDelay();
kieftea 4:179fc666147c 59 break;
kieftea 4:179fc666147c 60 case control::PI007:
kieftea 4:179fc666147c 61 control::sendFixedAVDelay();
kieftea 4:179fc666147c 62 break;
kieftea 4:179fc666147c 63 case control::PI008:
kieftea 4:179fc666147c 64 control::sendHysterisisRateLimit();
kieftea 4:179fc666147c 65 break;
kieftea 4:179fc666147c 66 case control::PI009:
kieftea 4:179fc666147c 67 control::sendLowerRateLimit();
kieftea 4:179fc666147c 68 break;
kieftea 4:179fc666147c 69 case control::PI010:
kieftea 4:179fc666147c 70 control::sendMaximumSensorRate();
kieftea 4:179fc666147c 71 break;
kieftea 4:179fc666147c 72 case control::PD011:
kieftea 4:179fc666147c 73 control::sendPulseWidth();
kieftea 4:179fc666147c 74 break;
kieftea 4:179fc666147c 75 case control::PI012:
kieftea 4:179fc666147c 76 control::sendPVARP();
kieftea 4:179fc666147c 77 break;
kieftea 4:179fc666147c 78 case control::PI013:
kieftea 4:179fc666147c 79 control::sendPVARPExt();
kieftea 4:179fc666147c 80 break;
kieftea 4:179fc666147c 81 case control::PI014:
kieftea 4:179fc666147c 82 control::sendRateSmoothing();
kieftea 4:179fc666147c 83 break;
kieftea 4:179fc666147c 84 case control::PI015:
kieftea 4:179fc666147c 85 control::sendReactionTime();
kieftea 4:179fc666147c 86 break;
kieftea 4:179fc666147c 87 case control::PI016:
kieftea 4:179fc666147c 88 control::sendRecoveryTime();
kieftea 4:179fc666147c 89 break;
kieftea 4:179fc666147c 90 case control::PD017:
kieftea 4:179fc666147c 91 control::sendRegulatedAmplitude();
kieftea 4:179fc666147c 92 break;
kieftea 4:179fc666147c 93 case control::PI018:
kieftea 4:179fc666147c 94 control::sendResponseFactor();
kieftea 4:179fc666147c 95 break;
kieftea 4:179fc666147c 96 case control::PI019:
kieftea 4:179fc666147c 97 control::sendSensedAVDelayOffset();
kieftea 4:179fc666147c 98 break;
kieftea 4:179fc666147c 99 case control::PD020:
kieftea 4:179fc666147c 100 control::sendSensitivity();
kieftea 4:179fc666147c 101 break;
kieftea 4:179fc666147c 102 case control::PD021:
kieftea 4:179fc666147c 103 control::sendUnregulatedAmplitude();
kieftea 4:179fc666147c 104 break;
kieftea 4:179fc666147c 105 case control::PI022:
kieftea 4:179fc666147c 106 control::sendUpperRateLimit();
kieftea 4:179fc666147c 107 break;
kieftea 4:179fc666147c 108 case control::PI023:
kieftea 4:179fc666147c 109 control::sendVentBlanking();
kieftea 4:179fc666147c 110 break;
kieftea 4:179fc666147c 111 case control::PI024:
kieftea 4:179fc666147c 112 control::sendVentRP();
kieftea 4:179fc666147c 113 break;
kieftea 4:179fc666147c 114 case control::PS025:
kieftea 4:179fc666147c 115 control::sendpaceMode();
kieftea 4:179fc666147c 116 break;
kieftea 4:179fc666147c 117 }
kieftea 4:179fc666147c 118
kieftea 4:179fc666147c 119 }
kieftea 4:179fc666147c 120 void control::sendActivityThreshold(){
kieftea 4:179fc666147c 121
kieftea 4:179fc666147c 122 }
kieftea 4:179fc666147c 123 void control::sendATRDuration(){
kieftea 4:179fc666147c 124
kieftea 4:179fc666147c 125 }
kieftea 4:179fc666147c 126 void control::sendATREnable(){
kieftea 4:179fc666147c 127
kieftea 4:179fc666147c 128 }
kieftea 4:179fc666147c 129 void control::sendATRFallback(){
kieftea 4:179fc666147c 130
kieftea 4:179fc666147c 131 }
kieftea 4:179fc666147c 132 void control::sendAtrRP(){
kieftea 4:179fc666147c 133
kieftea 4:179fc666147c 134 }
kieftea 4:179fc666147c 135 void control::sendDynamicAVDelay(){
kieftea 4:179fc666147c 136
kieftea 4:179fc666147c 137 }
kieftea 4:179fc666147c 138 void control::sendFixedAVDelay(){
kieftea 4:179fc666147c 139
kieftea 4:179fc666147c 140 }
kieftea 4:179fc666147c 141 void control::sendHysterisisRateLimit(){
kieftea 4:179fc666147c 142
kieftea 4:179fc666147c 143 }
kieftea 4:179fc666147c 144 void control::sendLowerRateLimit(){
kieftea 4:179fc666147c 145
kieftea 4:179fc666147c 146 }
kieftea 4:179fc666147c 147 void control::sendMaximumSensorRate(){
kieftea 4:179fc666147c 148
kieftea 4:179fc666147c 149 }
kieftea 4:179fc666147c 150 void control::sendPulseWidth(){
kieftea 4:179fc666147c 151
kieftea 4:179fc666147c 152 }
kieftea 4:179fc666147c 153 void control::sendPVARP(){
kieftea 4:179fc666147c 154
kieftea 4:179fc666147c 155 }
kieftea 4:179fc666147c 156 void control::sendPVARPExt(){
kieftea 4:179fc666147c 157
kieftea 4:179fc666147c 158 }
kieftea 4:179fc666147c 159 void control::sendRateSmoothing(){
kieftea 4:179fc666147c 160
kieftea 4:179fc666147c 161 }
kieftea 4:179fc666147c 162 void control::sendReactionTime(){
kieftea 4:179fc666147c 163
kieftea 4:179fc666147c 164 }
kieftea 4:179fc666147c 165 void control::sendRecoveryTime(){
kieftea 4:179fc666147c 166
kieftea 4:179fc666147c 167 }
kieftea 4:179fc666147c 168 void control::sendRegulatedAmplitude(){
kieftea 4:179fc666147c 169
kieftea 4:179fc666147c 170 }
kieftea 4:179fc666147c 171 void control::sendResponseFactor(){
kieftea 4:179fc666147c 172
kieftea 4:179fc666147c 173 }
kieftea 4:179fc666147c 174 void control::sendSensedAVDelayOffset(){
kieftea 4:179fc666147c 175
kieftea 4:179fc666147c 176 }
kieftea 4:179fc666147c 177 void control::sendSensitivity(){
kieftea 4:179fc666147c 178
kieftea 4:179fc666147c 179 }
kieftea 4:179fc666147c 180 void control::sendUnregulatedAmplitude(){
kieftea 4:179fc666147c 181
kieftea 4:179fc666147c 182 }
kieftea 4:179fc666147c 183 void control::sendUpperRateLimit(){
kieftea 4:179fc666147c 184
kieftea 4:179fc666147c 185 }
kieftea 4:179fc666147c 186 void control::sendVentBlanking(){
kieftea 4:179fc666147c 187
kieftea 4:179fc666147c 188 }
kieftea 4:179fc666147c 189 void control::sendVentRP(){
kieftea 4:179fc666147c 190
kieftea 4:179fc666147c 191 }
kieftea 4:179fc666147c 192 void control::sendpaceMode(){
kieftea 4:179fc666147c 193
kieftea 4:179fc666147c 194 }
kieftea 4:179fc666147c 195
kieftea 4:179fc666147c 196
kieftea 4:179fc666147c 197 //SERIAL ACCESSOR
kieftea 4:179fc666147c 198 void control::getProgData(){
kieftea 4:179fc666147c 199 control::getActivityThreshold();
kieftea 4:179fc666147c 200 control::getATRDuration();
kieftea 4:179fc666147c 201 control::getATREnable();
kieftea 4:179fc666147c 202 control::getATRFallback();
kieftea 4:179fc666147c 203 control::getAtrRP();
kieftea 4:179fc666147c 204 control::getDynamicAVDelay();
kieftea 4:179fc666147c 205 control::getFixedAVDelay();
kieftea 4:179fc666147c 206 control::getHysterisisRateLimit();
kieftea 4:179fc666147c 207 control::getLowerRateLimit();
kieftea 4:179fc666147c 208 control::getMaximumSensorRate();
kieftea 4:179fc666147c 209 control::getPulseWidth();
kieftea 4:179fc666147c 210 control::getPVARP();
kieftea 4:179fc666147c 211 control::getPVARPExt();
kieftea 4:179fc666147c 212 control::getRateSmoothing();
kieftea 4:179fc666147c 213 control::getReactionTime();
kieftea 4:179fc666147c 214 control::getRecoveryTime();
kieftea 4:179fc666147c 215 control::getRegulatedAmplitude();
kieftea 4:179fc666147c 216 control::getResponseFactor();
kieftea 4:179fc666147c 217 control::getSensedAVDelayOffset();
kieftea 4:179fc666147c 218 control::getSensitivity();
kieftea 4:179fc666147c 219 control::getUnregulatedAmplitude();
kieftea 4:179fc666147c 220 control::getUpperRateLimit();
kieftea 4:179fc666147c 221 control::getVentBlanking();
kieftea 4:179fc666147c 222 control::getVentRP();
kieftea 4:179fc666147c 223 control::getpaceMode();
kieftea 4:179fc666147c 224 }
kieftea 4:179fc666147c 225
kieftea 4:179fc666147c 226 void control::getProgData(control::ID input){
kieftea 4:179fc666147c 227 switch(input){
kieftea 4:179fc666147c 228 case control::P0000:
kieftea 4:179fc666147c 229 break;
kieftea 4:179fc666147c 230 case control::PS001:
kieftea 4:179fc666147c 231 control::getActivityThreshold();
kieftea 4:179fc666147c 232 break;
kieftea 4:179fc666147c 233 case control::PI002:
kieftea 4:179fc666147c 234 control::getATRDuration();
kieftea 4:179fc666147c 235 break;
kieftea 4:179fc666147c 236 case control::PS003:
kieftea 4:179fc666147c 237 control::getATREnable();
kieftea 4:179fc666147c 238 break;
kieftea 4:179fc666147c 239 case control::PI004:
kieftea 4:179fc666147c 240 control::getATRFallback();
kieftea 4:179fc666147c 241 break;
kieftea 4:179fc666147c 242 case control::PI005:
kieftea 4:179fc666147c 243 control::getAtrRP();
kieftea 4:179fc666147c 244 break;
kieftea 4:179fc666147c 245 case control::PS006:
kieftea 4:179fc666147c 246 control::getDynamicAVDelay();
kieftea 4:179fc666147c 247 break;
kieftea 4:179fc666147c 248 case control::PI007:
kieftea 4:179fc666147c 249 control::getFixedAVDelay();
kieftea 4:179fc666147c 250 break;
kieftea 4:179fc666147c 251 case control::PI008:
kieftea 4:179fc666147c 252 control::getHysterisisRateLimit();
kieftea 4:179fc666147c 253 break;
kieftea 4:179fc666147c 254 case control::PI009:
kieftea 4:179fc666147c 255 control::getLowerRateLimit();
kieftea 4:179fc666147c 256 break;
kieftea 4:179fc666147c 257 case control::PI010:
kieftea 4:179fc666147c 258 control::getMaximumSensorRate();
kieftea 4:179fc666147c 259 break;
kieftea 4:179fc666147c 260 case control::PD011:
kieftea 4:179fc666147c 261 control::getPulseWidth();
kieftea 4:179fc666147c 262 break;
kieftea 4:179fc666147c 263 case control::PI012:
kieftea 4:179fc666147c 264 control::getPVARP();
kieftea 4:179fc666147c 265 break;
kieftea 4:179fc666147c 266 case control::PI013:
kieftea 4:179fc666147c 267 control::getPVARPExt();
kieftea 4:179fc666147c 268 break;
kieftea 4:179fc666147c 269 case control::PI014:
kieftea 4:179fc666147c 270 control::getRateSmoothing();
kieftea 4:179fc666147c 271 break;
kieftea 4:179fc666147c 272 case control::PI015:
kieftea 4:179fc666147c 273 control::getReactionTime();
kieftea 4:179fc666147c 274 break;
kieftea 4:179fc666147c 275 case control::PI016:
kieftea 4:179fc666147c 276 control::getRecoveryTime();
kieftea 4:179fc666147c 277 break;
kieftea 4:179fc666147c 278 case control::PD017:
kieftea 4:179fc666147c 279 control::getRegulatedAmplitude();
kieftea 4:179fc666147c 280 break;
kieftea 4:179fc666147c 281 case control::PI018:
kieftea 4:179fc666147c 282 control::getResponseFactor();
kieftea 4:179fc666147c 283 break;
kieftea 4:179fc666147c 284 case control::PI019:
kieftea 4:179fc666147c 285 control::getSensedAVDelayOffset();
kieftea 4:179fc666147c 286 break;
kieftea 4:179fc666147c 287 case control::PD020:
kieftea 4:179fc666147c 288 control::getSensitivity();
kieftea 4:179fc666147c 289 break;
kieftea 4:179fc666147c 290 case control::PD021:
kieftea 4:179fc666147c 291 control::getUnregulatedAmplitude();
kieftea 4:179fc666147c 292 break;
kieftea 4:179fc666147c 293 case control::PI022:
kieftea 4:179fc666147c 294 control::getUpperRateLimit();
kieftea 4:179fc666147c 295 break;
kieftea 4:179fc666147c 296 case control::PI023:
kieftea 4:179fc666147c 297 control::getVentBlanking();
kieftea 4:179fc666147c 298 break;
kieftea 4:179fc666147c 299 case control::PI024:
kieftea 4:179fc666147c 300 control::getVentRP();
kieftea 4:179fc666147c 301 break;
kieftea 4:179fc666147c 302 case control::PS025:
kieftea 4:179fc666147c 303 control::getpaceMode();
kieftea 4:179fc666147c 304 break;
kieftea 4:179fc666147c 305 }
kieftea 4:179fc666147c 306
kieftea 4:179fc666147c 307 }
kieftea 4:179fc666147c 308 /* void control::getActivityThreshold(){
kieftea 4:179fc666147c 309 setActivityThreshold(receive());
kieftea 4:179fc666147c 310 }
kieftea 4:179fc666147c 311 void control::getATRDuration(){
kieftea 4:179fc666147c 312 setATRDuration(atoi(receive()));
kieftea 4:179fc666147c 313 }
kieftea 4:179fc666147c 314 void control::getATREnable(){
kieftea 4:179fc666147c 315 setATREnable(receive());
kieftea 4:179fc666147c 316 }
kieftea 4:179fc666147c 317 void control::getATRFallback(){
kieftea 4:179fc666147c 318 setATRFallback((receive()));
kieftea 4:179fc666147c 319 }
kieftea 4:179fc666147c 320 void control::getAtrRP(){
kieftea 4:179fc666147c 321 setAtrRP((receive()));
kieftea 4:179fc666147c 322 }
kieftea 4:179fc666147c 323 void control::getDynamicAVDelay(){
kieftea 4:179fc666147c 324 setDynamicAVDelay(receive());
kieftea 4:179fc666147c 325 }
kieftea 4:179fc666147c 326 void control::getFixedAVDelay(){
kieftea 4:179fc666147c 327 setFixedAVDelay((recieve()));
kieftea 4:179fc666147c 328 }
kieftea 4:179fc666147c 329 void control::getHysterisisRateLimit(){
kieftea 4:179fc666147c 330 setHysterisisRateLimit((recieve()));
kieftea 4:179fc666147c 331 }
kieftea 4:179fc666147c 332 void control::getLowerRateLimit(){
kieftea 4:179fc666147c 333 setLowerRateLimit(stoi(recieve()));
kieftea 4:179fc666147c 334 }
kieftea 4:179fc666147c 335 void control::getMaximumSensorRate(){
kieftea 4:179fc666147c 336 setMaximumSensorRate(stoi(recieve()));
kieftea 4:179fc666147c 337 }
kieftea 4:179fc666147c 338 void control::getPulseWidth(){
kieftea 4:179fc666147c 339 setPulseWidth(stod(recieve()));
kieftea 4:179fc666147c 340 }
kieftea 4:179fc666147c 341 void control::getPVARP(){
kieftea 4:179fc666147c 342 setPVARP(stoi(recieve()));
kieftea 4:179fc666147c 343 }
kieftea 4:179fc666147c 344 void control::getPVARPExt(){
kieftea 4:179fc666147c 345 setPVARPExt(stoi(recieve()));
kieftea 4:179fc666147c 346 }
kieftea 4:179fc666147c 347 void control::getRateSmoothing(){
kieftea 4:179fc666147c 348 setRateSmoothing(stoi(recieve()));
kieftea 4:179fc666147c 349 }
kieftea 4:179fc666147c 350 void control::getReactionTime(){
kieftea 4:179fc666147c 351 setReactionTime(stoi(recieve()));
kieftea 4:179fc666147c 352 }
kieftea 4:179fc666147c 353 void control::getRecoveryTime(){
kieftea 4:179fc666147c 354 setRecoveryTime(stoi(recieve()));
kieftea 4:179fc666147c 355 }
kieftea 4:179fc666147c 356 void control::getRegulatedAmplitude(){
kieftea 4:179fc666147c 357 setRegulatedAmplitude(stod(recieve()));
kieftea 4:179fc666147c 358 }
kieftea 4:179fc666147c 359 void control::getResponseFactor(){
kieftea 4:179fc666147c 360 setResponseFactor(stoi(recieve()));
kieftea 4:179fc666147c 361 }
kieftea 4:179fc666147c 362 void control::getSensedAVDelayOffset(){
kieftea 4:179fc666147c 363 setSensedAVDelayOffset(stoi(recieve()));
kieftea 4:179fc666147c 364 }
kieftea 4:179fc666147c 365 void control::getSensitivity(){
kieftea 4:179fc666147c 366 setSensitivity(stod(recieve()));
kieftea 4:179fc666147c 367 }
kieftea 4:179fc666147c 368 void control::getUnregulatedAmplitude(){
kieftea 4:179fc666147c 369 setUnregulatedAmplitude(stod(recieve()));
kieftea 4:179fc666147c 370 }
kieftea 4:179fc666147c 371 void control::getUpperRateLimit(){
kieftea 4:179fc666147c 372 setUpperRateLimit(stoi(recieve()));
kieftea 4:179fc666147c 373 }
kieftea 4:179fc666147c 374 void control::getVentBlanking(){
kieftea 4:179fc666147c 375 setVentBlanking(stoi(recieve()));
kieftea 4:179fc666147c 376 }
kieftea 4:179fc666147c 377 void control::getVentRP(){
kieftea 4:179fc666147c 378 setVentRP(stoi(recieve()));
kieftea 4:179fc666147c 379 }
kieftea 4:179fc666147c 380 void control::getpaceMode(){
kieftea 4:179fc666147c 381 setpaceMode(recieve());
kieftea 4:179fc666147c 382 } */