[ 
https://issues.apache.org/jira/browse/MYNEWT-828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vipul Rahane updated MYNEWT-828:
--------------------------------
    Component/s: Sensor Framework
                 Drivers

> SensorAPI: Sensor OIC notifications/triggers, polling & interrupt 
> based(lis2dh12)
> ---------------------------------------------------------------------------------
>
>                 Key: MYNEWT-828
>                 URL: https://issues.apache.org/jira/browse/MYNEWT-828
>             Project: Mynewt
>          Issue Type: New Feature
>      Security Level: Public(Viewable by anyone) 
>          Components: Drivers, Sensor Framework
>            Reporter: Vipul Rahane
>            Assignee: Vipul Rahane
>             Fix For: v1_2_0_rel
>
>
> - Add API for setting threshold based on polling mechanism
> - Also allow the API to set thresholds based on interrupts mechanism
> - Design is as follows: 
> i. It adds a list of structures sensor_traits_list to the sensor structure 
> which keeps track of per type thresholds, oic resources, algorithm, etc. 
> These thresholds are then compared with the readings from the sensor at the 
> specific poll rates based on algorithms decided by the developer: 
> <SENSOR_THRESH_ALGO_WINDOW> and <SENSOR_THRESH_ALGO_WATERMARK>. 
> <SENSOR_THRESH_ALGO_WINDOW>: Sensor data is compared to thresholds making a 
> window.
> <SENSOR_THRESH_ALGO_WATERMARK>: Sensor data is compared to thresholds based 
> on watermarks
> Notifications are sent if conditions are satisfied as per the above 
> algorithms.
> If a set_thresh callback is specified in the driver, this callback will get 
> called which will enable interrupts based notifications for specific sensor 
> drivers. An example of this can be seen in 
> [hw/drivers/sensors/lis2dh12/src/lis2dh12.c](https://github.com/apache/mynewt-core/compare/master...vrahane:sensor_notif?expand=1#diff-18789c89dd99a5f02122ee67a80b82a1).
> ii. Syscfg <SENSOR_OIC_PERIODIC>: This is a new syscfg which enables or 
> disables periodic observation of sensor resources. By default it is enabled 
> in the sensors test app.
> iii. There were two fields added to <struct sensor_itf>: <si_low_pin> & 
> <si_high_pin> which lets the developer specify the interrupt pins in the bsp 
> along with the interface and chip select if any.
> iv. A lot of functions were added to the lis2dh12 driver to support interrupt 
> functionality.
> (The current interrupt config for lis2dh12 enables the low thresh interrupts 
> and high thresh interrupts but it somehow only generates an interrupt on a 
> change in the accelerometer data crossing a threshold instead of generating 
> one based on threshold regardless, this needs to be investigated further). 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to