From c871509d62dc2a86442b8430225cd60c23efc454 Mon Sep 17 00:00:00 2001 From: Graham Jones Date: Mon, 27 Jun 2016 20:53:09 +0100 Subject: [PATCH] Added preferences for pebble seizure detector mode and sample frequency, and send them to watch as settings. --- .../openseizuredetector/SdDataSourcePebble.java | 14 ++++++++++++++ .../main/res/values/pebble_sample_freq_list.xml | 16 ++++++++++++++++ app/src/main/res/values/pebble_sd_mode_list.xml | 14 ++++++++++++++ app/src/main/res/xml/general_prefs.xml | 1 + .../main/res/xml/pebble_datasource_prefs.xml | 17 +++++++++++++++++ 5 files changed, 62 insertions(+) create mode 100644 app/src/main/res/values/pebble_sample_freq_list.xml create mode 100644 app/src/main/res/values/pebble_sd_mode_list.xml diff --git a/app/src/main/java/uk/org/openseizuredetector/SdDataSourcePebble.java b/app/src/main/java/uk/org/openseizuredetector/SdDataSourcePebble.java index 3fd64f2..24b3442 100644 --- a/app/src/main/java/uk/org/openseizuredetector/SdDataSourcePebble.java +++ b/app/src/main/java/uk/org/openseizuredetector/SdDataSourcePebble.java @@ -101,6 +101,8 @@ public class SdDataSourcePebble extends SdDataSource { private int KEY_DATA_UPDATE_PERIOD = 25; private int KEY_MUTE_PERIOD = 26; private int KEY_MAN_ALARM_PERIOD = 27; + private int KEY_SD_MODE = 28; + private int KEY_SAMPLE_FREQ = 29; // Values of the KEY_DATA_TYPE entry in a message private int DATA_TYPE_RESULTS = 1; // Analysis Results @@ -109,6 +111,8 @@ public class SdDataSourcePebble extends SdDataSource { private short mDataUpdatePeriod; private short mMutePeriod; private short mManAlarmPeriod; + private short mPebbleSdMode; + private short mSampleFreq; private short mAlarmFreqMin; private short mAlarmFreqMax; private short mWarnTime; @@ -251,6 +255,14 @@ public class SdDataSourcePebble extends SdDataSource { mManAlarmPeriod = (short) Integer.parseInt(prefStr); Log.v(TAG, "updatePrefs() ManAlarmPeriod = " + mManAlarmPeriod); + prefStr = SP.getString("PebbleSdMode","SET_FROM_XML"); + mPebbleSdMode = (short) Integer.parseInt(prefStr); + Log.v(TAG, "updatePrefs() PebbleSdMode = " + mPebbleSdMode); + + prefStr = SP.getString("SampleFreq","SET_FROM_XML"); + mSampleFreq = (short) Integer.parseInt(prefStr); + Log.v(TAG, "updatePrefs() SampleFreq = " + mSampleFreq); + prefStr = SP.getString("AlarmFreqMin","SET_FROM_XML"); mAlarmFreqMin = (short) Integer.parseInt(prefStr); Log.v(TAG, "updatePrefs() AlarmFreqMin = " + mAlarmFreqMin); @@ -433,6 +445,8 @@ public class SdDataSourcePebble extends SdDataSource { setDict.addInt16(KEY_DATA_UPDATE_PERIOD, mDataUpdatePeriod); setDict.addInt16(KEY_MUTE_PERIOD, mMutePeriod); setDict.addInt16(KEY_MAN_ALARM_PERIOD, mManAlarmPeriod); + setDict.addInt16(KEY_SD_MODE,mPebbleSdMode); + setDict.addInt16(KEY_SAMPLE_FREQ,mSampleFreq); setDict.addInt16(KEY_ALARM_FREQ_MIN, mAlarmFreqMin); setDict.addInt16(KEY_ALARM_FREQ_MAX, mAlarmFreqMax); setDict.addUint16(KEY_WARN_TIME, mWarnTime); diff --git a/app/src/main/res/values/pebble_sample_freq_list.xml b/app/src/main/res/values/pebble_sample_freq_list.xml new file mode 100644 index 0000000..7ffcea3 --- /dev/null +++ b/app/src/main/res/values/pebble_sample_freq_list.xml @@ -0,0 +1,16 @@ + + + + "100 Hz" + "50 Hz" + "25 Hz" + "10 Hz" + + + "100" + "50" + "25" + "10" + + + \ No newline at end of file diff --git a/app/src/main/res/values/pebble_sd_mode_list.xml b/app/src/main/res/values/pebble_sd_mode_list.xml new file mode 100644 index 0000000..130121d --- /dev/null +++ b/app/src/main/res/values/pebble_sd_mode_list.xml @@ -0,0 +1,14 @@ + + + + "Normal - OpenSeizureDetector FFT" + "Raw" + "Digital Filter" + + + "0" + "1" + "2" + + + \ No newline at end of file diff --git a/app/src/main/res/xml/general_prefs.xml b/app/src/main/res/xml/general_prefs.xml index 642117c..a9f7381 100644 --- a/app/src/main/res/xml/general_prefs.xml +++ b/app/src/main/res/xml/general_prefs.xml @@ -6,6 +6,7 @@ android:summary="Select whether to use a Pebble Watch or network connection as the seizure detector data source." android:entries="@array/datasource_list" android:entryValues="@array/datasource_list_values" + android:defaultValue="Pebble" android:dialogTitle="Select Data Source" /> + + +