Skip to content

Commit cc38c00

Browse files
committed
samples: sensor: apds9960: Added gesture support
Added a new channel fetch to demonstrate reading gestures Signed-off-by: Thomas Lang <[email protected]>
1 parent 5db334d commit cc38c00

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

samples/sensor/apds9960/prj.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ CONFIG_I2C_LOG_LEVEL_INF=y
99

1010
CONFIG_APDS9960_TRIGGER_GLOBAL_THREAD=n
1111
CONFIG_PM_DEVICE=n
12+
13+
CONFIG_APDS9960_ENABLE_GESTURE=n

samples/sensor/apds9960/src/main.c

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
#include <zephyr/kernel.h>
99
#include <zephyr/drivers/sensor.h>
10+
#include <zephyr/drivers/sensor/apds9960.h>
1011
#include <zephyr/device.h>
1112
#include <stdio.h>
1213
#include <zephyr/sys/printk.h>
@@ -24,10 +25,18 @@ static void trigger_handler(const struct device *dev,
2425
}
2526
#endif
2627

28+
char states[5][6] = {
29+
"NONE",
30+
"UP",
31+
"DOWN",
32+
"LEFT",
33+
"RIGHT",
34+
};
35+
2736
int main(void)
2837
{
2938
const struct device *dev;
30-
struct sensor_value intensity, pdata;
39+
struct sensor_value intensity, pdata, gesture;
3140

3241
printk("APDS9960 sample application\n");
3342
dev = DEVICE_DT_GET_ONE(avago_apds9960);
@@ -72,9 +81,10 @@ int main(void)
7281

7382
sensor_channel_get(dev, SENSOR_CHAN_LIGHT, &intensity);
7483
sensor_channel_get(dev, SENSOR_CHAN_PROX, &pdata);
84+
sensor_channel_get(dev, SENSOR_CHAN_APDS9960_GESTURE, &gesture);
7585

76-
printk("ambient light intensity %d, proximity %d\n",
77-
intensity.val1, pdata.val1);
86+
printk("ambient light intensity %d, proximity %d, gesture %s\n",
87+
intensity.val1, pdata.val1, states[gesture.val1]);
7888

7989
#ifdef CONFIG_PM_DEVICE
8090
pm_device_action_run(dev, PM_DEVICE_ACTION_SUSPEND);

0 commit comments

Comments
 (0)