V4.0.5c - support for 3d acceleration data
This commit is contained in:
Binary file not shown.
@@ -3,7 +3,7 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
package="uk.org.openseizuredetector"
|
package="uk.org.openseizuredetector"
|
||||||
android:versionCode="101"
|
android:versionCode="101"
|
||||||
android:versionName="4.0.5b">
|
android:versionName="4.0.5c">
|
||||||
<!-- android:allowBackup="false" -->
|
<!-- android:allowBackup="false" -->
|
||||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
<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) {
|
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
|
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);
|
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);
|
Log.d(TAG, "onItemClickListener(): eventId=" + eventId + ", eventObj=" + eventObj);
|
||||||
if (eventId > 0) {
|
if (eventId != null) {
|
||||||
Intent i = new Intent(getApplicationContext(), EditEventActivity.class);
|
Intent i = new Intent(getApplicationContext(), EditEventActivity.class);
|
||||||
i.putExtra("eventId", eventId);
|
i.putExtra("eventId", eventId);
|
||||||
startActivity(i);
|
startActivity(i);
|
||||||
|
|||||||
@@ -294,15 +294,22 @@ public abstract class SdDataSource {
|
|||||||
mSdData.rawData[i] = accelVals.getInt(i);
|
mSdData.rawData[i] = accelVals.getInt(i);
|
||||||
}
|
}
|
||||||
mSdData.mNsamp = accelVals.length();
|
mSdData.mNsamp = accelVals.length();
|
||||||
|
try {
|
||||||
accelVals3D = dataObject.getJSONArray("data3D");
|
accelVals3D = dataObject.getJSONArray("data3D");
|
||||||
Log.v(TAG, "Received " + accelVals3D.length() + " acceleration 3D values, rawData Length is " + mSdData.rawData3D.length);
|
Log.v(TAG, "Received " + accelVals3D.length() + " acceleration 3D values, rawData Length is " + mSdData.rawData3D.length);
|
||||||
if (accelVals3D.length() > mSdData.rawData3D.length) {
|
if (accelVals3D.length() > mSdData.rawData3D.length) {
|
||||||
mUtil.writeToSysLogFile("ERROR: Received " + accelVals3D.length() + " 3D acceleration values, but rawData3D storage length is "
|
mUtil.writeToSysLogFile("ERROR: Received " + accelVals3D.length() + " 3D acceleration values, but rawData3D storage length is "
|
||||||
+ mSdData.rawData3D.length);
|
+ mSdData.rawData3D.length);
|
||||||
}
|
}
|
||||||
for (i = 0; i < accelVals3D.length(); i++) {
|
for (i = 0; i < accelVals3D.length(); i++) {
|
||||||
mSdData.rawData3D[i] = accelVals3D.getInt(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;
|
mWatchAppRunningCheck = true;
|
||||||
|
|||||||
@@ -129,6 +129,9 @@ public class SdDataSourcePhone extends SdDataSource implements SensorEventListen
|
|||||||
float z = event.values[2];
|
float z = event.values[2];
|
||||||
//Log.v(TAG,"Accelerometer Data Received: x="+x+", y="+y+", z="+z);
|
//Log.v(TAG,"Accelerometer Data Received: x="+x+", y="+y+", z="+z);
|
||||||
mSdData.rawData[mSdData.mNsamp] = sqrt(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++;
|
mSdData.mNsamp++;
|
||||||
if (mSdData.mNsamp==NSAMP) {
|
if (mSdData.mNsamp==NSAMP) {
|
||||||
// Calculate the sample frequency for this sample, but do not change mSampleFreq, which is used for
|
// 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.
|
// 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++) {
|
for (int i=0; i<mSdData.mNsamp; i++) {
|
||||||
mSdData.rawData[i/2] = 1000.*mSdData.rawData[i]/9.81;
|
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]);
|
//Log.v(TAG,"i="+i+", rawData="+mSdData.rawData[i]+","+mSdData.rawData[i/2]);
|
||||||
}
|
}
|
||||||
mSdData.mNsamp /= 2;
|
mSdData.mNsamp /= 2;
|
||||||
|
|||||||
Reference in New Issue
Block a user