Vipul Rahane created MYNEWT-703:
-----------------------------------

             Summary: SensorAPI: Add cputime timestamps and timeofday to 
SensorAPI samples
                 Key: MYNEWT-703
                 URL: https://issues.apache.org/jira/browse/MYNEWT-703
             Project: Mynewt
          Issue Type: Improvement
            Reporter: Vipul Rahane
            Assignee: Vipul Rahane


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:

{noformat}
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,
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to