mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-21 02:13:33 +08:00
sensors: move mag aggregation to new VehicleMagnetometer WorkItem
- purge all reminaing magnetometer IOCTL usage - mag calibration add off diagonal (soft iron) scale factors
This commit is contained in:
@@ -51,30 +51,4 @@
|
||||
|
||||
#include <uORB/topics/sensor_mag.h>
|
||||
|
||||
/** mag scaling factors; Vout = (Vin * Vscale) + Voffset */
|
||||
struct mag_calibration_s {
|
||||
float x_offset;
|
||||
float x_scale;
|
||||
float y_offset;
|
||||
float y_scale;
|
||||
float z_offset;
|
||||
float z_scale;
|
||||
};
|
||||
|
||||
/*
|
||||
* ioctl() definitions
|
||||
*/
|
||||
|
||||
#define _MAGIOCBASE (0x2400)
|
||||
#define _MAGIOC(_n) (_PX4_IOC(_MAGIOCBASE, _n))
|
||||
|
||||
/** set the mag scaling constants to the structure pointed to by (arg) */
|
||||
#define MAGIOCSSCALE _MAGIOC(4)
|
||||
|
||||
/** copy the mag scaling constants to the structure pointed to by (arg) */
|
||||
#define MAGIOCGSCALE _MAGIOC(5)
|
||||
|
||||
/** determine if mag is external or onboard */
|
||||
#define MAGIOCGEXTERNAL _MAGIOC(11)
|
||||
|
||||
#endif /* _DRV_MAG_H */
|
||||
|
||||
@@ -307,8 +307,6 @@ ADIS16448::print_status()
|
||||
perf_print_counter(_perf_transfer);
|
||||
perf_print_counter(_perf_bad_transfer);
|
||||
perf_print_counter(_perf_crc_bad);
|
||||
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -75,8 +75,6 @@ void ICM20948_AK09916::PrintInfo()
|
||||
{
|
||||
perf_print_counter(_bad_transfer_perf);
|
||||
perf_print_counter(_magnetic_sensor_overflow_perf);
|
||||
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
void ICM20948_AK09916::Run()
|
||||
|
||||
@@ -75,8 +75,6 @@ void MPU9250_AK8963::PrintInfo()
|
||||
{
|
||||
perf_print_counter(_bad_transfer_perf);
|
||||
perf_print_counter(_magnetic_sensor_overflow_perf);
|
||||
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
void MPU9250_AK8963::Run()
|
||||
|
||||
@@ -124,8 +124,6 @@ public:
|
||||
bool ak8963_check_id(uint8_t &id);
|
||||
bool ak8963_read_adjustments();
|
||||
|
||||
void print_status() { _px4_mag.print_status(); }
|
||||
|
||||
protected:
|
||||
device::Device *_interface;
|
||||
|
||||
|
||||
@@ -669,6 +669,4 @@ MPU9250::print_status()
|
||||
perf_print_counter(_sample_perf);
|
||||
perf_print_counter(_bad_registers);
|
||||
perf_print_counter(_duplicates);
|
||||
|
||||
_mag.print_status();
|
||||
}
|
||||
|
||||
@@ -84,8 +84,6 @@ void AK09916::print_status()
|
||||
perf_print_counter(_bad_register_perf);
|
||||
perf_print_counter(_bad_transfer_perf);
|
||||
perf_print_counter(_magnetic_sensor_overflow_perf);
|
||||
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
int AK09916::probe()
|
||||
|
||||
@@ -84,8 +84,6 @@ void AK8963::print_status()
|
||||
perf_print_counter(_bad_register_perf);
|
||||
perf_print_counter(_bad_transfer_perf);
|
||||
perf_print_counter(_magnetic_sensor_overflow_perf);
|
||||
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
int AK8963::probe()
|
||||
|
||||
@@ -549,7 +549,6 @@ void BMM150::print_status()
|
||||
perf_print_counter(_sample_perf);
|
||||
perf_print_counter(_bad_transfers);
|
||||
perf_print_counter(_good_transfers);
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
int BMM150::self_test()
|
||||
|
||||
@@ -482,5 +482,4 @@ void HMC5883::print_status()
|
||||
perf_print_counter(_sample_perf);
|
||||
perf_print_counter(_comms_errors);
|
||||
printf("interval: %u us\n", _measure_interval);
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
#include <drivers/device/i2c.h>
|
||||
#include <px4_platform_common/i2c_spi_buses.h>
|
||||
#include <lib/perf/perf_counter.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <drivers/drv_hrt.h>
|
||||
#include <drivers/drv_device.h>
|
||||
#include <lib/drivers/magnetometer/PX4Magnetometer.hpp>
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
|
||||
#include <px4_platform_common/px4_config.h>
|
||||
#include <drivers/device/i2c.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <drivers/drv_device.h>
|
||||
|
||||
#include "hmc5883.h"
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
|
||||
#include <px4_platform_common/px4_config.h>
|
||||
#include <drivers/device/spi.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <drivers/drv_device.h>
|
||||
|
||||
#include "hmc5883.h"
|
||||
|
||||
@@ -81,7 +81,6 @@ void IST8308::print_status()
|
||||
perf_print_counter(_transfer_perf);
|
||||
perf_print_counter(_bad_register_perf);
|
||||
perf_print_counter(_bad_transfer_perf);
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
int IST8308::probe()
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
#include <lib/drivers/magnetometer/PX4Magnetometer.hpp>
|
||||
#include <lib/perf/perf_counter.h>
|
||||
#include <drivers/device/i2c.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <drivers/drv_hrt.h>
|
||||
#include <drivers/drv_device.h>
|
||||
|
||||
@@ -581,7 +580,6 @@ void IST8310::print_status()
|
||||
perf_print_counter(_sample_perf);
|
||||
perf_print_counter(_comms_errors);
|
||||
printf("poll interval: %u interval\n", _measure_interval);
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
I2CSPIDriverBase *
|
||||
|
||||
@@ -163,7 +163,6 @@ LIS2MDL::print_status()
|
||||
perf_print_counter(_sample_perf);
|
||||
perf_print_counter(_comms_errors);
|
||||
PX4_INFO("poll interval: %u", _measure_interval);
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
|
||||
#include <drivers/device/i2c.h>
|
||||
#include <drivers/drv_hrt.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <px4_platform_common/i2c_spi_buses.h>
|
||||
#include <lib/perf/perf_counter.h>
|
||||
#include <px4_platform_common/defines.h>
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#include <drivers/device/i2c.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <drivers/drv_device.h>
|
||||
|
||||
#include "board_config.h"
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#include <drivers/device/spi.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <drivers/drv_device.h>
|
||||
|
||||
#include "board_config.h"
|
||||
|
||||
@@ -195,7 +195,6 @@ void LIS3MDL::print_status()
|
||||
perf_print_counter(_sample_perf);
|
||||
perf_print_counter(_comms_errors);
|
||||
PX4_INFO("poll interval: %u", _measure_interval);
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
int LIS3MDL::reset()
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
|
||||
#include <drivers/device/i2c.h>
|
||||
#include <drivers/drv_hrt.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <px4_platform_common/i2c_spi_buses.h>
|
||||
#include <lib/perf/perf_counter.h>
|
||||
#include <px4_platform_common/defines.h>
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#include <drivers/device/i2c.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <drivers/drv_device.h>
|
||||
|
||||
#include "board_config.h"
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#include <drivers/device/spi.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <drivers/drv_device.h>
|
||||
|
||||
#include "board_config.h"
|
||||
|
||||
@@ -334,5 +334,4 @@ void LSM303AGR::print_status()
|
||||
perf_print_counter(_mag_sample_perf);
|
||||
perf_print_counter(_bad_registers);
|
||||
perf_print_counter(_bad_values);
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
@@ -35,7 +35,6 @@
|
||||
|
||||
#include <drivers/drv_hrt.h>
|
||||
#include <drivers/device/spi.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <lib/perf/perf_counter.h>
|
||||
#include <px4_platform_common/i2c_spi_buses.h>
|
||||
#include <lib/drivers/magnetometer/PX4Magnetometer.hpp>
|
||||
|
||||
@@ -200,5 +200,4 @@ void LSM9DS1_MAG::print_status()
|
||||
perf_print_counter(_interval_perf);
|
||||
perf_print_counter(_transfer_perf);
|
||||
perf_print_counter(_data_overrun_perf);
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
@@ -308,5 +308,4 @@ void QMC5883::print_status()
|
||||
perf_print_counter(_sample_perf);
|
||||
perf_print_counter(_comms_errors);
|
||||
printf("interval: %u us\n", _measure_interval);
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
#include <drivers/device/i2c.h>
|
||||
#include <px4_platform_common/i2c_spi_buses.h>
|
||||
#include <lib/perf/perf_counter.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <drivers/drv_hrt.h>
|
||||
#include <drivers/drv_device.h>
|
||||
#include <lib/drivers/magnetometer/PX4Magnetometer.hpp>
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
|
||||
#include <px4_platform_common/px4_config.h>
|
||||
#include <drivers/device/i2c.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <drivers/drv_device.h>
|
||||
|
||||
#include "qmc5883.h"
|
||||
|
||||
@@ -267,7 +267,6 @@ void RM3100::print_status()
|
||||
perf_print_counter(_sample_perf);
|
||||
perf_print_counter(_comms_errors);
|
||||
PX4_INFO("poll interval: %u", _measure_interval);
|
||||
_px4_mag.print_status();
|
||||
}
|
||||
|
||||
int RM3100::reset()
|
||||
|
||||
@@ -41,7 +41,6 @@
|
||||
|
||||
#include <drivers/device/i2c.h>
|
||||
#include <drivers/drv_hrt.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <lib/perf/perf_counter.h>
|
||||
#include <px4_platform_common/defines.h>
|
||||
#include <px4_platform_common/i2c_spi_buses.h>
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#include <drivers/device/i2c.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <drivers/drv_device.h>
|
||||
|
||||
#include "board_config.h"
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#include <drivers/device/spi.h>
|
||||
#include <drivers/drv_mag.h>
|
||||
#include <drivers/drv_device.h>
|
||||
|
||||
#include "board_config.h"
|
||||
|
||||
Reference in New Issue
Block a user