From 1535e1cd2b12db7331ec4fb9c5b454287c801ae9 Mon Sep 17 00:00:00 2001 From: Graham Jones Date: Fri, 18 Feb 2022 22:35:07 +0000 Subject: [PATCH] Fixed but in seizure detection algorithm that meant that the alarmRatioThreshold only really increased in units of 10 (if you specified 50 to 59, it would only alarm if the actual ratio exceeded 60). --- app/src/main/AndroidManifest.xml | 2 +- .../java/uk/org/openseizuredetector/SdDataSource.java | 9 ++++++--- .../java/uk/org/openseizuredetector/SdWebServer.java | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 818c807..f60830c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,7 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" package="uk.org.openseizuredetector" android:versionCode="92" - android:versionName="4.0.0h"> + android:versionName="4.0.0i"> diff --git a/app/src/main/java/uk/org/openseizuredetector/SdDataSource.java b/app/src/main/java/uk/org/openseizuredetector/SdDataSource.java index 2eac58e..793cc27 100644 --- a/app/src/main/java/uk/org/openseizuredetector/SdDataSource.java +++ b/app/src/main/java/uk/org/openseizuredetector/SdDataSource.java @@ -478,9 +478,12 @@ public abstract class SdDataSource { */ private void alarmCheck() { boolean inAlarm; - Log.v(TAG, "alarmCheck()"); + // Avoid potential divide by zero issue + if (mSdData.specPower == 0) + mSdData.specPower = 1; + Log.v(TAG, "alarmCheck() - roiPower="+mSdData.roiPower+" specPower="+ mSdData.specPower+" ratio="+10*mSdData.roiPower/ mSdData.specPower); // Is the current set of data representing an alarm state? - if ((mSdData.roiPower > mAlarmThresh) && (10 * (mSdData.roiPower / mSdData.specPower) > mAlarmRatioThresh)) { + if ((mSdData.roiPower > mAlarmThresh) && ((10 * mSdData.roiPower / mSdData.specPower) > mAlarmRatioThresh)) { inAlarm = true; } else { inAlarm = false; @@ -510,7 +513,7 @@ public abstract class SdDataSource { } } - Log.v(TAG, "alarmCheck(): inAlarm=" + inAlarm + ", alarmState = " + mSdData.alarmState + " alarmCount=" + mAlarmCount + " mAlarmTime=" + mAlarmTime); + Log.v(TAG, "alarmCheck(): inAlarm=" + inAlarm + ", alarmState = " + mSdData.alarmState + " alarmCount=" + mAlarmCount + " mWarnTime=" + mWarnTime+ " mAlarmTime=" + mAlarmTime); } diff --git a/app/src/main/java/uk/org/openseizuredetector/SdWebServer.java b/app/src/main/java/uk/org/openseizuredetector/SdWebServer.java index 2b0e182..0b92614 100644 --- a/app/src/main/java/uk/org/openseizuredetector/SdWebServer.java +++ b/app/src/main/java/uk/org/openseizuredetector/SdWebServer.java @@ -202,7 +202,7 @@ public class SdWebServer extends NanoHTTPD { } else { Log.v(TAG, "WebServer.serve() - Unknown uri -" + uri); - answer = "{'msg' : 'Unknown URI: '}"; + answer = "{'msg' : 'Unknown URI: "+uri+"'}"; } } res = new NanoHTTPD.Response(answer);