14d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro/* 24d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * Copyright (C) 2016 The Android Open Source Project 34d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * 44d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * Licensed under the Apache License, Version 2.0 (the "License"); 54d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * you may not use this file except in compliance with the License. 64d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * You may obtain a copy of the License at 74d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * 84d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * http://www.apache.org/licenses/LICENSE-2.0 94d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * 104d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * Unless required by applicable law or agreed to in writing, software 114d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * distributed under the License is distributed on an "AS IS" BASIS, 124d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * See the License for the specific language governing permissions and 144d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro * limitations under the License. 154d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro */ 164d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 174d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#ifndef _GTS_NANOAPPS_GENERAL_TEST_BASIC_SENSOR_TESTS_H_ 184d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#define _GTS_NANOAPPS_GENERAL_TEST_BASIC_SENSOR_TESTS_H_ 194d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 204d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#include <general_test/basic_sensor_test_base.h> 214d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 224d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#include <chre.h> 234d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 244d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguronamespace general_test { 254d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 264d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicAccelerometerTest : public BasicSensorTestBase { 274d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public: 284d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro BasicAccelerometerTest() 294d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro : BasicSensorTestBase() {} 304d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 314d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected: 324d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro uint8_t getSensorType() const override { 334d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro return CHRE_SENSOR_TYPE_ACCELEROMETER; 344d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro } 354d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isRequiredSensor() const override { return true; } 364d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOnChangeSensor() const override { return false; } 374d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOneShotSensor() const override { return false; } 384d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro void confirmDataIsSane(const void* eventData) override; 394d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro}; 404d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 414d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicInstantMotionDetectTest : public BasicSensorTestBase { 424d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public: 434d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro BasicInstantMotionDetectTest() 444d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro : BasicSensorTestBase() {} 454d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 464d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected: 474d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro uint8_t getSensorType() const override { 484d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro return CHRE_SENSOR_TYPE_INSTANT_MOTION_DETECT; 494d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro } 504d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isRequiredSensor() const override { return true; } 514d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOnChangeSensor() const override { return false; } 524d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOneShotSensor() const override { return true; } 534d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro void confirmDataIsSane(const void* eventData) override; 544d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro}; 554d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 564d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicStationaryDetectTest : public BasicSensorTestBase { 574d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public: 584d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro BasicStationaryDetectTest() 594d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro : BasicSensorTestBase() {} 604d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 614d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected: 624d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro uint8_t getSensorType() const override { 634d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro return CHRE_SENSOR_TYPE_STATIONARY_DETECT; 644d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro } 654d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isRequiredSensor() const override { return true; } 664d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOnChangeSensor() const override { return false; } 674d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOneShotSensor() const override { return true; } 684d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro void confirmDataIsSane(const void* eventData) override; 694d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro}; 704d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 714d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicGyroscopeTest : public BasicSensorTestBase { 724d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public: 734d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro BasicGyroscopeTest() 744d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro : BasicSensorTestBase() {} 754d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 764d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected: 774d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro uint8_t getSensorType() const override { 784d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro return CHRE_SENSOR_TYPE_GYROSCOPE; 794d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro } 804d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isRequiredSensor() const override { return true; } 814d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOnChangeSensor() const override { return false; } 824d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOneShotSensor() const override { return false; } 834d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro void confirmDataIsSane(const void* eventData) override; 844d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro}; 854d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 864d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicMagnetometerTest : public BasicSensorTestBase { 874d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public: 884d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro BasicMagnetometerTest() 894d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro : BasicSensorTestBase() {} 904d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 914d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected: 924d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro uint8_t getSensorType() const override { 934d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro return CHRE_SENSOR_TYPE_GEOMAGNETIC_FIELD; 944d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro } 954d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isRequiredSensor() const override { return false; } 964d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOnChangeSensor() const override { return false; } 974d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOneShotSensor() const override { return false; } 984d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro void confirmDataIsSane(const void* eventData) override; 994d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro}; 1004d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 1014d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicBarometerTest : public BasicSensorTestBase { 1024d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public: 1034d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro BasicBarometerTest() 1044d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro : BasicSensorTestBase() {} 1054d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 1064d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected: 1074d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro uint8_t getSensorType() const override { 1084d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro return CHRE_SENSOR_TYPE_PRESSURE; 1094d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro } 1104d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isRequiredSensor() const override { return false; } 1114d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOnChangeSensor() const override { return false; } 1124d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOneShotSensor() const override { return false; } 1134d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro void confirmDataIsSane(const void* eventData) override; 1144d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro}; 1154d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 1164d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicLightSensorTest : public BasicSensorTestBase { 1174d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public: 1184d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro BasicLightSensorTest() 1194d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro : BasicSensorTestBase() {} 1204d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 1214d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected: 1224d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro uint8_t getSensorType() const override { 1234d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro return CHRE_SENSOR_TYPE_LIGHT; 1244d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro } 1254d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isRequiredSensor() const override { return false; } 1264d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOnChangeSensor() const override { return true; } 1274d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOneShotSensor() const override { return false; } 1284d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro void confirmDataIsSane(const void* eventData) override; 1294d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro}; 1304d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 1314d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguroclass BasicProximityTest : public BasicSensorTestBase { 1324d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro public: 1334d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro BasicProximityTest() 1344d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro : BasicSensorTestBase() {} 1354d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 1364d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro protected: 1374d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro uint8_t getSensorType() const override { 1384d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro return CHRE_SENSOR_TYPE_PROXIMITY; 1394d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro } 1404d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isRequiredSensor() const override { return false; } 1414d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOnChangeSensor() const override { return true; } 1424d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro bool isOneShotSensor() const override { return false; } 1434d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro void confirmDataIsSane(const void* eventData) override; 1444d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro}; 1454d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 1464d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro} // namespace general_test 1474d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 1484d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro 1494d04a937b1bf7a949dfb00650b2640a9ed0c8acaArthur Ishiguro#endif // _GTS_NANOAPPS_GENERAL_TEST_BASIC_SENSOR_TESTS_H_ 150