CDD: Sensors updates for timestamps and more

Change summary:
 - Timestamp synchronization is now mandatory with tightened guidance
 - Make +/- 16g accel guidance in hifi_sensors strongly recommended
 - Correct misleading wording in gyroscope and thermometer sections

Bug: 145023264
Test: view formatted markdown
Change-Id: If62e8a931d76f04f147c6dc5aeeb5ee1afb5968e
diff --git a/7_hardware-compatibility/7_3_sensors.md b/7_hardware-compatibility/7_3_sensors.md
index e764d2e..2b1afba 100644
--- a/7_hardware-compatibility/7_3_sensors.md
+++ b/7_hardware-compatibility/7_3_sensors.md
@@ -33,15 +33,6 @@
 *   [C-1-3] MUST report the first sensor sample within 400 milliseconds + 2 *
 sample_time of the sensor being activated. It is acceptable for this sample to
 have an accuracy of 0.
-*   [SR] SHOULD [report the event time](
-http://developer.android.com/reference/android/hardware/SensorEvent.html#timestamp)
-in nanoseconds as defined in the Android SDK documentation, representing the
-time the event happened and synchronized with the
-SystemClock.elapsedRealtimeNano() clock. Existing and new Android devices are
-**STRONGLY RECOMMENDED** to meet these requirements so they will be able to
-upgrade to the future platform releases where this might become a REQUIRED
-component. The synchronization error SHOULD be below 100 milliseconds.
-
 *   [C-1-4] For any API indicated by the Android SDK documentation to be a
      [continuous sensor](
      https://source.android.com/devices/sensors/report-modes.html#continuous),
@@ -49,10 +40,17 @@
      periodic data samples that SHOULD have a jitter below 3%,
      where jitter is defined as the standard deviation of the difference of the
      reported timestamp values between consecutive events.
-
 *   [C-1-5] MUST ensure that the sensor event stream
      MUST NOT prevent the device CPU from entering a suspend state or waking up
      from a suspend state.
+*   [C-1-6] MUST [report the event time](
+http://developer.android.com/reference/android/hardware/SensorEvent.html#timestamp)
+in nanoseconds as defined in the Android SDK documentation, representing the
+time the event happened and synchronized with the
+SystemClock.elapsedRealtimeNano() clock.
+*   [C-SR] Are STRONGLY RECOMMENDED to have timestamp synchronization error
+below 100 milliseconds, and SHOULD have timestamp synchronization error below 1
+millisecond.
 *   When several sensors are activated, the power consumption SHOULD NOT exceed
      the sum of the individual sensor’s reported power consumption.
 
@@ -216,7 +214,8 @@
 `TYPE_GEOMAGNETIC_ROTATION_VECTOR` sensor, they:
 
 *   [C-3-1] MUST consume less than 10 mW.
-*   SHOULD consume less than 3 mW when the sensor is registered for batch mode at 10 Hz.
+*   SHOULD consume less than 3 mW when the sensor is registered for batch mode
+at 10 Hz.
 
 ### 7.3.3\. GPS
 
@@ -277,8 +276,7 @@
 
 Device implementations:
 
-*   [C-SR] Are STRONGLY RECOMMENDED to include a gyroscope sensor unless a
-3-axis accelerometer is also included.
+*   [C-SR] Are STRONGLY RECOMMENDED to include a gyroscope sensor.
 
 If device implementations include a 3-axis gyroscope, they:
 
@@ -301,8 +299,8 @@
 when device is stationary at room temperature.
 *   SHOULD report events up to at least 200 Hz.
 
-If device implementations include a 3-axis gyroscope, an accelerometer sensor and a
-magnetometer sensor, they:
+If device implementations include a 3-axis gyroscope, an accelerometer sensor
+and a magnetometer sensor, they:
 
 *   [C-2-1] MUST implement a `TYPE_ROTATION_VECTOR` composite sensor.
 
@@ -335,22 +333,19 @@
 
 ### 7.3.6\. Thermometer
 
-Device implementations:
-
-*   MAY include an ambient thermometer (temperature sensor).
-*   MAY but SHOULD NOT include a CPU temperature sensor.
-
 If device implementations include an ambient thermometer (temperature sensor),
 they:
 
-*   [C-1-1] MUST be defined as `SENSOR_TYPE_AMBIENT_TEMPERATURE` and MUST
-    measure the ambient (room/vehicle cabin) temperature from where the user
-    is interacting with the device in degrees Celsius.
-*   [C-1-2] MUST be defined as `SENSOR_TYPE_TEMPERATURE`.
-*   [C-1-3] MUST measure the temperature of the device CPU.
-*   [C-1-4] MUST NOT measure any other temperature.
+*   [C-1-1] MUST define [`SENSOR_TYPE_AMBIENT_TEMPERATURE`](https://developer.android.com/reference/android/hardware/Sensor#TYPE_AMBIENT_TEMPERATURE)
+    for the ambient temperature sensor and the sensor MUST measure the ambient
+    (room/vehicle cabin) temperature from where the user is interacting with the
+    device in degrees Celsius.
 
-Note the `SENSOR_TYPE_TEMPERATURE` sensor type was deprecated in Android 4.0.
+If device implementations include a thermometer sensor that measures a
+temperature other than ambient temperature, such as CPU temperature, they:
+
+*   [C-2-1] MUST NOT define [`SENSOR_TYPE_AMBIENT_TEMPERATURE`](https://developer.android.com/reference/android/hardware/Sensor#TYPE_AMBIENT_TEMPERATURE)
+    for the temperature sensor.
 
 ### 7.3.7\. Photometer
 
@@ -383,8 +378,9 @@
 they:
 
 *   [C-2-1] MUST have a `TYPE_ACCELEROMETER` sensor which:
-    *   MUST have a measurement range between at least -8g and +8g, SHOULD have
-        a measurement range between at least -16g and +16g.
+    *   MUST have a measurement range between at least -8g and +8g, and is
+        STRONGLY RECOMMENDED to have a measurement range between at least -16g
+        and +16g.
     *   MUST have a measurement resolution of at least 2048 LSB/g.
     *   MUST have a minimum measurement frequency of 12.5 Hz or lower.
     *   MUST have a maximum measurement frequency of 400 Hz or higher; SHOULD