Hi Kibak, Thanks for getting back to me. The guide link that you sent returns 404, but this one says "Nanoseconds" (first Google result when searching for "tizen sensor"):
https://developer.tizen.org/development/api-guides/native-application/system/sensor CLOCK_BOOTTIME is not defined in time.h, but if I define it manually (= 7), it still doesn't match timestamps for the pressure sensor: 12-29 13:40:29.635 : SensorTest: mono=9214562044 boot=9214562050 real=1483036829639076 12-29 13:40:31.730 : onSensorTest: t=9088971000 12-29 13:40:32.255 : onSensorTest: t=9089211000 12-29 13:40:32.255 : onSensorTest: t=9089451000 12-29 13:40:32.490 : onSensorTest: t=9089692000 12-29 13:40:32.930 : onSensorTest: t=9089932000 As you can see, actual timestamps are ~125 seconds behind the monotonic and boottime clocks. When I sent my first message, the difference was about 80 seconds and there is almost no difference between monotonic and boottime clocks on my S2 at the moment. I agree that CLOCK_BOOTTIME is the ideal choice for sensor timestamps, but until this is fixed, is there anything I can do on my end? We're developing data collection software for scientific research and the current firmware is effectively unusable. -Max On Thu, Dec 29, 2016 at 1:18 PM, 윤기백 <sesek...@gmail.com> wrote: > Hi, I am a Tizen sensor FW developer and also involved in Gear series > development. > > First of all, I apologize for feeling confused about timestamp. > > Sensor timestamp should have been CLOCK_MONOTONIC.. > But it was provided as a CLOCK_REALTIME timestamp due to some problems in > product development. (It’s an obvious bug...) > Whenever releasing new firmware, there should be a strict check on the > timestamp and values, but there was a missing part.. > So.. we are going to add additional testcases in the future. > > And we are not strictly guiding the manufacturer to provide monotonic > timestamp yet.. > IMHO, sensor events should be based on monotonic timestamps > because of the problem of event sequence when the platform time is changed. > (I'm currently considering CLOCK_BOOTTIME for the batching, it is also > monotonic based timestamp.) > > It should be provided as a “microseconds" timestamp, as described in the > following document. > https://developer.tizen.org/en/development/guides/native-application/location-and-sensors/device-sensors#accelerometer > (Could you tell me the docs that says nanoseconds?) > > Plus, the problem you mentioned, accelerometer, pressure sensor and HRM > timestamps are different, > has to be checked at the driver level on gear s2 because timestamps are > provided by kernel device driver.. > if you report to me, i’ll check that issue. > (i think.. pressure sensor seems to be CLOCK_BOOTTIME...) > > If you have also any sensor problems, feel free to contact me. > Thanks. > - Kibak > > >> 2016. 12. 30. 오전 2:08, Maxim Khitrov <m...@bhsai.org> 작성: >> >> Just to add to this, when I test SENSOR_HRM, the timestamps are from >> CLOCK_MONOTONIC, but timestamps for SENSOR_PRESSURE are over a minute >> behind CLOCK_MONOTONIC and the offset seems to be increasing every >> time I run the test. So to summarize: >> >> SENSOR_HRM timestamps are from CLOCK_MONOTONIC. >> SENSOR_PRESSURE is almost CLOCK_MONOTONIC, but not really. >> SENSOR_ACCELEROMETER is... I have no idea, but nothing usable. >> >> -Max >> >> On Thu, Dec 29, 2016 at 11:25 AM, Maxim Khitrov <m...@bhsai.org> wrote: >>> Hi, >>> >>> I posted about this on the developer forum and JIRA back in August, >>> but got nowhere. The original Gear S2 firmware used CLOCK_MONOTONIC >>> for sensor event timestamps. The next firmware (DPG1) changed this to >>> CLOCK_REALTIME. The new firmware (EPK5) that was released a few weeks >>> ago changed the source yet again, only this time I don't have a clue >>> what it's using and I can't find the relevant source at >>> https://review.tizen.org/git/. >>> >>> Here's logcat output from a small native test program: >>> >>> 12-29 10:29:19.827 : CLOCK_MONOTONIC: 153936923042954 >>> 12-29 10:29:19.862 : CLOCK_REALTIME: 1483025359862936528 >>> 12-29 10:29:27.222 : [00] t=18446744073694551 >>> 12-29 10:29:27.222 : [01] t=225000(-18446744073.470) >>> 12-29 10:29:27.222 : [02] t=465000(+0.240) >>> 12-29 10:29:27.227 : [03] t=705000(+0.240) >>> 12-29 10:29:27.227 : [04] t=946000(+0.241) >>> >>> The first two lines are the current time values obtained using >>> clock_gettime, followed by 5 acceleration events at a rate of 250 ms. >>> What am I looking at? Yes, I get that the last four values are >>> relative times in microseconds (even though the docs still say >>> nanoseconds). >>> >>> The first timestamp is always the same, so it's not even an actual >>> time value, which makes it very difficult to convert these times to >>> UTC or to compare them with timestamps from other sensors. I also have >>> no idea whether these values are going to be affected by jumps in the >>> UTC clock or not. Can anyone explain what is happening here and >>> whether there is some hope of a stable API in the future? >>> >>> -Max >> _______________________________________________ >> Dev mailing list >> Dev@lists.tizen.org >> https://lists.tizen.org/listinfo/dev > _______________________________________________ Dev mailing list Dev@lists.tizen.org https://lists.tizen.org/listinfo/dev