3k04 team / Mbed 2 deprecated Pacemaker

Dependencies:   mbed Queue mbed-rtos FXOS8700Q

Fork of Pacemaker by Eric dollar

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers chamberData.cpp Source File

chamberData.cpp

00001 #pragma once
00002 #include "mbed.h"
00003 #include "chamberData.h"
00004 
00005 chamberData::chamberData(){
00006 }
00007 
00008 chamberData::chamberData(char chamberType){
00009     mychamber = chamberType;
00010     if(mychamber == 'v'){
00011         p_PaceAmp = 3.75; //decimal value between 0 and 1 which is a factor applied to 3.3V output.  ie. 0.5 will give 0.5(3.3) V of output
00012         p_PaceWidth = 0.4;
00013         p_RP = 320;
00014         p_Sensitivity = 2.5;
00015     }
00016     else{
00017        p_PaceAmp = 0.5;
00018        p_PaceWidth = 0.05;
00019        p_RP = 250;
00020        p_Sensitivity = 0.75;
00021     }
00022 }
00023 char chamberData::getChamberType(){
00024     return mychamber;
00025 }
00026 
00027 int chamberData::chngPaceAmp(double amp){
00028     if(mychamber == 'a'){
00029         if(amp>3.2 || amp<0.5){
00030             return 0; 
00031         }else{
00032             p_PaceAmp = (amp-0)/(7-0);
00033             return 1;
00034         }
00035     }else{
00036         if(amp>7 || amp<3.5){
00037             return 0;
00038         }else{
00039             p_PaceAmp = (amp-0)/(7-0);
00040             return 1;
00041         }
00042     }
00043 }
00044 
00045 double chamberData::getPaceAmp(){
00046     return p_PaceAmp;
00047 }
00048 
00049 int chamberData::chngPaceWidth(double width){
00050     if(mychamber == 'a'){
00051         if(width!=0.05){
00052             return 0;
00053         }else{
00054             p_PaceWidth = width;
00055             return 1;
00056         }
00057     }else{
00058         if(width>1.9 || width< 0.1){
00059             return 0;
00060         }else{
00061             p_PaceWidth = width;
00062             return 1;
00063         }
00064     }
00065 }
00066 
00067 double chamberData::getPaceWidth(){
00068     return p_PaceWidth;
00069 }
00070 
00071 int chamberData::chngRP(double RP){
00072     if(mychamber == 'a'){
00073         if(RP>500 || RP<150){
00074             return 0;
00075         }else{
00076             p_RP = RP;
00077             return 1;
00078         }
00079     }else{
00080         if(RP>500 || RP< 150){
00081             return 0;
00082         }else{
00083             p_RP = RP;
00084             return 1;
00085         }
00086     }
00087 }
00088 
00089 double chamberData::getRP(){
00090     return p_RP;
00091 }
00092 
00093 int chamberData::chngSensitivity(double sensitivity){
00094    if(mychamber == 'a'){
00095         if(sensitivity <0.05 || sensitivity > 0.75){
00096             return 0;
00097         }else{
00098             p_Sensitivity = sensitivity;
00099             return 1;
00100         }
00101     }else{
00102         if(sensitivity>10 || sensitivity< 1){
00103             return 0;
00104         }else{
00105             p_Sensitivity = sensitivity;
00106             return 1;
00107         }
00108     }
00109 }
00110 
00111 double chamberData::getSensitivity(){
00112     return p_Sensitivity;
00113 }
00114 
00115 void chamberData::setMarker(char a){
00116     f_marker = a;
00117 }
00118 
00119 char chamberData::getMarker(){
00120     return f_marker;
00121 }
00122 chamberData::~chamberData(){}