注:本讲解基于V1.10.2源码版本
一、“sensor_combined”的来源
module.cpp (src\templates\module) line 166 :
struct sensor_combined_s sensor_combined;
二、“sensor_combined”的公告
//muorb_test_example.cpp (src\drivers\qurt\tests\muorb) line 47 :
orb_advert_t pub_sc = orb_advertise(ORB_ID(sensor_combined), &sc);
三、“sensor_combined”的发布
MuorbTestExample::DefaultTest in muorb_test_example.cpp (src\drivers\qurt\tests\muorb) :
orb_publish(ORB_ID(sensor_combined), pub_sc, &sc);
四、“sensor_combined”的订阅
AttitudeEstimatorQ::task_main in attitude_estimator_q_main.cpp
(src\modules\attitude_estimator_q) : _sensors_sub = orb_subscribe(ORB_ID(sensorcopy_combined));
五、“sensor_combined”的复制
attitude_estimator_q_main.cpp (src\modules\attitude_estimator_q) line 243 :
if (orb_copy(ORB_ID(sensor_combined), _sensors_sub, &sensors) == PX4_OK) {