1.1 --- a/main.c Mon Oct 14 16:17:00 2013 +0000
1.2 +++ b/main.c Mon Oct 14 16:21:21 2013 +0000
1.3 @@ -37,7 +37,7 @@
1.4
1.5 vectorf _viewx, _viewy, _viewz,
1.6 _accelerationD, _accelerationRD,
1.7 - _fieldD;
1.8 + _fieldD, _fieldN;
1.9
1.10 /* Timekeeping. */
1.11
1.12 @@ -190,6 +190,8 @@
1.13 flush();
1.14 }
1.15
1.16 + /* Additional textual output. */
1.17 +
1.18 printf("Period? %d\n", imu_period);
1.19 printf("Direction? %.4f\n", raddeg(direction));
1.20 printf("Elevation? %.4f (%.4f)\n", raddeg(elevation), raddeg(elevationA));
1.21 @@ -210,6 +212,7 @@
1.22 _accelerationD = accelerationD;
1.23 _accelerationRD = accelerationRD;
1.24 _fieldD = fieldD;
1.25 + _fieldN = fieldN;
1.26 pthread_mutex_unlock(&mutex);
1.27
1.28 clear();
1.29 @@ -226,6 +229,11 @@
1.30 _fieldD.z *= 10;
1.31 gui_point(&_viewx, &_viewy, &_viewz, &_fieldD, 0, 0, 255, 127);
1.32
1.33 + _fieldN.x *= 10;
1.34 + _fieldN.y *= 10;
1.35 + _fieldN.z *= 10;
1.36 + gui_point(&_viewx, &_viewy, &_viewz, &_fieldN, 255, 0, 0, 127);
1.37 +
1.38 flush();
1.39
1.40 gui_updated = now;
2.1 --- a/measure.c Mon Oct 14 16:17:00 2013 +0000
2.2 +++ b/measure.c Mon Oct 14 16:21:21 2013 +0000
2.3 @@ -233,11 +233,11 @@
2.4 directionF0 = vectorf_direction(&field0);
2.5 elevationF0 = vectorf_elevation(&field0);
2.6
2.7 - /* Determine the east and north vectors using static field information. */
2.8 + /* Determine the east and north vectors using dynamic field information. */
2.9
2.10 - vectorf_cross(&accelerationRD, &fieldD0, &fieldE);
2.11 + vectorf_cross(&viewy0, &fieldD, &fieldE);
2.12 vectorf_normalise(&fieldE, &fieldE);
2.13 - vectorf_cross(&fieldE, &accelerationRD, &fieldN);
2.14 + vectorf_cross(&fieldE, &viewy0, &fieldN);
2.15 }
2.16
2.17 /* Subtract the constant background acceleration. */