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;
 };