diff options
author | Jyoti Bhayana <jbhayana@google.com> | 2020-08-21 11:24:35 -0700 |
---|---|---|
committer | Jyoti Bhayana <jbhayana@google.com> | 2020-08-21 13:40:04 -0700 |
commit | ea8b73ca844ab32b24a53e3f474bafcb43023f32 (patch) | |
tree | e33ec1dc005dda5c083dbb65532ad00ebfb6519e | |
parent | d915bc02647bd4295fb82c7177c8ab189e8fa7f0 (diff) | |
download | device_google_trout-ea8b73ca844ab32b24a53e3f474bafcb43023f32.tar.gz device_google_trout-ea8b73ca844ab32b24a53e3f474bafcb43023f32.tar.bz2 device_google_trout-ea8b73ca844ab32b24a53e3f474bafcb43023f32.zip |
Fix the issue of sensor timestamp coming as 0 for troutandroid-mainline-11.0.0_r44android-mainline-11.0.0_r43android-mainline-11.0.0_r42android-mainline-11.0.0_r41android-mainline-11.0.0_r40android-mainline-11.0.0_r39android-mainline-11.0.0_r38android-mainline-11.0.0_r37android-mainline-11.0.0_r36android-mainline-11.0.0_r35android-mainline-11.0.0_r34android-mainline-11.0.0_r32android-mainline-11.0.0_r31android-mainline-11.0.0_r30android-mainline-11.0.0_r28android-mainline-11.0.0_r27android-mainline-11.0.0_r26android-mainline-11.0.0_r25android-mainline-11.0.0_r24android-mainline-11.0.0_r23android-mainline-11.0.0_r22android-mainline-11.0.0_r21android-mainline-11.0.0_r20android-mainline-11.0.0_r18android-mainline-11.0.0_r17android-mainline-11.0.0_r16android-mainline-11.0.0_r15android-mainline-11.0.0_r14android-mainline-11.0.0_r13android-mainline-11.0.0_r12android11-mainline-tethering-releaseandroid11-mainline-permission-releaseandroid11-mainline-os-statsd-releaseandroid11-mainline-networkstack-releaseandroid11-mainline-media-swcodec-releaseandroid11-mainline-media-releaseandroid11-mainline-extservices-releaseandroid11-mainline-documentsui-releaseandroid11-mainline-conscrypt-releaseandroid11-mainline-cellbroadcast-releaseandroid11-mainline-captiveportallogin-release
sensor hal
Bug: 163167988
Test: Build, test using KitchenSink
Change-Id: I70bd3627110968d7388fc806105fd1310075182a
-rw-r--r-- | hal/sensors/2.0/Sensor.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/hal/sensors/2.0/Sensor.cpp b/hal/sensors/2.0/Sensor.cpp index a525754..b5288e2 100644 --- a/hal/sensors/2.0/Sensor.cpp +++ b/hal/sensors/2.0/Sensor.cpp @@ -122,30 +122,25 @@ Result SensorBase::flush() { void HWSensorBase::processScanData(uint8_t* data, Event* evt) { float channelData[NUM_OF_CHANNEL_SUPPORTED - 1]; - int64_t ts; unsigned int chanIdx; evt->sensorHandle = mSensorInfo.sensorHandle; evt->sensorType = mSensorInfo.type; for (auto i = 0u; i < miio_data.channelInfo.size(); i++) { chanIdx = miio_data.channelInfo[i].index; - if (miio_data.channelInfo[i].sign) { - int64_t val = *reinterpret_cast<int64_t*>( - data + chanIdx * miio_data.channelInfo[i].storage_bytes); - if (chanIdx == (miio_data.channelInfo.size() - 1)) { - ts = val; - } else { - channelData[chanIdx] = (static_cast<float>(val) * miio_data.resolution); - } + const int64_t val = *reinterpret_cast<int64_t*>( + data + chanIdx * miio_data.channelInfo[i].storage_bytes); + + // If the channel index is the last, it is timestamp + // else it is sensor data + if (chanIdx == miio_data.channelInfo.size() - 1) { + evt->timestamp = val; } else { - uint64_t val = *reinterpret_cast<uint64_t*>( - data + chanIdx * miio_data.channelInfo[i].storage_bytes); channelData[chanIdx] = (static_cast<float>(val) * miio_data.resolution); } } evt->u.vec3.x = channelData[0]; evt->u.vec3.y = channelData[1]; evt->u.vec3.z = channelData[2]; - evt->timestamp = ts; evt->u.vec3.status = SensorStatus::ACCURACY_HIGH; } |