V2.0.7 - variable sample period and sample frequency.
This commit is contained in:
@@ -1,6 +1,11 @@
|
|||||||
OpenSeizureDetector Android App - Change Log
|
OpenSeizureDetector Android App - Change Log
|
||||||
============================================
|
============================================
|
||||||
|
|
||||||
|
V2.0.7 - 18 Aug 2016
|
||||||
|
- Added AnalysisPeriod setting to Pebble Datasource to change
|
||||||
|
the period between data analyses (rather than the default 5 seconds
|
||||||
|
in previous versions).
|
||||||
|
|
||||||
V2.0.6 - 25 July 2016
|
V2.0.6 - 25 July 2016
|
||||||
- Added main activity menu option to view log files (via web browser).
|
- Added main activity menu option to view log files (via web browser).
|
||||||
- Added options to switch off spectrum display on watch to save battery.
|
- Added options to switch off spectrum display on watch to save battery.
|
||||||
|
|||||||
BIN
app/app-release-2.0.7.apk
Normal file
BIN
app/app-release-2.0.7.apk
Normal file
Binary file not shown.
@@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="uk.org.openseizuredetector"
|
package="uk.org.openseizuredetector"
|
||||||
android:versionCode="27"
|
android:versionCode="28"
|
||||||
android:versionName="2.0.6">
|
android:versionName="2.0.7">
|
||||||
|
|
||||||
<uses-sdk android:minSdkVersion="14" />
|
<uses-sdk android:minSdkVersion="14" />
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -52,6 +52,7 @@ public class SdData implements Parcelable {
|
|||||||
public short mFallWindow;
|
public short mFallWindow;
|
||||||
public long mSdMode;
|
public long mSdMode;
|
||||||
public long mSampleFreq;
|
public long mSampleFreq;
|
||||||
|
public long analysisPeriod;
|
||||||
public long alarmFreqMin;
|
public long alarmFreqMin;
|
||||||
public long alarmFreqMax;
|
public long alarmFreqMax;
|
||||||
public long nMin;
|
public long nMin;
|
||||||
@@ -152,6 +153,7 @@ public class SdData implements Parcelable {
|
|||||||
jsonObj.put("alarmPhrase", alarmPhrase);
|
jsonObj.put("alarmPhrase", alarmPhrase);
|
||||||
jsonObj.put("sdMode",mSdMode);
|
jsonObj.put("sdMode",mSdMode);
|
||||||
jsonObj.put("sampleFreq",mSampleFreq);
|
jsonObj.put("sampleFreq",mSampleFreq);
|
||||||
|
jsonObj.put("analysisPeriod",analysisPeriod);
|
||||||
jsonObj.put("alarmFreqMin",alarmFreqMin);
|
jsonObj.put("alarmFreqMin",alarmFreqMin);
|
||||||
jsonObj.put("alarmFreqMax",alarmFreqMax);
|
jsonObj.put("alarmFreqMax",alarmFreqMax);
|
||||||
jsonObj.put("alarmThresh", alarmThresh);
|
jsonObj.put("alarmThresh", alarmThresh);
|
||||||
|
|||||||
@@ -107,6 +107,10 @@ public class SdDataSourcePebble extends SdDataSource {
|
|||||||
private int KEY_NUM_RAW_DATA = 31;
|
private int KEY_NUM_RAW_DATA = 31;
|
||||||
private int KEY_DEBUG = 32;
|
private int KEY_DEBUG = 32;
|
||||||
private int KEY_DISPLAY_SPECTRUM = 33;
|
private int KEY_DISPLAY_SPECTRUM = 33;
|
||||||
|
private int KEY_SAMPLE_PERIOD = 34;
|
||||||
|
private int KEY_VERSION_MAJOR = 35;
|
||||||
|
private int KEY_VERSION_MINOR = 36;
|
||||||
|
private int KEY_FREQ_CUTOFF = 37;
|
||||||
|
|
||||||
// Values of the KEY_DATA_TYPE entry in a message
|
// Values of the KEY_DATA_TYPE entry in a message
|
||||||
private int DATA_TYPE_RESULTS = 1; // Analysis Results
|
private int DATA_TYPE_RESULTS = 1; // Analysis Results
|
||||||
@@ -128,6 +132,7 @@ public class SdDataSourcePebble extends SdDataSource {
|
|||||||
private short mSampleFreq;
|
private short mSampleFreq;
|
||||||
private short mAlarmFreqMin;
|
private short mAlarmFreqMin;
|
||||||
private short mAlarmFreqMax;
|
private short mAlarmFreqMax;
|
||||||
|
private short mSamplePeriod;
|
||||||
private short mWarnTime;
|
private short mWarnTime;
|
||||||
private short mAlarmTime;
|
private short mAlarmTime;
|
||||||
private short mAlarmThresh;
|
private short mAlarmThresh;
|
||||||
@@ -298,6 +303,10 @@ public class SdDataSourcePebble extends SdDataSource {
|
|||||||
mSampleFreq = (short) Integer.parseInt(prefStr);
|
mSampleFreq = (short) Integer.parseInt(prefStr);
|
||||||
Log.v(TAG, "updatePrefs() SampleFreq = " + mSampleFreq);
|
Log.v(TAG, "updatePrefs() SampleFreq = " + mSampleFreq);
|
||||||
|
|
||||||
|
prefStr = SP.getString("SamplePeriod", "SET_FROM_XML");
|
||||||
|
mSamplePeriod = (short) Integer.parseInt(prefStr);
|
||||||
|
Log.v(TAG, "updatePrefs() AnalysisPeriod = " + mSamplePeriod);
|
||||||
|
|
||||||
prefStr = SP.getString("AlarmFreqMin", "SET_FROM_XML");
|
prefStr = SP.getString("AlarmFreqMin", "SET_FROM_XML");
|
||||||
mAlarmFreqMin = (short) Integer.parseInt(prefStr);
|
mAlarmFreqMin = (short) Integer.parseInt(prefStr);
|
||||||
Log.v(TAG, "updatePrefs() AlarmFreqMin = " + mAlarmFreqMin);
|
Log.v(TAG, "updatePrefs() AlarmFreqMin = " + mAlarmFreqMin);
|
||||||
@@ -403,6 +412,7 @@ public class SdDataSourcePebble extends SdDataSource {
|
|||||||
if (data.getUnsignedIntegerAsLong(KEY_DATA_TYPE)
|
if (data.getUnsignedIntegerAsLong(KEY_DATA_TYPE)
|
||||||
== DATA_TYPE_SETTINGS) {
|
== DATA_TYPE_SETTINGS) {
|
||||||
Log.v(TAG, "DATA_TYPE = Settings");
|
Log.v(TAG, "DATA_TYPE = Settings");
|
||||||
|
mSdData.analysisPeriod = data.getUnsignedIntegerAsLong(KEY_SAMPLE_PERIOD);
|
||||||
mSdData.alarmFreqMin = data.getUnsignedIntegerAsLong(KEY_ALARM_FREQ_MIN);
|
mSdData.alarmFreqMin = data.getUnsignedIntegerAsLong(KEY_ALARM_FREQ_MIN);
|
||||||
mSdData.alarmFreqMax = data.getUnsignedIntegerAsLong(KEY_ALARM_FREQ_MAX);
|
mSdData.alarmFreqMax = data.getUnsignedIntegerAsLong(KEY_ALARM_FREQ_MAX);
|
||||||
mSdData.nMin = data.getUnsignedIntegerAsLong(KEY_NMIN);
|
mSdData.nMin = data.getUnsignedIntegerAsLong(KEY_NMIN);
|
||||||
@@ -538,6 +548,7 @@ public class SdDataSourcePebble extends SdDataSource {
|
|||||||
setDict.addInt16(KEY_MAN_ALARM_PERIOD, mManAlarmPeriod);
|
setDict.addInt16(KEY_MAN_ALARM_PERIOD, mManAlarmPeriod);
|
||||||
setDict.addInt16(KEY_SD_MODE, mPebbleSdMode);
|
setDict.addInt16(KEY_SD_MODE, mPebbleSdMode);
|
||||||
setDict.addInt16(KEY_SAMPLE_FREQ, mSampleFreq);
|
setDict.addInt16(KEY_SAMPLE_FREQ, mSampleFreq);
|
||||||
|
setDict.addInt16(KEY_SAMPLE_PERIOD, mSamplePeriod);
|
||||||
setDict.addInt16(KEY_ALARM_FREQ_MIN, mAlarmFreqMin);
|
setDict.addInt16(KEY_ALARM_FREQ_MIN, mAlarmFreqMin);
|
||||||
setDict.addInt16(KEY_ALARM_FREQ_MAX, mAlarmFreqMax);
|
setDict.addInt16(KEY_ALARM_FREQ_MAX, mAlarmFreqMax);
|
||||||
setDict.addUint16(KEY_WARN_TIME, mWarnTime);
|
setDict.addUint16(KEY_WARN_TIME, mWarnTime);
|
||||||
@@ -578,6 +589,10 @@ public class SdDataSourcePebble extends SdDataSource {
|
|||||||
Log.v(TAG, "checkWatchSettings - mManAlarmPeriod Wrong");
|
Log.v(TAG, "checkWatchSettings - mManAlarmPeriod Wrong");
|
||||||
settingsOk = false;
|
settingsOk = false;
|
||||||
}
|
}
|
||||||
|
if (mSamplePeriod != mSdData.analysisPeriod) {
|
||||||
|
Log.v(TAG, "checkWatchSettings - mSamplePeriod Wrong");
|
||||||
|
settingsOk = false;
|
||||||
|
}
|
||||||
if (mAlarmFreqMin != mSdData.alarmFreqMin) {
|
if (mAlarmFreqMin != mSdData.alarmFreqMin) {
|
||||||
Log.v(TAG, "checkWatchSettings - mAlarmFreqMin Wrong");
|
Log.v(TAG, "checkWatchSettings - mAlarmFreqMin Wrong");
|
||||||
settingsOk = false;
|
settingsOk = false;
|
||||||
@@ -603,7 +618,7 @@ public class SdDataSourcePebble extends SdDataSource {
|
|||||||
settingsOk = false;
|
settingsOk = false;
|
||||||
}
|
}
|
||||||
if (mFallActive != mSdData.mFallActive) {
|
if (mFallActive != mSdData.mFallActive) {
|
||||||
Log.v(TAG, "checkWatchSettings - mAlarmFreqMin Wrong");
|
Log.v(TAG, "checkWatchSettings - mFallActive Wrong");
|
||||||
settingsOk = false;
|
settingsOk = false;
|
||||||
}
|
}
|
||||||
if (mFallThreshMin != mSdData.mFallThreshMin) {
|
if (mFallThreshMin != mSdData.mFallThreshMin) {
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:defaultValue="5"
|
android:defaultValue="5"
|
||||||
android:key="PebbleUpdatePeriod"
|
android:key="PebbleUpdatePeriod"
|
||||||
android:summary="Time period at which data is sent to the phone (increase value to reduce battery consumption)"
|
android:summary="Time period at which data is sent to the phone (does not affect analysis frequency - see Sample Period setting for that)"
|
||||||
android:title="Data Period (sec)" />
|
android:title="Data Transfer Period (sec)" />
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:defaultValue="300"
|
android:defaultValue="300"
|
||||||
android:key="MutePeriod"
|
android:key="MutePeriod"
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
android:entryValues="@array/pebble_sample_freq_list_values"
|
android:entryValues="@array/pebble_sample_freq_list_values"
|
||||||
android:defaultValue="100"
|
android:defaultValue="100"
|
||||||
android:dialogTitle="Select Sample Frequency"
|
android:dialogTitle="Select Sample Frequency"
|
||||||
android:enabled="false"
|
android:enabled="true"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
@@ -57,6 +57,12 @@
|
|||||||
android:key="AlarmFreqMax"
|
android:key="AlarmFreqMax"
|
||||||
android:summary="Maximum Frequency of ROI (Hz) (Default = 10 Hz)"
|
android:summary="Maximum Frequency of ROI (Hz) (Default = 10 Hz)"
|
||||||
android:title="AlarmFreqMax (Hz)" />
|
android:title="AlarmFreqMax (Hz)" />
|
||||||
|
<EditTextPreference
|
||||||
|
android:defaultValue="5"
|
||||||
|
android:key="SamplePeriod"
|
||||||
|
android:summary="Period (in seconds) between data analyses"
|
||||||
|
android:title="SamplePeriod (sec)" />
|
||||||
|
|
||||||
<EditTextPreference
|
<EditTextPreference
|
||||||
android:defaultValue="5"
|
android:defaultValue="5"
|
||||||
android:key="WarnTime"
|
android:key="WarnTime"
|
||||||
|
|||||||
Reference in New Issue
Block a user