Convert all comments into "doxygen-ready" comments.
Bug: 36453077
Test: mma
Change-Id: I0b1f77dfae5d2258969e33d85ecf45401ffbdfaa
diff --git a/sensors/1.0/ISensors.hal b/sensors/1.0/ISensors.hal
index 5c8301a..8d41de2 100644
--- a/sensors/1.0/ISensors.hal
+++ b/sensors/1.0/ISensors.hal
@@ -37,7 +37,8 @@
*/
setOperationMode(OperationMode mode) generates (Result result);
- /* Activate/de-activate one sensor.
+ /**
+ * Activate/de-activate one sensor.
*
* After sensor de-activation, existing sensor events that have not
* been picked up by poll() must be abandoned immediately so that
@@ -76,7 +77,7 @@
vec<Event> data,
vec<SensorInfo> dynamicSensorsAdded);
- /*
+ /**
* Sets a sensor’s parameters, including sampling frequency and maximum
* report latency. This function can be called while the sensor is
* activated, in which case it must not cause any sensor measurements to
@@ -96,7 +97,7 @@
int64_t samplingPeriodNs,
int64_t maxReportLatencyNs) generates (Result result);
- /*
+ /**
* Trigger a flush of internal FIFO.
*
* Flush adds a FLUSH_COMPLETE metadata event to the end of the "batch mode"
@@ -113,7 +114,7 @@
*/
flush(int32_t sensorHandle) generates (Result result);
- /*
+ /**
* Inject a single sensor event or push operation environment parameters to
* device.
*
@@ -137,7 +138,7 @@
*/
injectSensorData(Event event) generates (Result result);
- /*
+ /**
* Register direct report channel.
*
* Register a direct channel with supplied shared memory information. Upon
@@ -156,7 +157,7 @@
registerDirectChannel(SharedMemInfo mem)
generates (Result result, int32_t channelHandle);
- /*
+ /**
* Unregister direct report channel.
*
* Unregister a direct channel previously registered using
@@ -169,7 +170,7 @@
*/
unregisterDirectChannel(int32_t channelHandle) generates (Result result);
- /*
+ /**
* Configure direct sensor event report in direct channel.
*
* This function start, modify rate or stop direct report of a sensor in a
diff --git a/sensors/1.0/types.hal b/sensors/1.0/types.hal
index efb18c6..3926e2f 100644
--- a/sensors/1.0/types.hal
+++ b/sensors/1.0/types.hal
@@ -22,7 +22,7 @@
* http://source.android.com/devices/sensors/index.html
*/
-/* Type enumerating various result codes returned from ISensors methods */
+/** Type enumerating various result codes returned from ISensors methods */
enum Result : int32_t {
OK,
PERMISSION_DENIED = -1,
@@ -31,7 +31,7 @@
INVALID_OPERATION = -38,
};
-/*
+/**
* Sensor HAL modes used in setOperationMode method
*/
@export(name="", value_prefix="SENSOR_HAL_", value_suffix="_MODE")
@@ -40,7 +40,7 @@
DATA_INJECTION = 1,
};
-/*
+/**
* Sensor type
*
* Each sensor has a type which defines what this sensor measures and how
@@ -88,7 +88,7 @@
* - This way, all applications can now use this sensor.
*/
-/*
+/**
* Wake up sensors.
* Each sensor may have either or both a wake-up and a non-wake variant.
* When registered in batch mode, wake-up sensors will wake up the AP when
@@ -116,14 +116,15 @@
@export(name="", value_prefix="SENSOR_TYPE_")
enum SensorType : int32_t {
- /* META_DATA is a special event type used to populate the MetaData
+ /**
+ * META_DATA is a special event type used to populate the MetaData
* structure. It doesn't correspond to a physical sensor. Events of this
* type exist only inside the HAL, their primary purpose is to signal the
* completion of a flush request.
*/
META_DATA = 0,
- /*
+ /**
* ACCELEROMETER
* reporting-mode: continuous
*
@@ -135,7 +136,7 @@
*/
ACCELEROMETER = 1,
- /*
+ /**
* MAGNETIC_FIELD
* reporting-mode: continuous
*
@@ -147,7 +148,7 @@
*/
MAGNETIC_FIELD = 2,
- /*
+ /**
* ORIENTATION
* reporting-mode: continuous
*
@@ -161,7 +162,7 @@
*/
ORIENTATION = 3,
- /*
+ /**
* GYROSCOPE
* reporting-mode: continuous
*
@@ -173,7 +174,7 @@
*/
GYROSCOPE = 4,
- /*
+ /**
* LIGHT
* reporting-mode: on-change
*
@@ -183,7 +184,7 @@
*/
LIGHT = 5,
- /*
+ /**
* PRESSURE
* reporting-mode: continuous
*
@@ -194,10 +195,10 @@
*/
PRESSURE = 6,
- /* TEMPERATURE is deprecated in the HAL */
+ /** TEMPERATURE is deprecated in the HAL */
TEMPERATURE = 7,
- /*
+ /**
* PROXIMITY
* reporting-mode: on-change
*
@@ -210,7 +211,7 @@
*/
PROXIMITY = 8,
- /*
+ /**
* GRAVITY
* reporting-mode: continuous
*
@@ -222,7 +223,7 @@
*/
GRAVITY = 9,
- /*
+ /**
* LINEAR_ACCELERATION
* reporting-mode: continuous
*
@@ -234,7 +235,7 @@
*/
LINEAR_ACCELERATION = 10,
- /*
+ /**
* ROTATION_VECTOR
* reporting-mode: continuous
*
@@ -246,7 +247,7 @@
*/
ROTATION_VECTOR = 11,
- /*
+ /**
* RELATIVE_HUMIDITY
* reporting-mode: on-change
*
@@ -257,7 +258,7 @@
*/
RELATIVE_HUMIDITY = 12,
- /*
+ /**
* AMBIENT_TEMPERATURE
* reporting-mode: on-change
*
@@ -267,7 +268,7 @@
*/
AMBIENT_TEMPERATURE = 13,
- /*
+ /**
* MAGNETIC_FIELD_UNCALIBRATED
* reporting-mode: continuous
*
@@ -279,7 +280,7 @@
*/
MAGNETIC_FIELD_UNCALIBRATED = 14,
- /*
+ /**
* GAME_ROTATION_VECTOR
* reporting-mode: continuous
*
@@ -291,7 +292,7 @@
*/
GAME_ROTATION_VECTOR = 15,
- /*
+ /**
* GYROSCOPE_UNCALIBRATED
* reporting-mode: continuous
*
@@ -303,7 +304,7 @@
*/
GYROSCOPE_UNCALIBRATED = 16,
- /*
+ /**
* SIGNIFICANT_MOTION
* reporting-mode: one-shot
*
@@ -316,7 +317,7 @@
*/
SIGNIFICANT_MOTION = 17,
- /*
+ /**
* STEP_DETECTOR
* reporting-mode: special
*
@@ -328,7 +329,7 @@
*/
STEP_DETECTOR = 18,
- /*
+ /**
* STEP_COUNTER
* reporting-mode: on-change
*
@@ -341,7 +342,7 @@
*/
STEP_COUNTER = 19,
- /*
+ /**
* GEOMAGNETIC_ROTATION_VECTOR
* reporting-mode: continuous
*
@@ -353,7 +354,7 @@
*/
GEOMAGNETIC_ROTATION_VECTOR = 20,
- /*
+ /**
* HEART_RATE
* reporting-mode: on-change
*
@@ -377,7 +378,7 @@
*/
HEART_RATE = 21,
- /*
+ /**
* WAKE_UP_TILT_DETECTOR
* reporting-mode: special (setDelay has no impact)
*
@@ -416,7 +417,7 @@
*/
TILT_DETECTOR = 22,
- /*
+ /**
* WAKE_GESTURE
* reporting-mode: one-shot
*
@@ -437,7 +438,7 @@
*/
WAKE_GESTURE = 23,
- /*
+ /**
* GLANCE_GESTURE
* reporting-mode: one-shot
*
@@ -474,7 +475,7 @@
*/
PICK_UP_GESTURE = 25,
- /*
+ /**
* WRIST_TILT_GESTURE
* trigger-mode: special
* wake-up sensor: yes
@@ -489,7 +490,7 @@
*/
WRIST_TILT_GESTURE = 26,
- /*
+ /**
* DEVICE_ORIENTATION
* reporting-mode: on-change
*
@@ -523,7 +524,7 @@
*/
DEVICE_ORIENTATION = 27,
- /*
+ /**
* POSE_6DOF
* trigger-mode: continuous
*
@@ -541,7 +542,7 @@
*/
POSE_6DOF = 28,
- /*
+ /**
* STATIONARY_DETECT
* trigger mode: one shot
*
@@ -555,7 +556,7 @@
*/
STATIONARY_DETECT = 29,
- /*
+ /**
* MOTION_DETECT
* trigger mode: one shot
*
@@ -573,7 +574,7 @@
*/
MOTION_DETECT = 30,
- /*
+ /**
* HEART_BEAT
* trigger mode: continuous
*
@@ -680,7 +681,7 @@
*/
ADDITIONAL_INFO = 33,
- /*
+ /**
* LOW_LATENCY_OFFBODY_DETECT
* trigger-mode: on-change
* wake-up sensor: yes
@@ -703,7 +704,7 @@
*/
LOW_LATENCY_OFFBODY_DETECT = 34,
- /*
+ /**
* ACCELEROMETER_UNCALIBRATED
* reporting-mode: continuous
*
@@ -715,7 +716,7 @@
*/
ACCELEROMETER_UNCALIBRATED = 35,
- /*
+ /**
* Base for device manufacturers private sensor types.
* These sensor types can't be exposed in the SDK.
*/
@@ -724,7 +725,7 @@
@export(name="", value_prefix="SENSOR_FLAG_")
enum SensorFlagBits : uint32_t {
- /*
+ /**
* Whether this sensor wakes up the AP from suspend mode when data is
* available. Whenever sensor events are delivered from a wake_up sensor,
* the driver needs to hold a wake_lock till the events are read by the
@@ -735,7 +736,7 @@
*/
WAKE_UP = 1,
- /*
+ /**
* Reporting modes for various sensors. Each sensor will have exactly one of
* these modes set.
* The least significant 2nd, 3rd and 4th bits are used to represent four
@@ -746,7 +747,7 @@
ONE_SHOT_MODE = 4,
SPECIAL_REPORTING_MODE = 6,
- /*
+ /**
* Set this flag if the sensor supports data_injection mode and allows data
* to be injected from the SensorService. When in data_injection ONLY
* sensors with this flag set are injected sensor data and only sensors with
@@ -756,42 +757,42 @@
*/
DATA_INJECTION = 0x10,
- /*
+ /**
* Set this flag if the sensor is a dynamically connected sensor. See
* DynamicSensorInfo and DYNAMIC_SENSOR_META for details.
*/
DYNAMIC_SENSOR = 0x20,
- /*
+ /**
* Set this flag if sensor additional information is supported.
* See ADDITIONAL_INFO and AdditionalInfo for details.
*/
ADDITIONAL_INFO = 0x40,
- /*
+ /**
* Set this flag if sensor suppor direct channel backed by ashmem.
* See SharedMemType and registerDirectChannel for more details.
*/
DIRECT_CHANNEL_ASHMEM = 0x400,
- /*
+ /**
* Set this flag if sensor suppor direct channel backed by gralloc HAL memory.
* See SharedMemType and registerDirectChannel for more details.
*/
DIRECT_CHANNEL_GRALLOC = 0x800,
- /*
+ /**
* Flags mask for reporting mode of sensor.
*/
MASK_REPORTING_MODE = 0xE,
- /*
+ /**
* Flags mask for direct report maximum rate level support.
* See RateLevel.
*/
MASK_DIRECT_REPORT = 0x380,
- /*
+ /**
* Flags mask for all direct channel support bits.
* See SharedMemType.
*/
@@ -809,30 +810,34 @@
};
struct SensorInfo {
- /* handle that identifies this sensors. This handle is used to reference
+ /**
+ * handle that identifies this sensors. This handle is used to reference
* this sensor throughout the HAL API.
*/
int32_t sensorHandle;
- /* Name of this sensor.
+ /**
+ * Name of this sensor.
* All sensors of the same "type" must have a different "name".
*/
string name;
- /* vendor of the hardware part */
+ /** vendor of the hardware part */
string vendor;
- /* version of the hardware part + driver. The value of this field
+ /**
+ * version of the hardware part + driver. The value of this field
* must increase when the driver is updated in a way that changes the
* output of this sensor. This is important for fused sensors when the
* fusion algorithm is updated.
*/
int32_t version;
- /* this sensor's type. */
+ /** this sensor's type. */
SensorType type;
- /* type of this sensor as a string.
+ /**
+ * type of this sensor as a string.
*
* When defining an OEM specific sensor or sensor manufacturer specific
* sensor, use your reserve domain name as a prefix.
@@ -843,16 +848,17 @@
*/
string typeAsString;
- /* maximum range of this sensor's value in SI units */
+ /** maximum range of this sensor's value in SI units */
float maxRange;
- /* smallest difference between two values reported by this sensor */
+ /** smallest difference between two values reported by this sensor */
float resolution;
- /* rough estimate of this sensor's power consumption in mA */
+ /** rough estimate of this sensor's power consumption in mA */
float power;
- /* this value depends on the reporting mode:
+ /**
+ * this value depends on the reporting mode:
*
* continuous: minimum sample period allowed in microseconds
* on-change : 0
@@ -861,20 +867,23 @@
*/
int32_t minDelay;
- /* number of events reserved for this sensor in the batch mode FIFO.
+ /**
+ * number of events reserved for this sensor in the batch mode FIFO.
* If there is a dedicated FIFO for this sensor, then this is the
* size of this FIFO. If the FIFO is shared with other sensors,
* this is the size reserved for that sensor and it can be zero.
*/
uint32_t fifoReservedEventCount;
- /* maximum number of events of this sensor that could be batched.
+ /**
+ * maximum number of events of this sensor that could be batched.
* This is especially relevant when the FIFO is shared between
* several sensors; this value is then set to the size of that FIFO.
*/
uint32_t fifoMaxEventCount;
- /* permission required to see this sensor, register to it and receive data.
+ /**
+ * permission required to see this sensor, register to it and receive data.
* Set to "" if no permission is required. Some sensor types like the
* heart rate monitor have a mandatory require_permission.
* For sensors that always require a specific permission, like the heart
@@ -883,7 +892,8 @@
*/
string requiredPermission;
- /* This value is defined only for continuous mode and on-change sensors.
+ /**
+ * This value is defined only for continuous mode and on-change sensors.
* It is the delay between two sensor events corresponding to the lowest
* frequency that this sensor supports. When lower frequencies are requested
* through batch()/setDelay() the events will be generated at this frequency
@@ -901,7 +911,7 @@
*/
int32_t maxDelay;
- /* Bitmask of SensorFlagBits */
+ /** Bitmask of SensorFlagBits */
bitfield<SensorFlagBits> flags;
};
@@ -938,13 +948,14 @@
};
struct HeartRate {
- /* Heart rate in beats per minute.
+ /**
+ * Heart rate in beats per minute.
* Set to 0 when status is SensorStatus::UNRELIABLE or
* SensorStatus::NO_CONTACT
*/
float bpm;
- /* Status of the heart rate sensor for this reading. */
+ /** Status of the heart rate sensor for this reading. */
SensorStatus status;
};
@@ -961,7 +972,8 @@
bool connected;
int32_t sensorHandle;
- /* UUID of a dynamic sensor (using RFC 4122 byte order)
+ /**
+ * UUID of a dynamic sensor (using RFC 4122 byte order)
* For UUID 12345678-90AB-CDEF-1122-334455667788 the uuid field is
* initialized as:
* {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF, 0x11, ...}
@@ -971,53 +983,60 @@
@export(name="additional_info_type_t")
enum AdditionalInfoType : uint32_t {
- /* Marks the beginning of additional information frames */
+ /** Marks the beginning of additional information frames */
AINFO_BEGIN = 0,
- /* Marks the end of additional information frames */
+ /** Marks the end of additional information frames */
AINFO_END = 1,
- /* Estimation of the delay that is not tracked by sensor timestamps. This
+ /**
+ * Estimation of the delay that is not tracked by sensor timestamps. This
* includes delay introduced by sensor front-end filtering, data transport,
* etc.
* float[2]: delay in seconds, standard deviation of estimated value
*/
AINFO_UNTRACKED_DELAY = 0x10000,
- /* float: Celsius temperature */
+ /** float: Celsius temperature */
AINFO_INTERNAL_TEMPERATURE,
- /* First three rows of a homogeneous matrix, which represents calibration to
+ /**
+ * First three rows of a homogeneous matrix, which represents calibration to
* a three-element vector raw sensor reading.
* float[12]: 3x4 matrix in row major order
*/
AINFO_VEC3_CALIBRATION,
- /* Location and orientation of sensor element in the device frame: origin is
+ /**
+ * Location and orientation of sensor element in the device frame: origin is
* the geometric center of the mobile device screen surface; the axis
* definition corresponds to Android sensor definitions.
* float[12]: 3x4 matrix in row major order
*/
AINFO_SENSOR_PLACEMENT,
- /* float[2]: raw sample period in seconds,
+ /**
+ * float[2]: raw sample period in seconds,
* standard deviation of sampling period
*/
AINFO_SAMPLING,
// Sampling channel modeling information section
- /* int32_t: noise type
+ /**
+ * int32_t: noise type
* float[n]: parameters
*/
AINFO_CHANNEL_NOISE = 0x20000,
- /* float[3]: sample period, standard deviation of sample period,
+ /**
+ * float[3]: sample period, standard deviation of sample period,
* quantization unit
*/
AINFO_CHANNEL_SAMPLER,
- /* Represents a filter:
+ /**
+ * Represents a filter:
* \sum_j a_j y[n-j] == \sum_i b_i x[n-i]
*
* int32_t[3]: number of feedforward coeffients M,
@@ -1031,48 +1050,56 @@
*/
AINFO_CHANNEL_FILTER,
- /* int32_t[2]: size in (row, column) ... 1st frame
+ /**
+ * int32_t[2]: size in (row, column) ... 1st frame
* float[n]: matrix element values in row major order.
*/
AINFO_CHANNEL_LINEAR_TRANSFORM,
- /* int32_t[2]: extrapolate method, interpolate method
+ /**
+ * int32_t[2]: extrapolate method, interpolate method
* float[n]: mapping key points in pairs, (in, out)...
* (may be used to model saturation).
*/
AINFO_CHANNEL_NONLINEAR_MAP,
- /* int32_t: resample method (0-th order, 1st order...)
+ /**
+ * int32_t: resample method (0-th order, 1st order...)
* float[1]: resample ratio (upsampling if < 1.0, downsampling if > 1.0).
*/
AINFO_CHANNEL_RESAMPLER,
- /* Operation environment parameters section
+ /**
+ * Operation environment parameters section
* Types in the following section is sent down (instead of reported from)
* device as additional information to aid sensor operation. Data is sent
* via injectSensorData() function to sensor handle -1 denoting all sensors
* in device.
*/
- /* Local geomagnetic field information based on device geo location. This
+ /**
+ * Local geomagnetic field information based on device geo location. This
* type is primarily for for magnetic field calibration and rotation vector
* sensor fusion.
* float[3]: strength (uT), declination and inclination angle (rad).
*/
AINFO_LOCAL_GEOMAGNETIC_FIELD = 0x30000,
- /* Local gravitational acceleration strength at device geo location.
+ /**
+ * Local gravitational acceleration strength at device geo location.
* float: gravitational acceleration norm in m/s^2.
*/
AINFO_LOCAL_GRAVITY,
- /* Device dock state.
+ /**
+ * Device dock state.
* int32_t: dock state following Android API Intent.EXTRA_DOCK_STATE
* definition, undefined value is ignored.
*/
AINFO_DOCK_STATE,
- /* High performance mode hint. Device is able to use up more power and take
+ /**
+ * High performance mode hint. Device is able to use up more power and take
* more reources to improve throughput and latency in high performance mode.
* One possible use case is virtual reality, when sensor latency need to be
* carefully controlled.
@@ -1081,7 +1108,8 @@
*/
AINFO_HIGH_PERFORMANCE_MODE,
- /* Magnetic field calibration hint. Device is notified when manually
+ /**
+ * Magnetic field calibration hint. Device is notified when manually
* triggered magnetic field calibration procedure is started or stopped. The
* calibration procedure is assumed timed out after 1 minute from start,
* even if an explicit stop is not received.
@@ -1090,18 +1118,18 @@
*/
AINFO_MAGNETIC_FIELD_CALIBRATION,
- /* Custom information */
+ /** Custom information */
AINFO_CUSTOM_START = 0x10000000,
- /* Debugging */
+ /** Debugging */
AINFO_DEBUGGING_START = 0x40000000,
};
struct AdditionalInfo {
- /* type of payload data, see AdditionalInfoType */
+ /** type of payload data, see AdditionalInfoType */
AdditionalInfoType type;
- /* sequence number of this frame for this type */
+ /** sequence number of this frame for this type */
int32_t serial;
union Payload {
@@ -1121,27 +1149,31 @@
* relative humidity in percent
*/
union EventPayload {
- /* SensorType::ACCELEROMETER, SensorType::MAGNETIC_FIELD,
+ /**
+ * SensorType::ACCELEROMETER, SensorType::MAGNETIC_FIELD,
* SensorType::ORIENTATION, SensorType::GYROSCOPE, SensorType::GRAVITY,
* SensorType::LINEAR_ACCELERATION
*/
Vec3 vec3;
- /* SensorType::ROTATION_VECTOR, SensorType::GAME_ROTATION_VECTOR,
+ /**
+ * SensorType::ROTATION_VECTOR, SensorType::GAME_ROTATION_VECTOR,
* SensorType::GEOMAGNETIC_ROTATION_VECTOR
*/
Vec4 vec4;
- /* SensorType::MAGNETIC_FIELD_UNCALIBRATED,
+ /**
+ * SensorType::MAGNETIC_FIELD_UNCALIBRATED,
* SensorType::GYROSCOPE_UNCALIBRATED
* SensorType::ACCELEROMETER_UNCALIBRATED
*/
Uncal uncal;
- /* SensorType::META_DATA */
+ /** SensorType::META_DATA */
MetaData meta;
- /* SensorType::DEVICE_ORIENTATION, SensorType::LIGHT, SensorType::PRESSURE,
+ /**
+ * SensorType::DEVICE_ORIENTATION, SensorType::LIGHT, SensorType::PRESSURE,
* SensorType::TEMPERATURE, SensorType::PROXIMITY,
* SensorType::RELATIVE_HUMIDITY, SensorType::AMBIENT_TEMPERATURE,
* SensorType::SIGNIFICANT_MOTION, SensorType::STEP_DETECTOR,
@@ -1153,35 +1185,35 @@
*/
float scalar;
- /* SensorType::STEP_COUNTER */
+ /** SensorType::STEP_COUNTER */
uint64_t stepCount;
- /* SensorType::HEART_RATE */
+ /** SensorType::HEART_RATE */
HeartRate heartRate;
- /* SensorType::POSE_6DOF */
+ /** SensorType::POSE_6DOF */
float[15] pose6DOF;
- /* SensorType::DYNAMIC_SENSOR_META */
+ /** SensorType::DYNAMIC_SENSOR_META */
DynamicSensorInfo dynamic;
- /* SensorType::ADDITIONAL_INFO */
+ /** SensorType::ADDITIONAL_INFO */
AdditionalInfo additional;
- /* undefined/custom sensor type >= SensorType::DEVICE_PRIVATE_BASE */
+ /** undefined/custom sensor type >= SensorType::DEVICE_PRIVATE_BASE */
float[16] data;
};
struct Event {
- /* Time measured in nanoseconds, in "elapsedRealtimeNano()'s" timebase. */
+ /** Time measured in nanoseconds, in "elapsedRealtimeNano()'s" timebase. */
int64_t timestamp;
- /* sensor identifier */
+ /** sensor identifier */
int32_t sensorHandle;
SensorType sensorType;
- /* Union discriminated on sensorType */
+ /** Union discriminated on sensorType */
EventPayload u;
};