1 /* 2 * Copyright (c) 2024 TDK Invensense 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_TDK_APEX_H_ 8 #define ZEPHYR_INCLUDE_DRIVERS_SENSOR_TDK_APEX_H_ 9 10 #include <zephyr/drivers/sensor.h> 11 12 /** 13 * @file 14 * @brief Extended public API for TDK MEMS sensor 15 * 16 * Some capabilities and operational requirements for this sensor 17 * cannot be expressed within the sensor driver abstraction. 18 */ 19 20 /** TDK APEX features */ 21 #define TDK_APEX_PEDOMETER (1) 22 #define TDK_APEX_TILT (2) 23 #define TDK_APEX_SMD (3) 24 #define TDK_APEX_WOM (4) 25 26 /** 27 * @brief Extended sensor channel for TDK MEMS supportintg APEX features 28 * 29 * This exposes sensor channel for the TDK MEMS which can be used for 30 * getting the APEX features data. 31 * 32 * The APEX (Advanced Pedometer and Event Detection – neXt gen) features of 33 * TDK MEMS consist of: 34 * ** Pedometer: Tracks step count. 35 * ** Tilt Detection: Detect the Tilt angle exceeds 35 degrees. 36 * ** Wake on Motion (WoM): Detects motion when accelerometer samples exceed 37 * a programmable threshold. This motion event can be used to enable device 38 * operation from sleep mode. 39 * ** Significant Motion Detector (SMD): Detects significant motion based on 40 * accelerometer data. 41 */ 42 enum sensor_channel_tdk_apex { 43 44 /** APEX features */ 45 SENSOR_CHAN_APEX_MOTION = SENSOR_CHAN_PRIV_START, 46 }; 47 #endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_TDK_APEX_H_ */ 48