Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Pacemaker by
Param.h@7:4a1ec89e37cc, 2016-12-19 (annotated)
- Committer:
- kieftea
- Date:
- Mon Dec 19 19:56:08 2016 +0000
- Revision:
- 7:4a1ec89e37cc
- Parent:
- 6:d71e30291a62
PARAM WORKING
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| kieftea | 6:d71e30291a62 | 1 | #ifndef PARAM_H |
| kieftea | 6:d71e30291a62 | 2 | #define PARAM_H |
| kieftea | 6:d71e30291a62 | 3 | |
| kieftea | 6:d71e30291a62 | 4 | #include "pinmap.h" |
| kieftea | 6:d71e30291a62 | 5 | #include <iostream> |
| kieftea | 6:d71e30291a62 | 6 | #include <sstream> |
| kieftea | 6:d71e30291a62 | 7 | #include <cstdlib> |
| kieftea | 6:d71e30291a62 | 8 | #include <cstring> |
| kieftea | 6:d71e30291a62 | 9 | #include <string> |
| kieftea | 6:d71e30291a62 | 10 | |
| kieftea | 6:d71e30291a62 | 11 | using namespace std; |
| kieftea | 6:d71e30291a62 | 12 | |
| kieftea | 6:d71e30291a62 | 13 | class Param |
| kieftea | 6:d71e30291a62 | 14 | { |
| kieftea | 6:d71e30291a62 | 15 | |
| kieftea | 6:d71e30291a62 | 16 | private: |
| kieftea | 6:d71e30291a62 | 17 | string parameters; |
| kieftea | 7:4a1ec89e37cc | 18 | // |
| kieftea | 6:d71e30291a62 | 19 | int LowerRateLimit; // |
| kieftea | 6:d71e30291a62 | 20 | int UpperRateLimit; // |
| kieftea | 6:d71e30291a62 | 21 | int MaximumSensorRate; // |
| kieftea | 6:d71e30291a62 | 22 | int FixedAVDelay; // |
| kieftea | 6:d71e30291a62 | 23 | string DynamicAVDelay; // |
| kieftea | 6:d71e30291a62 | 24 | int MinimumDynamicAVDelay; // |
| kieftea | 6:d71e30291a62 | 25 | int SensedAVDelayOffset; // |
| kieftea | 6:d71e30291a62 | 26 | double APulsedAmplitudeRegulated; // |
| kieftea | 6:d71e30291a62 | 27 | double VPulseAmplitudeRegulated; // |
| kieftea | 6:d71e30291a62 | 28 | double APulseAmplitudeUnregulated; // |
| kieftea | 6:d71e30291a62 | 29 | double VPulseAmplitudeUnregulated; // |
| kieftea | 6:d71e30291a62 | 30 | double APulseWidth; // |
| kieftea | 6:d71e30291a62 | 31 | double VPulseWidth; // |
| kieftea | 6:d71e30291a62 | 32 | double ASensitivity; // |
| kieftea | 6:d71e30291a62 | 33 | double VSensitivity; // |
| kieftea | 6:d71e30291a62 | 34 | int AtrRP; // |
| kieftea | 6:d71e30291a62 | 35 | int VentRP; // |
| kieftea | 6:d71e30291a62 | 36 | int PVARP; // |
| kieftea | 6:d71e30291a62 | 37 | int PVARPExt; // |
| kieftea | 6:d71e30291a62 | 38 | int HysteresisRateLimit; // |
| kieftea | 6:d71e30291a62 | 39 | int RateSmoothing; // |
| kieftea | 6:d71e30291a62 | 40 | string ATRMode; // |
| kieftea | 6:d71e30291a62 | 41 | int ATRDuration; // |
| kieftea | 6:d71e30291a62 | 42 | int ATRFallbackTime; // |
| kieftea | 6:d71e30291a62 | 43 | int VentricularBlanking; // |
| kieftea | 6:d71e30291a62 | 44 | string ActivityThreshold; // |
| kieftea | 6:d71e30291a62 | 45 | int ReactionTime; // |
| kieftea | 6:d71e30291a62 | 46 | int ResponseFactor; // |
| kieftea | 6:d71e30291a62 | 47 | int RecoveryTime; // |
| kieftea | 6:d71e30291a62 | 48 | |
| kieftea | 6:d71e30291a62 | 49 | |
| kieftea | 6:d71e30291a62 | 50 | |
| kieftea | 6:d71e30291a62 | 51 | /********************************************** |
| kieftea | 6:d71e30291a62 | 52 | * |
| kieftea | 6:d71e30291a62 | 53 | * Programmable Parameters Access Functions |
| kieftea | 6:d71e30291a62 | 54 | * |
| kieftea | 6:d71e30291a62 | 55 | **********************************************/ |
| kieftea | 6:d71e30291a62 | 56 | |
| kieftea | 6:d71e30291a62 | 57 | public: |
| kieftea | 7:4a1ec89e37cc | 58 | string paceMode; |
| kieftea | 6:d71e30291a62 | 59 | Param(); |
| kieftea | 6:d71e30291a62 | 60 | Param(string params); |
| kieftea | 6:d71e30291a62 | 61 | void concatination(); |
| kieftea | 6:d71e30291a62 | 62 | int str_to_int(string input); |
| kieftea | 6:d71e30291a62 | 63 | double str_to_double(string input); |
| kieftea | 6:d71e30291a62 | 64 | string to_string(int input); |
| kieftea | 6:d71e30291a62 | 65 | string to_string(double input); |
| kieftea | 6:d71e30291a62 | 66 | void paramSet(int index, string input); |
| kieftea | 6:d71e30291a62 | 67 | void outputParam(); |
| kieftea | 6:d71e30291a62 | 68 | void strDissect(string masterString); |
| kieftea | 6:d71e30291a62 | 69 | |
| kieftea | 6:d71e30291a62 | 70 | string getParameters(){ return parameters; } |
| kieftea | 7:4a1ec89e37cc | 71 | string getMode(){ return paceMode; } |
| kieftea | 6:d71e30291a62 | 72 | int getLowerRateLimit(){ return LowerRateLimit; } |
| kieftea | 6:d71e30291a62 | 73 | int getLowerRateLimit_ms(){ return (60000/LowerRateLimit); } |
| kieftea | 6:d71e30291a62 | 74 | int getUpperRateLimit(){ return UpperRateLimit; } |
| kieftea | 6:d71e30291a62 | 75 | int getUpperRateLimit_ms(){ return (60000/UpperRateLimit); } |
| kieftea | 6:d71e30291a62 | 76 | int getMaximumSensorRate(){ return MaximumSensorRate; } |
| kieftea | 6:d71e30291a62 | 77 | int getMaximumSensorRate_ms(){ return (60000/MaximumSensorRate); } |
| kieftea | 6:d71e30291a62 | 78 | int getFixedAVDelay(){ return FixedAVDelay; } |
| kieftea | 6:d71e30291a62 | 79 | string getDynamicAVDelay(){ return DynamicAVDelay; } |
| kieftea | 6:d71e30291a62 | 80 | int getMinimumDynamicAVDelay(){ return MinimumDynamicAVDelay; } |
| kieftea | 6:d71e30291a62 | 81 | int getSensedAVDelayOffset(){ return SensedAVDelayOffset; } |
| kieftea | 6:d71e30291a62 | 82 | double getAPulsedAmplitudeRegulated(){ return APulsedAmplitudeRegulated; } |
| kieftea | 6:d71e30291a62 | 83 | double getVPulseAmplitudeRegulated(){ return VPulseAmplitudeRegulated; } |
| kieftea | 6:d71e30291a62 | 84 | double getAPulseAmplitudeUnregulated(){ return APulseAmplitudeUnregulated; } |
| kieftea | 6:d71e30291a62 | 85 | double getVPulseAmplitudeUnregulated(){ return VPulseAmplitudeUnregulated; } |
| kieftea | 6:d71e30291a62 | 86 | double getAPulseWidth(){ return APulseWidth; } |
| kieftea | 6:d71e30291a62 | 87 | double getAPulseWidth_us(){ return (1000*APulseWidth); } |
| kieftea | 6:d71e30291a62 | 88 | double getVPulseWidth(){ return VPulseWidth; } |
| kieftea | 6:d71e30291a62 | 89 | double getVPulseWidth_us(){ return (1000*VPulseWidth); } |
| kieftea | 6:d71e30291a62 | 90 | double getASensitivity(){ return ASensitivity; } |
| kieftea | 6:d71e30291a62 | 91 | double getVSensitivity(){ return VSensitivity; } |
| kieftea | 6:d71e30291a62 | 92 | int getAtrRP(){ return AtrRP; } |
| kieftea | 6:d71e30291a62 | 93 | int getVentRP(){ return VentRP; } |
| kieftea | 6:d71e30291a62 | 94 | int getPVARP(){ return PVARP; } |
| kieftea | 6:d71e30291a62 | 95 | int getPVARPExt(){ return PVARPExt; } |
| kieftea | 6:d71e30291a62 | 96 | int getHysteresisRateLimit(){ return HysteresisRateLimit; } |
| kieftea | 6:d71e30291a62 | 97 | int getHysteresisRateLimit_ms(){ return (60000/HysteresisRateLimit); } |
| kieftea | 6:d71e30291a62 | 98 | int getRateSmoothing(){ return RateSmoothing; } |
| kieftea | 6:d71e30291a62 | 99 | string getATRMode(){ return ATRMode; } |
| kieftea | 6:d71e30291a62 | 100 | int getATRDuration(){ return ATRDuration; } |
| kieftea | 6:d71e30291a62 | 101 | int getATRFallbackTime(){ return ATRFallbackTime; } |
| kieftea | 6:d71e30291a62 | 102 | int getVentricularBlanking(){ return VentricularBlanking; } |
| kieftea | 6:d71e30291a62 | 103 | string getActivityThreshold(){ return ActivityThreshold; } |
| kieftea | 6:d71e30291a62 | 104 | int getReactionTime(){ return ReactionTime; } |
| kieftea | 6:d71e30291a62 | 105 | int getResponseFactor(){ return ResponseFactor; } |
| kieftea | 6:d71e30291a62 | 106 | int getRecoveryTime(){ return RecoveryTime; } |
| kieftea | 6:d71e30291a62 | 107 | |
| kieftea | 7:4a1ec89e37cc | 108 | void setParameters(string inParam){ strDissect(inParam); } |
| kieftea | 7:4a1ec89e37cc | 109 | void setMode(string inParam){ paceMode = inParam; } |
| kieftea | 7:4a1ec89e37cc | 110 | void setLowerRateLimit(int inParam){ LowerRateLimit = inParam; } |
| kieftea | 7:4a1ec89e37cc | 111 | void setUpperRateLimit(int inParam){ UpperRateLimit = inParam; } |
| kieftea | 6:d71e30291a62 | 112 | void setMaximumSensorRate(int input){ MaximumSensorRate = input; } |
| kieftea | 6:d71e30291a62 | 113 | void setFixedAVDelay(int input){ FixedAVDelay = input; } |
| kieftea | 6:d71e30291a62 | 114 | void setDynamicAVDelay(string input){ DynamicAVDelay = input; } |
| kieftea | 6:d71e30291a62 | 115 | void setMinimumDynamicAVDelay(int input){ MinimumDynamicAVDelay = input; } |
| kieftea | 6:d71e30291a62 | 116 | void setSensedAVDelayOffset(int input){ SensedAVDelayOffset = input; } |
| kieftea | 6:d71e30291a62 | 117 | void setAPulsedAmplitudeRegulated(double input){ APulsedAmplitudeRegulated = input; } |
| kieftea | 6:d71e30291a62 | 118 | void setVPulseAmplitudeRegulated(double input){ VPulseAmplitudeRegulated = input; } |
| kieftea | 6:d71e30291a62 | 119 | void setAPulseAmplitudeUnregulated(double input){ APulseAmplitudeUnregulated = input; } |
| kieftea | 6:d71e30291a62 | 120 | void setVPulseAmplitudeUnregulated(double input){ VPulseAmplitudeUnregulated = input; } |
| kieftea | 6:d71e30291a62 | 121 | void setAPulseWidth(double input){ APulseWidth = input; } |
| kieftea | 6:d71e30291a62 | 122 | void setVPulseWidth(double input){ VPulseWidth = input; } |
| kieftea | 6:d71e30291a62 | 123 | void setASensitivity(double input){ ASensitivity = input; } |
| kieftea | 6:d71e30291a62 | 124 | void setVSensitivity(double input){ VSensitivity = input; } |
| kieftea | 6:d71e30291a62 | 125 | void setAtrRP(int input){ AtrRP = input; } |
| kieftea | 6:d71e30291a62 | 126 | void setVentRP(int input){ VentRP = input; } |
| kieftea | 6:d71e30291a62 | 127 | void setPVARP(int input){ PVARP = input; } |
| kieftea | 6:d71e30291a62 | 128 | void setPVARPExt(int input){ PVARPExt = input; } |
| kieftea | 6:d71e30291a62 | 129 | void setHysteresisRateLimit(int input){ HysteresisRateLimit = input; } |
| kieftea | 6:d71e30291a62 | 130 | void setRateSmoothing(int input){ RateSmoothing = input; } |
| kieftea | 6:d71e30291a62 | 131 | void setATRMode(string input){ ATRMode = input; } |
| kieftea | 6:d71e30291a62 | 132 | void setATRDuration(int input){ ATRDuration = input; } |
| kieftea | 6:d71e30291a62 | 133 | void setATRFallbackTime(int input){ ATRFallbackTime = input; } |
| kieftea | 6:d71e30291a62 | 134 | void setVentricularBlanking(int input){ VentricularBlanking = input; } |
| kieftea | 6:d71e30291a62 | 135 | void setActivityThreshold(string input){ ActivityThreshold = input; } |
| kieftea | 6:d71e30291a62 | 136 | void setReactionTime(int input){ ReactionTime = input; } |
| kieftea | 6:d71e30291a62 | 137 | void setResponseFactor(int input){ ResponseFactor = input; } |
| kieftea | 6:d71e30291a62 | 138 | void setRecoveryTime(int input){ RecoveryTime = input; } |
| kieftea | 6:d71e30291a62 | 139 | |
| kieftea | 6:d71e30291a62 | 140 | // uint16_t get_lower_rate_limit(); // # of pace pulses per minute |
| kieftea | 6:d71e30291a62 | 141 | // uint16_t get_lower_rate_limit_period_ms(); // LRL as a period in milliseconds |
| kieftea | 6:d71e30291a62 | 142 | // void set_lower_rate_limit(uint16_t lrl); |
| kieftea | 6:d71e30291a62 | 143 | // |
| kieftea | 6:d71e30291a62 | 144 | // uint16_t get_upper_rate_limit(); // min t b/w vent event and next vent pace |
| kieftea | 6:d71e30291a62 | 145 | // uint16_t get_upper_rate_limit_period_ms(); // URL as a period in milliseconds |
| kieftea | 6:d71e30291a62 | 146 | // void set_upper_rate_limit(uint16_t url); |
| kieftea | 6:d71e30291a62 | 147 | // |
| kieftea | 6:d71e30291a62 | 148 | // uint16_t get_max_sensor_rate(); // max rate allowed from adaptive pacing |
| kieftea | 6:d71e30291a62 | 149 | // uint16_t get_max_sensor_rate_period_ms(); // MSR as a period in milliseconds |
| kieftea | 6:d71e30291a62 | 150 | // void set_max_sensor_rate(uint16_t msr); |
| kieftea | 6:d71e30291a62 | 151 | // |
| kieftea | 6:d71e30291a62 | 152 | // uint16_t get_fixed_av_delay_ms(); // time between atrial and vent events in milliseconds |
| kieftea | 6:d71e30291a62 | 153 | // void set_fixed_av_delay_ms(uint16_t av_delay_ms); |
| kieftea | 6:d71e30291a62 | 154 | // |
| kieftea | 6:d71e30291a62 | 155 | // uint16_t get_atr_pulse_width_us(); // duration of atrial pulse in microseconds |
| kieftea | 6:d71e30291a62 | 156 | // void set_atr_pulse_width_us(uint16_t atr_pulse_width); |
| kieftea | 6:d71e30291a62 | 157 | // |
| kieftea | 6:d71e30291a62 | 158 | // uint16_t get_vent_pulse_width_us(); // duration of ventricular pulse in microseconds |
| kieftea | 6:d71e30291a62 | 159 | // void set_vent_pulse_width_us(uint16_t v_pulse_width_us); |
| kieftea | 6:d71e30291a62 | 160 | // |
| kieftea | 6:d71e30291a62 | 161 | // uint16_t get_atr_pulse_amp(); // amplitude of atrial pulses |
| kieftea | 6:d71e30291a62 | 162 | // void set_atr_pulse_amp(uint16_t atr_pulse_amp); |
| kieftea | 6:d71e30291a62 | 163 | // |
| kieftea | 6:d71e30291a62 | 164 | // uint16_t get_vent_pulse_amp(); // amplitude of ventricular pulses |
| kieftea | 6:d71e30291a62 | 165 | // void set_vent_pulse_amp(uint16_t vent_pulse_amp); |
| kieftea | 6:d71e30291a62 | 166 | |
| kieftea | 6:d71e30291a62 | 167 | }; |
| kieftea | 6:d71e30291a62 | 168 | |
| kieftea | 6:d71e30291a62 | 169 | #endif |
