The sensors app is responsible to gather all data from the on-board sensors (gyroscope, accelerometer, magnetometer, barometer) as well as the ADC. All data is then stored globally in order to be accessible by other apps.
The sensors app can be started in the NuttShell using:
Of course in most setups it should be started in the startup script and therefore running by default. The sensors app is performing a few glue-logic and housekeeping tasks:
- It assembles a synchronized sensor_combined uORB message with all main sensors in one packet
- It takes care of transforming the raw RC inputs into a scaled and mapped manual control message
- It updates sensor offsets by copying them from the parameter storage (also on change) to the sensor drivers
In fact the sensors app is not needed at all to just read the individual sensors. The actual sensor drivers are in the src/drivers directory and named after each sensor.