Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Unified Diff: chromeos/accelerometer/accelerometer_reader.cc

Issue 500613003: Use standardized and extendable accelerometer update type. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge and remove unused Vector3dF reference. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chromeos/accelerometer/accelerometer_reader.cc
diff --git a/chromeos/accelerometer/accelerometer_reader.cc b/chromeos/accelerometer/accelerometer_reader.cc
index f84c4871120b2a9d0181bd45c6e1d80f2f0279fd..1f338e6d8a45bcebe79dd200f0b1817485cee5e3 100644
--- a/chromeos/accelerometer/accelerometer_reader.cc
+++ b/chromeos/accelerometer/accelerometer_reader.cc
@@ -52,6 +52,9 @@ const size_t kMaxAsciiUintLength = 21;
// The time to wait between reading the accelerometer.
const int kDelayBetweenReadsMs = 100;
+// The mean acceleration due to gravity on Earth in m/s^2.
+const float kMeanGravity = 9.80665f;
+
// Reads |path| to the unsigned int pointed to by |value|. Returns true on
// success or false on failure.
bool ReadFileToUint(const base::FilePath& path, unsigned int* value) {
@@ -193,18 +196,18 @@ void AccelerometerReader::OnDataRead(
DCHECK(!task_runner_->RunsTasksOnCurrentThread());
if (success) {
- gfx::Vector3dF base_reading, lid_reading;
int16* values = reinterpret_cast<int16*>(reading->data);
- base_reading.set_x(values[configuration_->data.index[0]]);
- base_reading.set_y(values[configuration_->data.index[1]]);
- base_reading.set_z(values[configuration_->data.index[2]]);
- base_reading.Scale(1.0f / configuration_->data.base_scale);
-
- lid_reading.set_x(values[configuration_->data.index[3]]);
- lid_reading.set_y(values[configuration_->data.index[4]]);
- lid_reading.set_z(values[configuration_->data.index[5]]);
- lid_reading.Scale(1.0f / configuration_->data.lid_scale);
- delegate_->HandleAccelerometerReading(base_reading, lid_reading);
+ float lid_scale = kMeanGravity / configuration_->data.lid_scale;
+ update_.Set(ui::ACCELEROMETER_SOURCE_SCREEN,
+ -values[configuration_->data.index[4]] * lid_scale,
+ values[configuration_->data.index[3]] * lid_scale,
+ values[configuration_->data.index[5]] * lid_scale);
+ float base_scale = kMeanGravity / configuration_->data.base_scale;
+ update_.Set(ui::ACCELEROMETER_SOURCE_ATTACHED_KEYBOARD,
+ -values[configuration_->data.index[1]] * base_scale,
+ -values[configuration_->data.index[0]] * base_scale,
+ -values[configuration_->data.index[2]] * base_scale);
+ delegate_->HandleAccelerometerUpdate(update_);
}
// Trigger another read after the current sampling delay.

Powered by Google App Engine
This is Rietveld 408576698