Added preferences for pebble seizure detector mode and sample frequency, and send them to watch as settings.

This commit is contained in:
Graham Jones
2016-06-27 20:53:09 +01:00
parent 68478e3be0
commit c871509d62
5 changed files with 62 additions and 0 deletions

View File

@@ -101,6 +101,8 @@ public class SdDataSourcePebble extends SdDataSource {
private int KEY_DATA_UPDATE_PERIOD = 25; private int KEY_DATA_UPDATE_PERIOD = 25;
private int KEY_MUTE_PERIOD = 26; private int KEY_MUTE_PERIOD = 26;
private int KEY_MAN_ALARM_PERIOD = 27; 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 // 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
@@ -109,6 +111,8 @@ public class SdDataSourcePebble extends SdDataSource {
private short mDataUpdatePeriod; private short mDataUpdatePeriod;
private short mMutePeriod; private short mMutePeriod;
private short mManAlarmPeriod; private short mManAlarmPeriod;
private short mPebbleSdMode;
private short mSampleFreq;
private short mAlarmFreqMin; private short mAlarmFreqMin;
private short mAlarmFreqMax; private short mAlarmFreqMax;
private short mWarnTime; private short mWarnTime;
@@ -251,6 +255,14 @@ public class SdDataSourcePebble extends SdDataSource {
mManAlarmPeriod = (short) Integer.parseInt(prefStr); mManAlarmPeriod = (short) Integer.parseInt(prefStr);
Log.v(TAG, "updatePrefs() ManAlarmPeriod = " + mManAlarmPeriod); 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"); 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);
@@ -433,6 +445,8 @@ public class SdDataSourcePebble extends SdDataSource {
setDict.addInt16(KEY_DATA_UPDATE_PERIOD, mDataUpdatePeriod); setDict.addInt16(KEY_DATA_UPDATE_PERIOD, mDataUpdatePeriod);
setDict.addInt16(KEY_MUTE_PERIOD, mMutePeriod); setDict.addInt16(KEY_MUTE_PERIOD, mMutePeriod);
setDict.addInt16(KEY_MAN_ALARM_PERIOD, mManAlarmPeriod); 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_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);

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="pebble_sample_freq_list">
<item>"100 Hz"</item>
<item>"50 Hz"</item>
<item>"25 Hz"</item>
<item>"10 Hz"</item>
</string-array>
<string-array name="pebble_sample_freq_list_values">
<item>"100"</item>
<item>"50"</item>
<item>"25"</item>
<item>"10"</item>
</string-array>
</resources>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="pebble_sd_mode_list">
<item>"Normal - OpenSeizureDetector FFT"</item>
<item>"Raw"</item>
<item>"Digital Filter"</item>
</string-array>
<string-array name="pebble_sd_mode_list_values">
<item>"0"</item>
<item>"1"</item>
<item>"2"</item>
</string-array>
</resources>

View File

@@ -6,6 +6,7 @@
android:summary="Select whether to use a Pebble Watch or network connection as the seizure detector data source." android:summary="Select whether to use a Pebble Watch or network connection as the seizure detector data source."
android:entries="@array/datasource_list" android:entries="@array/datasource_list"
android:entryValues="@array/datasource_list_values" android:entryValues="@array/datasource_list_values"
android:defaultValue="Pebble"
android:dialogTitle="Select Data Source" /> android:dialogTitle="Select Data Source" />
<CheckBoxPreference <CheckBoxPreference
android:defaultValue="true" android:defaultValue="true"

View File

@@ -19,6 +19,23 @@
android:title="Manual Alarm Period (sec)" /> android:title="Manual Alarm Period (sec)" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory android:title="Seizure Detector Settings"> <PreferenceCategory android:title="Seizure Detector Settings">
<ListPreference
android:key="PebbleSdMode"
android:title="Seizure Detector Mode"
android:summary="Select one of the three available modes of operation."
android:entries="@array/pebble_sd_mode_list"
android:entryValues="@array/pebble_sd_mode_list_values"
android:defaultValue="0"
android:dialogTitle="Select Seizure Detector Mode" />
<ListPreference
android:key="SampleFreq"
android:title="Select Sample Frequency"
android:summary="Higher Frequency is more Accurate, but uses more battery power."
android:entries="@array/pebble_sample_freq_list"
android:entryValues="@array/pebble_sample_freq_list_values"
android:defaultValue="100"
android:dialogTitle="Select Sample Frequency" />
<EditTextPreference <EditTextPreference
android:defaultValue="3" android:defaultValue="3"
android:key="AlarmFreqMin" android:key="AlarmFreqMin"