I agree. While doing this I was thinking of pushing the delay as much as I can 
to save battery power :-) … 2000 does sound good though. I am going to change 
it to that. 

Regards,
Vipul Rahane

> On Apr 3, 2017, at 9:29 AM, will sanfilippo <[email protected]> wrote:
> 
> Just a quick comment:
> 
> Not sure why you wanted to cut is so close regarding the 2146 seconds; you 
> could make this 2000 seconds and it will have no effect on anything.
> 
> Will
> 
>> On Mar 31, 2017, at 6:30 PM, Vipul Rahane <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Hello,
>> 
>> Since a few days I have been working on adding cputime to sensor samples. 
>> This would help in doing interpolation of data coming from different sensors 
>> in a sensor network with sensors connected to different nodes.
>> 
>> If multiple sensors are connected to the same device, this would help in 
>> implementing sensor fusion algorithms.
>> 
>> After going back and forth on various designs this is the one I have 
>> finalized and implemented and works great IMO.
>> 
>> Design:
>> 
>> sensor timestamp update os_callout fires every 2146 seconds and avoids 
>> multiple overflows of the os_timeval.tv_usec fields filling up global 
>> os_timeval structure which gets updated every time a sensor is read.
>> 
>> There is also a timestamp which is part of the sensor structure which gets 
>> filled up every time a sensor is read.
>> 
>> The seconds, micro seconds and cputime field gets updated accordingly.
>> 
>> Following is an output of the timestamped samples:
>> 
>>> sensor read color0 0x20000000 -n 10 -i 100
>>> 864:ts: [ secs: 6 usecs: 777617 cputime: 7212189 ]
>>> 865:r = 101, g = 111, b = 118, c = 243,
>>> 866:lux = 21, cct = 6317K, ir = 43,
>>> 867:sat = 65535, sat75 = 65535, not saturated, cRatio = 0.176954736, max 
>>> lux = 11029,
>>> 
>>> 877:ts: [ secs: 6 usecs: 877631 cputime: 7312203 ]
>>> 878:r = 101, g = 111, b = 118, c = 243,
>>> 879:lux = 21, cct = 6317K, ir = 43,
>>> 880:sat = 65535, sat75 = 65535, not saturated, cRatio = 0.176954736, max 
>>> lux = 11029,
>>> 
>>> 889:ts: [ secs: 6 usecs: 977645 cputime: 7412217 ]
>>> 890:r = 101, g = 111, b = 118, c = 243,
>>> 891:lux = 21, cct = 6317K, ir = 43,
>>> 892:sat = 65535, sat75 = 65535, not saturated, cRatio = 0.176954736, max 
>>> lux = 11029,
>>> 
>>> 902:ts: [ secs: 7 usecs: 77659 cputime: 7512231 ]
>>> 903:r = 101, g = 111, b = 118, c = 243,
>>> 904:lux = 21, cct = 6317K, ir = 43,
>>> 905:sat = 65535, sat75 = 65535, not saturated, cRatio = 0.176954736, max 
>>> lux = 11029,
>>> 
>>> 915:ts: [ secs: 7 usecs: 177673 cputime: 7612245 ]
>>> 916:r = 101, g = 112, b = 118, c = 243,
>>> 917:lux = 21, cct = 6337K, ir = 44,
>>> 918:sat = 65535, sat75 = 65535, not saturated, cRatio = 0.181069952, max 
>>> lux = 11029,
>>> 
>>> 927:ts: [ secs: 7 usecs: 277687 cputime: 7712259 ]
>>> 928:r = 101, g = 112, b = 118, c = 243,
>>> 929:lux = 21, cct = 6337K, ir = 44,
>>> 930:sat = 65535, sat75 = 65535, not saturated, cRatio = 0.181069952, max 
>>> lux = 11029,
>>> 
>>> 940:ts: [ secs: 7 usecs: 377701 cputime: 7812273 ]
>>> 941:r = 101, g = 111, b = 118, c = 243,
>>> 942:lux = 21, cct = 6317K, ir = 43,
>>> 943:sat = 65535, sat75 = 65535, not saturated, cRatio = 0.176954736, max 
>>> lux = 11029,
>>> 
>>> 953:ts: [ secs: 7 usecs: 477715 cputime: 7912287 ]
>>> 954:r = 101, g = 111, b = 118, c = 243,
>>> 955:lux = 21, cct = 6317K, ir = 43,
>>> 956:sat = 65535, sat75 = 65535, not saturated, cRatio = 0.176954736, max 
>>> lux = 11029,
>>> 
>>> 965:ts: [ secs: 7 usecs: 577729 cputime: 8012301 ]
>>> 966:r = 101, g = 112, b = 118, c = 244,
>>> 967:lux = 22, cct = 6317K, ir = 43,
>>> 968:sat = 65535, sat75 = 65535, not saturated, cRatio = 0.176229504, max 
>>> lux = 11029,
>>> 
>>> 978:ts: [ secs: 7 usecs: 677743 cputime: 8112315 ]
>>> 979:r = 101, g = 112, b = 118, c = 244,
>>> 980:lux = 22, cct = 6317K, ir = 43,
>>> 981:sat = 65535, sat75 = 65535, not saturated, cRatio = 0.176229504, max 
>>> lux = 11029,
>> 
>> 
>> I have created a ticket to track this:
>> MYNEWT-703 <https://issues.apache.org/jira/browse/MYNEWT-703 
>> <https://issues.apache.org/jira/browse/MYNEWT-703>>SensorAPI: Add cputime 
>> timestamps and timeofday to SensorAPI samples
>> 
>> Suggestions are welcome.
>> 
>> Regards,
>> Vipul Rahane

Reply via email to