Added alarm latching option to SD Server app.
This commit is contained in:
Binary file not shown.
@@ -165,6 +165,13 @@ public class MainActivity extends Activity
|
||||
Log.v(TAG,"exception starting pebble App "+ex.toString());
|
||||
}
|
||||
return true;
|
||||
|
||||
case R.id.action_accept_alarm:
|
||||
Log.v(TAG,"action_accept_alarm");
|
||||
if (mBound) {
|
||||
mSdServer.acceptAlarm();
|
||||
}
|
||||
return true;
|
||||
case R.id.action_start_stop:
|
||||
// Respond to the start/stop server menu item.
|
||||
Log.v(TAG,"action_sart_stop");
|
||||
@@ -243,7 +250,7 @@ public class MainActivity extends Activity
|
||||
versionName = null;
|
||||
}
|
||||
}
|
||||
tv.setText("OpenSeizureDetector Server Version "+versionName);
|
||||
tv.setText("OpenSeizureDetector Server Version " + versionName);
|
||||
|
||||
if (!isServerRunning()) {
|
||||
Log.v(TAG,"Server not Running - Starting Server");
|
||||
@@ -445,16 +452,24 @@ public class MainActivity extends Activity
|
||||
try {
|
||||
if (mBound) {
|
||||
tv = (TextView) findViewById(R.id.alarmTv);
|
||||
if (mSdServer.sdData.alarmState==0) {
|
||||
tv.setText(mSdServer.sdData.alarmPhrase);
|
||||
if ((mSdServer.sdData.alarmState==0)
|
||||
&& !mSdServer.sdData.alarmStanding
|
||||
&& !mSdServer.sdData.fallAlarmStanding) {
|
||||
tv.setText("OK");
|
||||
tv.setBackgroundColor(okColour);
|
||||
}
|
||||
if (mSdServer.sdData.alarmState==1) {
|
||||
tv.setText(mSdServer.sdData.alarmPhrase);
|
||||
if ((mSdServer.sdData.alarmState==1)
|
||||
&& !mSdServer.sdData.alarmStanding
|
||||
&& !mSdServer.sdData.fallAlarmStanding) {
|
||||
tv.setText("WARNING");
|
||||
tv.setBackgroundColor(warnColour);
|
||||
}
|
||||
if (mSdServer.sdData.alarmState==2) {
|
||||
tv.setText(mSdServer.sdData.alarmPhrase);
|
||||
if (mSdServer.sdData.alarmStanding) {
|
||||
tv.setText("**ALARM**");
|
||||
tv.setBackgroundColor(alarmColour);
|
||||
}
|
||||
if (mSdServer.sdData.fallAlarmStanding) {
|
||||
tv.setText("**FALL**");
|
||||
tv.setBackgroundColor(alarmColour);
|
||||
}
|
||||
tv = (TextView) findViewById(R.id.pebTimeTv);
|
||||
|
||||
@@ -53,6 +53,8 @@ public class SdData implements Parcelable {
|
||||
/* Analysis results */
|
||||
public Time dataTime;
|
||||
public long alarmState;
|
||||
public boolean alarmStanding = false;
|
||||
public boolean fallAlarmStanding = false;
|
||||
public long maxVal;
|
||||
public long maxFreq;
|
||||
public long specPower;
|
||||
|
||||
@@ -141,6 +141,7 @@ public class SdServer extends Service
|
||||
private WakeLock mWakeLock = null;
|
||||
public SdData sdData;
|
||||
private PebbleKit.PebbleDataReceiver msgDataHandler = null;
|
||||
private boolean mLatchAlarms = false;
|
||||
private boolean mCancelAudible = false;
|
||||
private boolean mAudibleAlarm = false;
|
||||
private boolean mAudibleWarning = false;
|
||||
@@ -459,12 +460,24 @@ public class SdServer extends Service
|
||||
sdData.roiPower = data.getUnsignedIntegerAsLong(KEY_ROIPOWER);
|
||||
sdData.alarmPhrase = "Unknown";
|
||||
if (sdData.alarmState == 0) {
|
||||
if ((!mLatchAlarms) ||
|
||||
(mLatchAlarms &&
|
||||
(!sdData.alarmStanding && !sdData.fallAlarmStanding))) {
|
||||
sdData.alarmPhrase = "OK";
|
||||
sdData.alarmStanding = false;
|
||||
sdData.fallAlarmStanding = false;
|
||||
}
|
||||
}
|
||||
if (sdData.alarmState == 1) {
|
||||
if ((!mLatchAlarms) ||
|
||||
(mLatchAlarms &&
|
||||
(!sdData.alarmStanding && !sdData.fallAlarmStanding))) {
|
||||
sdData.alarmPhrase = "WARNING";
|
||||
sdData.alarmStanding = false;
|
||||
sdData.fallAlarmStanding = false;
|
||||
}
|
||||
if (mLogAlarms) {
|
||||
Log.v(TAG, "WARNING - Loggin to SD Card");
|
||||
Log.v(TAG, "WARNING - Logging to SD Card");
|
||||
writeAlarmToSD();
|
||||
logData();
|
||||
} else {
|
||||
@@ -472,8 +485,9 @@ public class SdServer extends Service
|
||||
}
|
||||
warningBeep();
|
||||
}
|
||||
if (sdData.alarmState == 2) {
|
||||
if ((sdData.alarmState == 2) || (sdData.alarmStanding)) {
|
||||
sdData.alarmPhrase = "ALARM";
|
||||
sdData.alarmStanding = true;
|
||||
if (mLogAlarms) {
|
||||
Log.v(TAG, "***ALARM*** - Logging to SD Card");
|
||||
writeAlarmToSD();
|
||||
@@ -496,8 +510,9 @@ public class SdServer extends Service
|
||||
}
|
||||
}
|
||||
}
|
||||
if (sdData.alarmState == 3) {
|
||||
if ((sdData.alarmState == 3) || (sdData.fallAlarmStanding)) {
|
||||
sdData.alarmPhrase = "FALL";
|
||||
sdData.fallAlarmStanding = true;
|
||||
if (mLogAlarms) {
|
||||
Log.v(TAG, "***FALL*** - Logging to SD Card");
|
||||
writeAlarmToSD();
|
||||
@@ -555,6 +570,15 @@ public class SdServer extends Service
|
||||
PebbleKit.registerReceivedDataHandler(this,msgDataHandler);
|
||||
}
|
||||
|
||||
/**
|
||||
* set the alarm standing flags to false to allow alarm phase to reset to current value.
|
||||
*/
|
||||
public void acceptAlarm() {
|
||||
Log.v(TAG,"acceptAlarm()");
|
||||
sdData.alarmStanding = false;
|
||||
sdData.fallAlarmStanding = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* De-register this server from receiving pebble data
|
||||
*/
|
||||
@@ -701,6 +725,8 @@ public class SdServer extends Service
|
||||
SharedPreferences SP = PreferenceManager
|
||||
.getDefaultSharedPreferences(getBaseContext());
|
||||
try {
|
||||
mLatchAlarms = SP.getBoolean("LatchAlarms",false);
|
||||
Log.v(TAG,"updatePrefs() - mLatchAlarms = "+mLatchAlarms);
|
||||
mAudibleFaultWarning = SP.getBoolean("AudibleFaultWarning",true);
|
||||
Log.v(TAG,"updatePrefs() - mAuidbleFaultWarning = "+mAudibleFaultWarning);
|
||||
mAudibleAlarm = SP.getBoolean("AudibleAlarm",true);
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<item android:id="@+id/action_accept_alarm"
|
||||
android:title="Accept Alarm"
|
||||
android:showAsAction="never|withText"
|
||||
/>
|
||||
|
||||
|
||||
<item android:id="@+id/action_launch_pebble_app"
|
||||
android:icon="@drawable/stop_server"
|
||||
android:title="Launch Pebble App"
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<CheckBoxPreference
|
||||
android:key="LatchAlarms"
|
||||
android:title="Latch Alarms"
|
||||
android:summary="Require manual reset of alarms to reset them to silence them."
|
||||
android:defaultValue="false" />
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="AudibleAlarm"
|
||||
android:title="Enable Audible Alarm"
|
||||
|
||||
Reference in New Issue
Block a user