69 lines
2.7 KiB
C
69 lines
2.7 KiB
C
|
/* Copyright 2018 The Chromium OS Authors. All rights reserved.
|
||
|
* Use of this source code is governed by a BSD-style license that can be
|
||
|
* found in the LICENSE file.
|
||
|
*
|
||
|
* Common test code to test lid angle calculation.
|
||
|
*/
|
||
|
#ifndef __CROS_EC_MOTION_COMMON_H
|
||
|
#define __CROS_EC_MOTION_COMMON_H
|
||
|
|
||
|
#include "motion_sense.h"
|
||
|
/*
|
||
|
* Period in us for the motion task period.
|
||
|
* The task will read the vectors at that interval
|
||
|
*/
|
||
|
#define TEST_LID_EC_RATE (1 * MSEC)
|
||
|
#define TEST_LID_FREQUENCY (1e9 / TEST_LID_EC_RATE) /* mHz */
|
||
|
|
||
|
/*
|
||
|
* Time in ms to wait for the task to read the vectors.
|
||
|
*/
|
||
|
#define TEST_LID_SLEEP_RATE (TEST_LID_EC_RATE / 5)
|
||
|
|
||
|
/* We gather 6 elements [2 vectors of 3 axis] per sample. */
|
||
|
#define TEST_LID_SAMPLE_SIZE (2 * 3)
|
||
|
|
||
|
extern enum chipset_state_mask sensor_active;
|
||
|
|
||
|
extern struct motion_sensor_t motion_sensors[];
|
||
|
extern const unsigned int motion_sensor_count;
|
||
|
|
||
|
void wait_for_valid_sample(void);
|
||
|
void feed_accel_data(const float *array, int *idx,
|
||
|
int (filler)(const struct motion_sensor_t *s, const float f));
|
||
|
|
||
|
/*
|
||
|
* External data - from
|
||
|
* chromium/src/ash/wm/tablet_mode/tablet_mode_controller_unittest.cc
|
||
|
*
|
||
|
* Test accelerometer data taken with the lid at less than 180 degrees while
|
||
|
* shaking the device around. The data is to be interpreted in groups of 6 where
|
||
|
* each 6 values corresponds to the base accelerometer (-y / g, -x / g, -z / g)
|
||
|
* followed by the lid accelerometer (-y / g , x / g, z / g).
|
||
|
* [ CONFIG_ACCEL_STD_REF_FRAME_OLD must be defined to used this array. ]
|
||
|
*/
|
||
|
extern const float kAccelerometerLaptopModeTestData[];
|
||
|
extern const size_t kAccelerometerLaptopModeTestDataLength;
|
||
|
|
||
|
/*
|
||
|
* Test accelerometer data taken with the lid open 360 degrees while
|
||
|
* shaking the device around. The data is to be interpreted in groups of 6 where
|
||
|
* each 6 values corresponds to the base accelerometer (-y / g, -x / g, -z / g)
|
||
|
* followed by the lid accelerometer (-y / g , x / g, z / g).
|
||
|
* [ CONFIG_ACCEL_STD_REF_FRAME_OLD must be defined to used this array. ]
|
||
|
*/
|
||
|
extern const float kAccelerometerFullyOpenTestData[];
|
||
|
extern const size_t kAccelerometerFullyOpenTestDataLength;
|
||
|
|
||
|
/*
|
||
|
* Test accelerometer data taken with the lid open 360 degrees while the device
|
||
|
* hinge was nearly vertical, while shaking the device around. The data is to be
|
||
|
* interpreted in groups of 6 where each 6 values corresponds to the X, Y, and Z
|
||
|
* readings from the base and lid accelerometers in this order.
|
||
|
*/
|
||
|
extern const float kAccelerometerVerticalHingeTestData[];
|
||
|
extern const size_t kAccelerometerVerticalHingeTestDataLength;
|
||
|
extern const float kAccelerometerVerticalHingeUnstableTestData[];
|
||
|
extern const size_t kAccelerometerVerticalHingeUnstableTestDataLength;
|
||
|
#endif /* __CROS_EC_MOTION_COMMON_H */
|