proprietary_vendor_motorola.../proprietary/vendor/etc/sensors/proto/sns_diag.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

433 lines
12 KiB
Protocol Buffer

// @file sns_diag.proto
//
// Defines log messages used by the sensors diag service
//
// Copyright (c) 2016-2020 Qualcomm Technologies, Inc.
// All Rights Reserved.
// Confidential and Proprietary - Qualcomm Technologies, Inc.
syntax = "proto2";
import "nanopb.proto";
import "sns_std.proto";
import "sns_std_sensor.proto";
import "sns_client.proto";
// Batch Sample Type
enum sns_diag_batch_sample_type
{
option (nanopb_enumopt).long_names = false;
// This is the only sample in the batch
SNS_DIAG_BATCH_SAMPLE_TYPE_ONLY = 0;
// This is the first sample of the batch
SNS_DIAG_BATCH_SAMPLE_TYPE_FIRST = 1;
// This is an intermediate sample of the batch
SNS_DIAG_BATCH_SAMPLE_TYPE_INTERMEDIATE = 2;
// This is the last sample of the batch
SNS_DIAG_BATCH_SAMPLE_TYPE_LAST = 3;
}
// Sensor Interrupts
enum sns_diag_interrupt
{
option (nanopb_enumopt).long_names = false;
// Interrupt caused by detection of a threshold being
// exceeded
SNS_DIAG_INTERRUPT_THRESHOLD = 0;
// Interrupt caused by detection of movement of the device
SNS_DIAG_INTERRUPT_MOTION = 1;
// Interrupt caused by detection of tilting of the device
SNS_DIAG_INTERRUPT_TILT = 2;
// Interrupt caused by detection of free fall
SNS_DIAG_INTERRUPT_FREE_FALL = 3;
// Interrupt caused by detection of double-tap
SNS_DIAG_INTERRUPT_DOUBLE_TAP= 4;
// Interrupt caused by detection of acceleration shock
SNS_DIAG_INTERRUPT_SHOCK = 5;
// Interrupt caused by CCD AMD
SNS_DIAG_INTERRUPT_CCD_AMD = 6;
// Interrupt caused by CCD WALK
SNS_DIAG_INTERRUPT_CCD_WALK = 7;
// Interrupt caused by CCD TILT
SNS_DIAG_INTERRUPT_CCD_TILT = 8;
// Interrupt caused by CCD TE0
SNS_DIAG_INTERRUPT_CCD_TE0 = 9;
// Interrupt caused by CCD TE1
SNS_DIAG_INTERRUPT_CCD_TE1 = 10;
// Interrupt caused by CCD TE2
SNS_DIAG_INTERRUPT_CCD_TE2 = 11;
}
// Opaque Payload
// This message defines the fields used to log an undefined payload
message sns_diag_opaque_payload
{
required bytes payload = 1;
}
// Batch Sample
// This message defines the fields used to log batched data.
message sns_diag_batch_sample
{
// Indicates if the sample is the first, intermediate, last or only
// sample of a batch
required sns_diag_batch_sample_type sample_type = 1 [default = SNS_DIAG_BATCH_SAMPLE_TYPE_ONLY];
// Timestamp of the sensor state data sample
required fixed64 timestamp = 2;
// Sensor state data sample
repeated float sample = 3;
// Data status.
required sns_std_sensor_sample_status status = 4 [default = SNS_STD_SENSOR_SAMPLE_STATUS_UNRELIABLE];
}
// Sensor State Hardware Interrupt Log Packet
// This message defines the fields used to log sensor state information
// pertaining to hardware interrupts
// This message is used as the payload field of sns_diag_sensor_log
message sns_diag_sensor_state_interrupt
{
// Type of sensor hardware interrupt
required sns_diag_interrupt interrupt = 1;
// Timestamp when the interrupt occurred
required fixed64 timestamp = 2;
}
// Sensor State Raw
// This message defines the fields used to log sensor state information
// pertaining to raw uncalibrated physical sensor data.
// This message is used as the payload field of sns_diag_sensor_log
message sns_diag_sensor_state_raw
{
repeated sns_diag_batch_sample sample = 1;
}
// Client API Response Message
message sns_diag_client_resp_msg
{
// The error response sent to the client
required sns_std_error error = 1;
}
// Client API log packet
// This message defines the fields to log all
// Request, Response and Event messages at the Client API
// This message is used as the payload field of sns_diag_sensor_log
message sns_diag_client_api_log
{
// The client id that identifies the client connection
required fixed64 client_id = 1;
// Data type of the source sensor
required string src_sensor_type = 2;
// The Client API log packet payload
oneof client_api_log_payload
{
// Client API Request message as defined in sns_client.proto
sns_client_request_msg request_payload = 100;
// Client API Event message as defined in sns_client.proto
sns_client_event_msg event_payload = 101;
// Client API Response message as defined in sns_diag.proto
sns_diag_client_resp_msg resp_payload = 102;
}
}
// Sensor API log packet
// This message defines the fields to log all Request and
// Event messages at the Sensor API
// This message is used as the payload field of sns_diag_sensor_log
message sns_diag_sensor_api_log
{
// The message id of the message being logged
required fixed32 message_id = 1;
// Timestamp associated with this message
required fixed64 timestamp = 2;
// Data stream associated with this message
optional fixed64 stream_id = 3;
// The Sensor API log packet payload
oneof sensor_api_log_payload
{
// Sensor API Event message containing sensor specific event message
// as defined in the sensor's proto api file
sns_diag_opaque_payload opaque_payload = 100;
// Sensor API Request message as defined in sns_std.proto
sns_std_request request_payload = 101;
}
}
// Sensor log packet
// This message defines the fields to log all sensor specific
// messages. This includes Sensor API messages, Client API messages,
// HW Interrupt messages, Sensor State messages
message sns_diag_sensor_log
{
// Log ID for the log packet
required fixed32 log_id = 1;
// Timestamp when log packet.was generated
required fixed64 timestamp = 2;
// Sensor UID for the log packet
required sns_std_suid suid = 3;
// Data type provided by the Sensor UID
required string sensor_type = 4;
// The instance id of the sensor to which this
// message was passed to or obtained from
required fixed64 instance_id = 5;
// The log packet payload
oneof sensor_log_payload
{
// Sensor specific Sensor State Algo message
sns_diag_opaque_payload opaque_payload = 100;
// Sensor API message
sns_diag_sensor_api_log sensor_api_payload = 101;
// Client API message
sns_diag_client_api_log client_api_payload = 102;
// Sensor State Raw message
sns_diag_sensor_state_raw sensor_state_raw_payload = 103;
// Sensor State Hardware Interrupt message
sns_diag_sensor_state_interrupt sensor_state_interrupt_payload = 104;
}
}
// Sensor Instance Mapping Log Packet
// This message defines the fields used to log sensor instance mapping
// information. This message is used as the payload field of sns_diag_fw_log
message sns_diag_instance_map_log
{
// The instance id of the source sensor instance
required fixed64 src_instance_id = 1;
// Array of destination Sensor Instance IDs or Sensor IDs that the
// source sensor instance is feeding to.
// If no destination instance ids are specified it signifies
// deletion of the source instance
repeated fixed64 dest_instance_id = 2;
// Array of data stream ids that the
// source sensor instance is feeding to
repeated fixed64 stream_id = 3;
}
// Island mode states
enum sns_diag_island_state
{
option (nanopb_enumopt).long_names = false;
// In Island mode
SNS_DIAG_ISLAND_STATE_IN_ISLAND_MODE = 0;
// Not in Island Mode
SNS_DIAG_ISLAND_STATE_NOT_IN_ISLAND_MODE = 1;
// Island mode disabled
SNS_DIAG_ISLAND_STATE_ISLAND_DISABLED = 2;
}
// Island mode transition Log Packet
// This message defines the fields used to log
// transitions into and out of island mode
//
// This log packet is generated each time the system transitions into or out
// of island mode or when island mode is disabled or when triggered by
// a request to the diag sensor
//
// This message is used as the payload field of sns_diag_fw_log
message sns_diag_island_transition_log
{
// Timestamp of the transition
//
// When logpacket is triggered, this timestamp will retain
// the timestamp when the current state became effective.
required fixed64 timestamp = 1;
// Island state after transition is completed
required sns_diag_island_state island_state = 2;
// User defined cookie
// Used by test scripts to identify logs triggered
// by messages sent to the SSC
optional fixed64 cookie = 3;
// Total time system spent in island since device boot(micro seconds)
optional fixed64 total_island_time = 4;
}
// Island exit vote Log Packet
// This message defines the fields used to log vote for island mode exits.
//
// This log packet is generated at each call to island_exit()
message sns_diag_island_exit_vote_log
{
// Timestamp
required fixed64 timestamp = 1;
// SUID of the Sensor responsible for the vote
optional sns_std_suid sensor = 2;
}
// Heap IDs
enum sns_diag_heap_id
{
option (nanopb_enumopt).long_names = false;
// Primary Heap
SNS_DIAG_HEAP_ID_HEAP_MAIN = 0;
// Island Heap
SNS_DIAG_HEAP_ID_HEAP_ISLAND = 1;
// PRAM Heap
SNS_DIAG_HEAP_ID_HEAP_PRAM = 2;
// EVENT Heap
SNS_DIAG_HEAP_ID_HEAP_EVENT = 3;
// BATCH Heap
SNS_DIAG_HEAP_ID_HEAP_BATCH = 4;
// Event buffer
SNS_DIAG_HEAP_ID_EVENT_BUFFER = 100;
}
// Memory status Log Packet
// This message defines the fields used to log the memory utilization
// This log packet is generated when a request is sent to the diag sensor
message sns_diag_mem_utilization_log
{
// Timestamp
required fixed64 timestamp = 1;
// Heap ID
required sns_diag_heap_id heap_id = 2;
// Total Memory
required fixed32 total_memory = 3;
// Used Memory
required fixed32 used_memory = 4;
// User defined cookie
// Used by test scripts to identify logs triggered
// by messages sent to the SSC
optional fixed64 cookie = 5;
}
// Event Service status Log Packet
// This message defines the fields used to log the memory utilization and
// other statistics from the Event Service.
// Used only for SW debug; *not guaranteed to be backward compatible*
// This log packet is generated when a request is sent to the diag sensor
message sns_diag_event_service_log
{
// Timestamp
required fixed64 timestamp = 1;
// User defined cookie
// Used by test scripts to identify logs triggered
// by messages sent to the SSC
optional fixed64 cookie = 2;
message heap_stats
{
enum sns_event_service_heap_id
{
SNS_EVENT_SERVICE_HEAP_ID_ISLAND = 0;
SNS_EVENT_SERVICE_HEAP_ID_MAIN = 1;
}
// Heap ID
required sns_event_service_heap_id heap_id = 1;
// Total memory available in heap (in blocks)
required fixed32 total_memory = 2;
// Current memory consumption (in blocks)
required fixed32 used_memory = 3;
// Maximum memory consumption since last log packet (in blocks)
required fixed32 max_memory = 4;
// Total clusters available
required fixed32 total_clusters = 5;
// Current number of clusters in use
required fixed32 used_clusters = 6;
// Maximum in-use clusters since last log packet
required fixed32 max_clusters = 7;
// Number of allocation failues since the last DIAG log packet
// If Island will result in island exit; else causes dropped samples
required fixed32 alloc_failures = 8;
// Largest event allocation since the last DIAG log packet (in bytes)
required fixed32 max_size = 9;
}
repeated heap_stats stats = 3;
}
// Framework log packet
// This message defines the fields to log all framework messages. This
// includes memory, island, instance mapping messages.
message sns_diag_fw_log
{
// Log ID for the log packet
required fixed32 log_id = 1;
// Timestamp when log packet.was generated
required fixed64 timestamp = 2;
// The log packet payload
oneof fw_log_payload
{
// Sensor Instance Map message
sns_diag_instance_map_log instance_map_payload = 100;
// Sensor Island Mode
sns_diag_island_transition_log island_mode_payload = 101;
// Sensors Island Exit vote
// NOT SUPPORTED YET.
sns_diag_island_exit_vote_log island_exit_vote_payload = 102;
// Sensors Memory Utilization
sns_diag_mem_utilization_log memory_utilization_payload = 103;
// Event Service status log
sns_diag_event_service_log event_service_payload = 104;
}
}