proprietary_vendor_motorola.../proprietary/vendor/etc/sensors/proto/sns_humidity.proto
Anand S f31fa38f1d
rhodep: Initial import of device specific blobs
* From rhodep_g-user 13 T1SUS33.1-124-6-14 a15be release-keys.

Change-Id: Ifc556fab4a2d0afba881d7edcfb7137113d62622
2025-04-05 15:30:48 +05:30

69 lines
3.2 KiB
Protocol Buffer

// @file sns_humidity.proto
//
// Defines the API for Humidity Sensors.
// All Humidity Sensor drivers are required to comply with this API.
// Any new functionality for Humidity Sensor can be defined in a
// device specific API file.
//
// Copyright (c) 2016-2018 Qualcomm Technologies, Inc.
// All Rights Reserved.
// Confidential and Proprietary - Qualcomm Technologies, Inc.
syntax = "proto2";
import "nanopb.proto";
import "sns_std_sensor.proto";
import "sns_physical_sensor_test.proto";
import "sns_cal.proto";
// Attribute requirements:
// The Humidity Sensor publishes:
// 1. SNS_STD_SENSOR_ATTRID_TYPE attribute value as "humidity".
// 2. SNS_STD_SENSOR_ATTRID_RESOLUTIONS attribute value in %RH/LSB.
// 3. SNS_STD_SENSOR_ATTRID_RANGES attribute values in %RH unit.
// 4. The Humidity Sensor is an on-change sensor.
// 5. See sns_std_sensor.proto for other attributes.
// Handling stream requests:
// 1. The Humidity Sensor handles the SNS_STD_SENSOR_MSGID_SNS_STD_ON_CHANGE_CONFIG
// message ID for all stream enable/update requests.
// 2. The Humidity Sensor supports on-change mode of operation.
// 3. In on-change mode the Sensor could use interrupt operation and
// reports samples for only significant change in humidity.
// Example: +/- 5% change.
// Handling stream events:
// 1. The Humidity Sensor publishes ambient relative humidity data stream
// events using the sns_std_sensor_event message.
// 2. Each stream event contains one output data field where data is
// factory calibrated and ordered as:
// data[0] = Humidity data in %RH (% Relative Humidity)
// 3. Each stream event publishes an accuracy field:
// SNS_STD_SENSOR_SAMPLE_STATUS_UNRELIABLE to mark invalid samples when hardware is
// yet to stabilize after the sensor is configured.
// SNS_STD_SENSOR_SAMPLE_STATUS_ACCURACY_HIGH to mark samples when they are valid.
// 4. The Humidity Sensor publishes a configuration event using the
// sns_std_sensor_physical_config_event message.
// It publishes this event each time there is change in hardware config of the sensor
// and contains current physical sensor config of the sensor.
// 5. The Humidity Sensor publishes a factory calibration event using the
// sns_cal_event message. It uses bias and scale_factor fields in this event.
// It publishes this event each time there is change in it's factory calibration
// data or when a client sends a new streaming request.
// Handling self-test requests:
// 1. The Humidity Sensor implements SNS_PHYSICAL_SENSOR_TEST_TYPE_COM test
// type using the physical sensor test API.
// 2. The Humidity Sensor implements SNS_PHYSICAL_SENSOR_TEST_TYPE_FACTORY test
// type to determine factory calibration parameters using the physical
// sensor test API.
// 3. The Humidity Sensor could implement other test types.
// Handling test events:
// 1. The Humidity Sensor uses sns_physical_sensor_test_event message to publish
// a test completion event.
// 2. The test_passed field in sns_physical_sensor_test_event is used to output the
// pass/fail result of self-test execution.
// 3. The test_data field in sns_physical_sensor_test_event could be used to output any
// driver-specific error data.