blob: 3c49a54c0e30bd0b13f43f18bca3379ae9091b6d [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.input.report;
/// A hardcoded number of max sensor values. This should be increased in the future
/// if we ever see a sensor with more values.
const uint32 SENSOR_MAX_VALUES = 100;
/// Each sensor value has a corresponding SensorType, which explains what the
/// value is measuring in the world.
enum SensorType : uint32 {
/// Acceleration on the X axis.
ACCELEROMETER_X = 1;
/// Acceleration on the Y axis.
ACCELEROMETER_Y = 2;
/// Acceleration on the Z axis.
ACCELEROMETER_Z = 3;
/// Strength of the Magnetic Field in the X axis.
MAGNETOMETER_X = 4;
/// Strength of the Magnetic Field in the Y axis.
MAGNETOMETER_Y = 5;
/// Strength of the Magnetic Field in the Z axis.
MAGNETOMETER_Z = 6;
/// Angular Velocity in the X direction moving counter-clockwise.
GYROSCOPE_X = 7;
/// Angular Velocity in the Y direction moving counter-clockwise.
GYROSCOPE_Y = 8;
/// Angular Velocity in the Z direction moving counter-clockwise.
GYROSCOPE_Z = 9;
/// Ambient level of Light.
LIGHT_ILLUMINANCE = 10;
/// Ambient level of Red Light.
LIGHT_RED = 11;
/// Ambient level of Green Light.
LIGHT_GREEN = 12;
/// Ambient level of Blue Light.
LIGHT_BLUE = 13;
};
/// A |SensorAxis| is a normal |Axis| with an additional |SensorType| to describe what the
/// axis is measuring.
struct SensorAxis {
Axis axis;
SensorType type;
};
/// |SensorDescriptor| describes the capabilities of a sensor.
table SensorDescriptor {
/// Each |SensorAxis| in |values| describes what a sensor is measuring and its range.
/// These will directly correspond to the values in |SensorReport|.
1: vector<SensorAxis>:SENSOR_MAX_VALUES values;
};
/// |SensorReport| gives the values measured by a sensor at a given point in time.
table SensorReport {
/// The ordering of |values| will always directly correspond to the ordering of
/// the values in |SensorDescriptor|.
1: vector<int64>:SENSOR_MAX_VALUES values;
};