V4.1.10a - Added heart rate readings frozen fault warning.
This commit is contained in:
@@ -853,9 +853,9 @@ public class MainActivity extends AppCompatActivity {
|
||||
// Fault Conditions - We override the values in the UI because we do not know
|
||||
// if the stored ones are correct or not with a fault present.
|
||||
if ((mConnection.mSdServer.mSdData.alarmState == 4) ||
|
||||
(mConnection.mSdServer.mSdData.alarmState == 7)) {
|
||||
(mConnection.mSdServer.mSdData.alarmState == 7) || mConnection.mSdServer.mSdData.mHrFrozenFaultStanding) {
|
||||
tv = (TextView) findViewById(R.id.alarmTv);
|
||||
if (mConnection.mSdServer.mSdData.alarmState == 4) {
|
||||
if (mConnection.mSdServer.mSdData.alarmState == 4 || mConnection.mSdServer.mSdData.mHrFrozenFaultStanding) {
|
||||
tv.setText(R.string.Fault);
|
||||
tv.setBackgroundColor(warnColour);
|
||||
tv.setTextColor(warnTextColour);
|
||||
@@ -876,7 +876,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
tv.setTextColor(warnTextColour);
|
||||
|
||||
tv = (TextView) findViewById(R.id.pebbleTv);
|
||||
tv.setText(getString(R.string.HR_Equals) + " --- bpm\n"+getString(R.string.o2_sat)+" = --- %");
|
||||
//tv.setText(getString(R.string.HR_Equals) + " --- bpm\n"+getString(R.string.o2_sat)+" = --- %");
|
||||
tv.setBackgroundColor(warnColour);
|
||||
tv.setTextColor(warnTextColour);
|
||||
|
||||
|
||||
@@ -99,6 +99,7 @@ public class SdData implements Parcelable {
|
||||
|
||||
public CircBuf mAdaptiveHrBuf;
|
||||
public CircBuf mAverageHrBuf;
|
||||
public boolean mHrFrozenFaultStanding = false;
|
||||
int mNsamp = 0;
|
||||
|
||||
/* Analysis results */
|
||||
|
||||
@@ -104,6 +104,10 @@ public abstract class SdDataSource {
|
||||
private int mAlarmCount;
|
||||
protected String mBleDeviceAddr;
|
||||
protected String mBleDeviceName;
|
||||
private double mLastHrValue;
|
||||
private Time mHrStatusTime;
|
||||
private double mHrFrozenPeriod = 60; // seconds
|
||||
private boolean mHrFrozenAlarm;
|
||||
|
||||
|
||||
public SdDataSource(Context context, Handler handler, SdDataReceiver sdDataReceiver) {
|
||||
@@ -163,6 +167,12 @@ public abstract class SdDataSource {
|
||||
Log.v(TAG, "start(): status timer already running.");
|
||||
mUtil.writeToSysLogFile("SdDataSource.start() - status timer already running??");
|
||||
}
|
||||
|
||||
// Initialise time we last received a change in HR value.
|
||||
mHrStatusTime = new Time(Time.getCurrentTimezone());
|
||||
mHrStatusTime.setToNow();
|
||||
mLastHrValue = -1;
|
||||
|
||||
if (mFaultCheckTimer == null) {
|
||||
Log.v(TAG, "start(): starting alarm check timer");
|
||||
mUtil.writeToSysLogFile("SdDataSource.start() - starting alarm check timer");
|
||||
@@ -779,6 +789,21 @@ public abstract class SdDataSource {
|
||||
//Log.v(TAG, "faultCheck() - watch app not running so not doing anything");
|
||||
mAlarmCount = 0;
|
||||
}
|
||||
|
||||
if (mSdData.mHRAlarmActive && mHrFrozenAlarm) {
|
||||
if (mSdData.mHR != mLastHrValue) {
|
||||
mLastHrValue = mSdData.mHR;
|
||||
mHrStatusTime = tnow;
|
||||
mSdData.mHrFrozenFaultStanding = false;
|
||||
} else {
|
||||
tdiff = (tnow.toMillis(false) - mHrStatusTime.toMillis(false));
|
||||
if (tdiff > mHrFrozenPeriod *1000.) {
|
||||
mSdData.mHrFrozenFaultStanding = true;
|
||||
} else {
|
||||
mSdData.mHrFrozenFaultStanding = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void nnAnalysis() {
|
||||
@@ -971,6 +996,10 @@ public abstract class SdDataSource {
|
||||
Log.v(TAG, "updatePrefs() HRNullAsAlarm = " + mSdData.mHRNullAsAlarm);
|
||||
mUtil.writeToSysLogFile( "updatePrefs() HRNullAsAlarm = " + mSdData.mHRNullAsAlarm);
|
||||
|
||||
mHrFrozenAlarm = SP.getBoolean("HrFrozenAlarm", true);
|
||||
Log.v(TAG, "updatePrefs() - mHrFrozenAlarm = " + mHrFrozenAlarm);
|
||||
mUtil.writeToSysLogFile("updatePrefs() - mHrFrozenAlarm = " + mHrFrozenAlarm);
|
||||
|
||||
prefStr = SP.getString("HRThreshMin", "SET_FROM_XML");
|
||||
mSdData.mHRThreshMin = (short) Integer.parseInt(prefStr);
|
||||
Log.v(TAG, "updatePrefs() HRThreshMin = " + mSdData.mHRThreshMin);
|
||||
|
||||
@@ -774,7 +774,7 @@ public class SdServer extends Service implements SdDataReceiver {
|
||||
|
||||
|
||||
// Fault
|
||||
if ((sdData.alarmState) == 4 || (sdData.alarmState == 7) || (sdData.mHRFaultStanding)) {
|
||||
if ((sdData.alarmState) == 4 || (sdData.alarmState == 7) || (sdData.mHRFaultStanding) || (sdData.mHrFrozenFaultStanding)) {
|
||||
sdData.alarmPhrase = "FAULT";
|
||||
//writeAlarmToSD();
|
||||
faultWarningBeep();
|
||||
|
||||
Reference in New Issue
Block a user