Skip to main content
Use the following tools to perform functional testing, set up the build environment, and functional diagnosis.

Sensor functional test tools

The test tools ensure the accuracy, reliability, and optimal performance of both the hardware-based and software-based sensors in your applications. The following tools facilitate comprehensive testing of the sensor functionalities.
  • The sensor info test provides detailed information about the sensor.
  • The driver acceptance test ensures that the sensor drivers are functioning correctly and are compatible with Qualcomm sensing hub (QSH).
  • The sensor workhorse is a tool to stress-test the sensors under various conditions.
The sensor info test ssc_sensor_info is an application within the QSH test suite. It lists the QSH supported sensors and their attributes. You can run the following query at high-level operating system (HLOS) to get the attributes of a specified data type.
The following table describes the parameters used by the ssc_sensor_info test application. Table : Parameters of ssc_sensor_info Sensor info test examples
  • Query the sensor attributes and generate diagnostic logs.
  • Query all accel sensor attributes.
Output The test application generates the following output:
  • Standard output on console
  • Result file
The ssc_drva_test driver acceptance test tool does the following:
  • Performs sensor driver validation and operates at the QSH sensor API layer.
  • Executes a range of sensor use cases, such as streaming the sensor data and batching a sensor at a selected sampling frequency.
  • Accepts the parameters directly from the command line and eliminates the need for compile-time options.
This approach makes it a convenient and efficient tool to perform basic driver-level tests or validations at HLOS.
The following table describes the parameters used by the ssc_drva_test test application. Table : Parameters of ssc_drva_test
FlagTypeValueUnitNotes
sensorstring
  • accel
  • gyro
  • sensor_temperature
  • pressure
  • mag
  • humidity
  • ambient_temperature
  • ultra_violet
  • proximity
  • ambient_light
  • rgb
  • hall
N.A.Mandatory argument: limited to the available sensor types.
durationfloatPositive values onlySecondsMandatory argument: sensor test duration in seconds.
sample_ratefloat
  • Positive floating point number values
  • -1: Maximum sampling rate
  • -2: Minimum sampling rate
HzMandatory for streaming sensors, optional for on-change sensors.
batch_periodfloatPositive floating point numbersSecondsThis period is the same as the report period and indicates how long to buffer the samples and report outside of the low-power processor.
iterationsintPositive values onlyN.A.Provides the number of times the test must be repeated.
num_samplesintPositive values onlyN.A.Indicates the minimum number of samples intended to be collected. If a num_samples parameter is specified and the test does not collect enough samples during the test, the test sensor generates FAIL.
factory_testint
  • 0 (SNS_PHYSICAL_SENSOR_TEST_TYPE_SW)
  • 1 (SNS_PHYSICAL_SENSOR_TEST_TYPE_HW)
  • 2 (SNS_PHYSICAL_SENSOR_TEST_TYPE_FACTORY)
  • 3 (SNS_PHYSICAL_SENSOR_TEST_TYPE_COM)
N.A.Selects the type of factory test (from the value column) that you want to run.
Driver acceptance test examples
  • Stream a single sensor at a selected sampling frequency for a known duration:
  • Batch a single sensor at a selected sampling frequency and report period for a known duration:
  • Self-test for accelerometer (hardware self-test), which checks the health and basic functionality of the accelerometer sensor by running the built-in diagnostic routines:
Output On the console command line, this test outputs PASS or FAIL, which indicates only the test execution status. The see_workhorse sensor workhorse tool does the following:
  • Operates specific sensors based on the command-line arguments.
  • Streamlines sensor testing and data collection in various configurations.
The following table describes the parameters used by the see_workhorse tool. Table : Parameters of see_workhorse
FlagsTypeValue rangeUnitsNotes
sensorstring
  • accel
  • gyro
  • sensor_temperature
  • pressure
  • mag
  • humidity
  • ambient_temperature
  • ultra_violet
  • proximity
  • ambient_light
  • rgb
  • hall
N.A.Mandatory argument: Limited to the available sensor types.
on_changeint0 | 1N.A.
  • 0 selects using SNS_STD_SENSOR_STREAM_TYPE_STREAMING.
  • 1 selects using SNS_STD_SENSOR_STREAM_TYPE_ON_CHANGE.
sample_ratefloat
  • Positive floating point number values
  • min: Minimum sampling rate
  • max: Maximum sampling rate
HzMandatory for streaming sensors, optional for on-change sensors.
batch_periodfloatPositive floating point numbersSecondsSame as the batch period or report period.
calibratedint0 | 1N.A.
  • 0: nop (default).
  • 1: if the sensor_type is gyro or mag, then also activate gyro_cal or mag_cal, respectively.
wakeupint0 | 1N.A.
  • 0: sets suspend_config wake-up to SEE_CLIENT_DELIVERY_NO_WAKEUP.
  • 1: sets suspend_config wake-up to SEE_CLIENT_DELIVERY_WAKEUP (default).
display_eventsint0 | 1N.A.Display sensor events in JSON format, using the event callbacks.
Sensor workhorse examples For instance, use the following command to stream the accelerometer data at the maximum rate for 30 sec:

Sensing hub simulator (SHS)

SHS enables you to build algorithms for QSH using a x86 Linux platform. See Sensing hub simulator, for more information.

Miscellaneous tools

Use the following tools for the build environment and functional diagnosis:
  • Qualcomm® Hexagon™ DSP toolchain: Hexagon 8.4.07 toolchain for the build environment.
  • QXDM Professional™ Tool: A diagnostic client used for functional diagnosis and aDSP-side debugging.
    • The QSH framework can call the macros and APIs directly to send the debug information to print strings and log packets.
    • The QXDM logs are primarily used for the aDSP side debugging. For more information, see Troubleshoot sensors.
    • QXDM Professional requires a USB connection. The application processors have direct connectivity to a USB port, whereas the aDSP doesn’t have such connectivity. For more information, see Qualcomm® Package Manager 3 Documentation.