V4.0.5c - support for 3d acceleration data
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="uk.org.openseizuredetector"
|
||||
android:versionCode="101"
|
||||
android:versionName="4.0.5b">
|
||||
android:versionName="4.0.5c">
|
||||
<!-- android:allowBackup="false" -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
||||
|
||||
@@ -520,9 +520,9 @@ public class LogManagerControlActivity extends AppCompatActivity {
|
||||
public void onItemClick(AdapterView<?> adapter, View v, int position, long id) {
|
||||
Log.v(TAG, "onItemClicKListener() - Position=" + position + ", id=" + id);// Confirmation dialog based on: https://stackoverflow.com/a/12213536/2104584
|
||||
HashMap<String, String> eventObj = (HashMap<String, String>) adapter.getItemAtPosition(position);
|
||||
Long eventId = Long.parseLong(eventObj.get("uploaded"));
|
||||
String eventId = eventObj.get("uploaded");
|
||||
Log.d(TAG, "onItemClickListener(): eventId=" + eventId + ", eventObj=" + eventObj);
|
||||
if (eventId > 0) {
|
||||
if (eventId != null) {
|
||||
Intent i = new Intent(getApplicationContext(), EditEventActivity.class);
|
||||
i.putExtra("eventId", eventId);
|
||||
startActivity(i);
|
||||
|
||||
@@ -294,15 +294,22 @@ public abstract class SdDataSource {
|
||||
mSdData.rawData[i] = accelVals.getInt(i);
|
||||
}
|
||||
mSdData.mNsamp = accelVals.length();
|
||||
|
||||
accelVals3D = dataObject.getJSONArray("data3D");
|
||||
Log.v(TAG, "Received " + accelVals3D.length() + " acceleration 3D values, rawData Length is " + mSdData.rawData3D.length);
|
||||
if (accelVals3D.length() > mSdData.rawData3D.length) {
|
||||
mUtil.writeToSysLogFile("ERROR: Received " + accelVals3D.length() + " 3D acceleration values, but rawData3D storage length is "
|
||||
+ mSdData.rawData3D.length);
|
||||
}
|
||||
for (i = 0; i < accelVals3D.length(); i++) {
|
||||
mSdData.rawData3D[i] = accelVals3D.getInt(i);
|
||||
try {
|
||||
accelVals3D = dataObject.getJSONArray("data3D");
|
||||
Log.v(TAG, "Received " + accelVals3D.length() + " acceleration 3D values, rawData Length is " + mSdData.rawData3D.length);
|
||||
if (accelVals3D.length() > mSdData.rawData3D.length) {
|
||||
mUtil.writeToSysLogFile("ERROR: Received " + accelVals3D.length() + " 3D acceleration values, but rawData3D storage length is "
|
||||
+ mSdData.rawData3D.length);
|
||||
}
|
||||
for (i = 0; i < accelVals3D.length(); i++) {
|
||||
mSdData.rawData3D[i] = accelVals3D.getInt(i);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
// If we get an error, just set rawData3D to zero
|
||||
Log.i(TAG,"updateFromJSON - error parsing 3D data - setting it to zero");
|
||||
for (i = 0; i < mSdData.rawData3D.length; i++) {
|
||||
mSdData.rawData3D[i] = 0.;
|
||||
}
|
||||
}
|
||||
|
||||
mWatchAppRunningCheck = true;
|
||||
|
||||
@@ -129,6 +129,9 @@ public class SdDataSourcePhone extends SdDataSource implements SensorEventListen
|
||||
float z = event.values[2];
|
||||
//Log.v(TAG,"Accelerometer Data Received: x="+x+", y="+y+", z="+z);
|
||||
mSdData.rawData[mSdData.mNsamp] = sqrt(x*x + y*y + z*z);
|
||||
mSdData.rawData3D[3*mSdData.mNsamp] = x;
|
||||
mSdData.rawData3D[3*mSdData.mNsamp+1] = y;
|
||||
mSdData.rawData3D[3*mSdData.mNsamp+2] = z;
|
||||
mSdData.mNsamp++;
|
||||
if (mSdData.mNsamp==NSAMP) {
|
||||
// Calculate the sample frequency for this sample, but do not change mSampleFreq, which is used for
|
||||
@@ -142,6 +145,9 @@ public class SdDataSourcePhone extends SdDataSource implements SensorEventListen
|
||||
// FIXME - we should really do this properly rather than assume we are really receiving data at 50Hz.
|
||||
for (int i=0; i<mSdData.mNsamp; i++) {
|
||||
mSdData.rawData[i/2] = 1000.*mSdData.rawData[i]/9.81;
|
||||
mSdData.rawData3D[i/2] = 1000.*mSdData.rawData3D[i]/9.81;
|
||||
mSdData.rawData3D[i/2 +1] = 1000.*mSdData.rawData3D[i+1]/9.81;
|
||||
mSdData.rawData3D[i/2 +2] = 1000.*mSdData.rawData3D[i+2]/9.81;
|
||||
//Log.v(TAG,"i="+i+", rawData="+mSdData.rawData[i]+","+mSdData.rawData[i/2]);
|
||||
}
|
||||
mSdData.mNsamp /= 2;
|
||||
|
||||
Reference in New Issue
Block a user