mirror of
https://gitee.com/xiaohuolufeihua/bizhang_-obav.git
synced 2026-05-21 01:12:11 +00:00
sensors: always start baro/GPS/mag aggregators if SYS_HAS_* set
- add new SYS_HAS_GPS parameter
This commit is contained in:
@@ -191,6 +191,20 @@ PARAM_DEFINE_INT32(SYS_CAL_TMIN, 5);
|
|||||||
*/
|
*/
|
||||||
PARAM_DEFINE_INT32(SYS_CAL_TMAX, 10);
|
PARAM_DEFINE_INT32(SYS_CAL_TMAX, 10);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Control if the vehicle has a GPS
|
||||||
|
*
|
||||||
|
* Disable this if the system has no GPS.
|
||||||
|
* If disabled, the sensors hub will not process sensor_gps,
|
||||||
|
* and GPS will not be available for the rest of the system.
|
||||||
|
*
|
||||||
|
* @boolean
|
||||||
|
* @reboot_required true
|
||||||
|
*
|
||||||
|
* @group System
|
||||||
|
*/
|
||||||
|
PARAM_DEFINE_INT32(SYS_HAS_GPS, 1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Control if the vehicle has a magnetometer
|
* Control if the vehicle has a magnetometer
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -219,6 +219,7 @@ private:
|
|||||||
|
|
||||||
DEFINE_PARAMETERS(
|
DEFINE_PARAMETERS(
|
||||||
(ParamBool<px4::params::SYS_HAS_BARO>) _param_sys_has_baro,
|
(ParamBool<px4::params::SYS_HAS_BARO>) _param_sys_has_baro,
|
||||||
|
(ParamBool<px4::params::SYS_HAS_GPS>) _param_sys_has_gps,
|
||||||
(ParamBool<px4::params::SYS_HAS_MAG>) _param_sys_has_mag,
|
(ParamBool<px4::params::SYS_HAS_MAG>) _param_sys_has_mag,
|
||||||
(ParamBool<px4::params::SENS_IMU_MODE>) _param_sens_imu_mode
|
(ParamBool<px4::params::SENS_IMU_MODE>) _param_sens_imu_mode
|
||||||
)
|
)
|
||||||
@@ -534,7 +535,6 @@ void Sensors::InitializeVehicleAirData()
|
|||||||
{
|
{
|
||||||
if (_param_sys_has_baro.get()) {
|
if (_param_sys_has_baro.get()) {
|
||||||
if (_vehicle_air_data == nullptr) {
|
if (_vehicle_air_data == nullptr) {
|
||||||
if (orb_exists(ORB_ID(sensor_baro), 0) == PX4_OK) {
|
|
||||||
_vehicle_air_data = new VehicleAirData();
|
_vehicle_air_data = new VehicleAirData();
|
||||||
|
|
||||||
if (_vehicle_air_data) {
|
if (_vehicle_air_data) {
|
||||||
@@ -542,13 +542,12 @@ void Sensors::InitializeVehicleAirData()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sensors::InitializeVehicleGPSPosition()
|
void Sensors::InitializeVehicleGPSPosition()
|
||||||
{
|
{
|
||||||
|
if (_param_sys_has_gps.get()) {
|
||||||
if (_vehicle_gps_position == nullptr) {
|
if (_vehicle_gps_position == nullptr) {
|
||||||
if (orb_exists(ORB_ID(sensor_gps), 0) == PX4_OK) {
|
|
||||||
_vehicle_gps_position = new VehicleGPSPosition();
|
_vehicle_gps_position = new VehicleGPSPosition();
|
||||||
|
|
||||||
if (_vehicle_gps_position) {
|
if (_vehicle_gps_position) {
|
||||||
@@ -602,7 +601,6 @@ void Sensors::InitializeVehicleMagnetometer()
|
|||||||
{
|
{
|
||||||
if (_param_sys_has_mag.get()) {
|
if (_param_sys_has_mag.get()) {
|
||||||
if (_vehicle_magnetometer == nullptr) {
|
if (_vehicle_magnetometer == nullptr) {
|
||||||
if (orb_exists(ORB_ID(sensor_mag), 0) == PX4_OK) {
|
|
||||||
_vehicle_magnetometer = new VehicleMagnetometer();
|
_vehicle_magnetometer = new VehicleMagnetometer();
|
||||||
|
|
||||||
if (_vehicle_magnetometer) {
|
if (_vehicle_magnetometer) {
|
||||||
@@ -610,7 +608,6 @@ void Sensors::InitializeVehicleMagnetometer()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sensors::Run()
|
void Sensors::Run()
|
||||||
|
|||||||
Reference in New Issue
Block a user