mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-03-21 13:28:58 +01:00
renamed Magneto to Mag
This commit is contained in:
parent
49b8e0d699
commit
1236bf3ed9
@ -64,8 +64,8 @@
|
||||
#include "gyrostate.h"
|
||||
#include "gyrosensor.h"
|
||||
#include "homelocation.h"
|
||||
#include "magnetosensor.h"
|
||||
#include "magnetostate.h"
|
||||
#include "magsensor.h"
|
||||
#include "magstate.h"
|
||||
#include "positionstate.h"
|
||||
#include "ekfconfiguration.h"
|
||||
#include "ekfstatevariance.h"
|
||||
@ -125,7 +125,7 @@ static void settingsUpdatedCb(UAVObjEvent *objEv);
|
||||
|
||||
static int32_t getNED(GPSPositionData *gpsPosition, float *NED);
|
||||
|
||||
static void magOffsetEstimation(MagnetoSensorData *mag);
|
||||
static void magOffsetEstimation(MagSensorData *mag);
|
||||
|
||||
// check for invalid values
|
||||
static inline bool invalid(float data)
|
||||
@ -167,8 +167,8 @@ int32_t AttitudeInitialize(void)
|
||||
GyroStateInitialize();
|
||||
AccelSensorInitialize();
|
||||
AccelStateInitialize();
|
||||
MagnetoSensorInitialize();
|
||||
MagnetoStateInitialize();
|
||||
MagSensorInitialize();
|
||||
MagStateInitialize();
|
||||
AirspeedSensorInitialize();
|
||||
AirspeedStateInitialize();
|
||||
BaroSensorInitialize();
|
||||
@ -230,7 +230,7 @@ int32_t AttitudeStart(void)
|
||||
|
||||
GyroSensorConnectQueue(gyroQueue);
|
||||
AccelSensorConnectQueue(accelQueue);
|
||||
MagnetoSensorConnectQueue(magQueue);
|
||||
MagSensorConnectQueue(magQueue);
|
||||
AirspeedSensorConnectQueue(airspeedQueue);
|
||||
BaroSensorConnectQueue(baroQueue);
|
||||
GPSPositionConnectQueue(gpsQueue);
|
||||
@ -335,10 +335,10 @@ static int32_t updateAttitudeComplementary(bool first_run)
|
||||
if (xQueueReceive(magQueue, &ev, 0 / portTICK_RATE_MS) != pdTRUE) {
|
||||
return -1;
|
||||
}
|
||||
MagnetoSensorData magData;
|
||||
MagnetoSensorGet(&magData);
|
||||
MagSensorData magData;
|
||||
MagSensorGet(&magData);
|
||||
#else
|
||||
MagnetoSensorData magData;
|
||||
MagSensorData magData;
|
||||
magData.x = 100.0f;
|
||||
magData.y = 0.0f;
|
||||
magData.z = 0.0f;
|
||||
@ -434,20 +434,20 @@ static int32_t updateAttitudeComplementary(bool first_run)
|
||||
// Rotate gravity to body frame and cross with accels
|
||||
float brot[3];
|
||||
float Rbe[3][3];
|
||||
MagnetoSensorData mag;
|
||||
MagSensorData mag;
|
||||
|
||||
Quaternion2R(q, Rbe);
|
||||
MagnetoSensorGet(&mag);
|
||||
MagSensorGet(&mag);
|
||||
|
||||
// TODO: separate filter!
|
||||
if (revoCalibration.MagBiasNullingRate > 0) {
|
||||
magOffsetEstimation(&mag);
|
||||
}
|
||||
MagnetoStateData mags;
|
||||
MagStateData mags;
|
||||
mags.x = mag.x;
|
||||
mags.y = mag.y;
|
||||
mags.z = mag.z;
|
||||
MagnetoStateSet(&mags);
|
||||
MagStateSet(&mags);
|
||||
|
||||
// If the mag is producing bad data don't use it (normally bad calibration)
|
||||
if (!isnan(mag.x) && !isinf(mag.x) && !isnan(mag.y) && !isinf(mag.y) && !isnan(mag.z) && !isinf(mag.z)) {
|
||||
@ -612,7 +612,7 @@ static int32_t updateAttitudeINSGPS(bool first_run, bool outdoor_mode)
|
||||
UAVObjEvent ev;
|
||||
GyroSensorData gyroSensorData;
|
||||
AccelSensorData accelSensorData;
|
||||
MagnetoStateData magData;
|
||||
MagStateData magData;
|
||||
AirspeedSensorData airspeedData;
|
||||
BaroSensorData baroData;
|
||||
GPSPositionData gpsData;
|
||||
@ -694,17 +694,17 @@ static int32_t updateAttitudeINSGPS(bool first_run, bool outdoor_mode)
|
||||
AccelSensorGet(&accelSensorData);
|
||||
// TODO: separate filter!
|
||||
if (mag_updated) {
|
||||
MagnetoSensorData mags;
|
||||
MagnetoSensorGet(&mags);
|
||||
MagSensorData mags;
|
||||
MagSensorGet(&mags);
|
||||
if (revoCalibration.MagBiasNullingRate > 0) {
|
||||
magOffsetEstimation(&mags);
|
||||
}
|
||||
magData.x = mags.x;
|
||||
magData.y = mags.y;
|
||||
magData.z = mags.z;
|
||||
MagnetoStateSet(&magData);
|
||||
MagStateSet(&magData);
|
||||
}
|
||||
MagnetoStateGet(&magData);
|
||||
MagStateGet(&magData);
|
||||
|
||||
BaroSensorGet(&baroData);
|
||||
AirspeedSensorGet(&airspeedData);
|
||||
@ -860,7 +860,7 @@ static int32_t updateAttitudeINSGPS(bool first_run, bool outdoor_mode)
|
||||
}
|
||||
|
||||
// xQueueReceive(magQueue, &ev, 100 / portTICK_RATE_MS);
|
||||
// MagnetoSensorGet(&magData);
|
||||
// MagSensorGet(&magData);
|
||||
|
||||
AttitudeStateData attitudeState;
|
||||
AttitudeStateGet(&attitudeState);
|
||||
@ -1162,10 +1162,10 @@ static void settingsUpdatedCb(UAVObjEvent *ev)
|
||||
|
||||
/**
|
||||
* Perform an update of the @ref MagBias based on
|
||||
* Magnetometer Offset Cancellation: Theory and Implementation,
|
||||
* Magmeter Offset Cancellation: Theory and Implementation,
|
||||
* revisited William Premerlani, October 14, 2011
|
||||
*/
|
||||
static void magOffsetEstimation(MagnetoSensorData *mag)
|
||||
static void magOffsetEstimation(MagSensorData *mag)
|
||||
{
|
||||
#if 0
|
||||
// Constants, to possibly go into a UAVO
|
||||
|
@ -41,7 +41,7 @@
|
||||
#include "hwsettings.h"
|
||||
#include "magbaro.h"
|
||||
#include "barosensor.h" // object that will be updated by the module
|
||||
#include "magnetosensor.h"
|
||||
#include "magsensor.h"
|
||||
#include "taskinfo.h"
|
||||
|
||||
// Private constants
|
||||
@ -109,7 +109,7 @@ int32_t MagBaroInitialize()
|
||||
|
||||
if (magbaroEnabled) {
|
||||
#if defined(PIOS_INCLUDE_HMC5883)
|
||||
MagnetoSensorInitialize();
|
||||
MagSensorInitialize();
|
||||
#endif
|
||||
|
||||
#if defined(PIOS_INCLUDE_BMP085)
|
||||
@ -149,7 +149,7 @@ static void magbaroTask(__attribute__((unused)) void *parameters)
|
||||
#endif
|
||||
|
||||
#if defined(PIOS_INCLUDE_HMC5883)
|
||||
MagnetoSensorData mag;
|
||||
MagSensorData mag;
|
||||
PIOS_HMC5883_Init(&pios_hmc5883_cfg);
|
||||
uint32_t mag_update_time = PIOS_DELAY_GetRaw();
|
||||
#endif
|
||||
@ -207,7 +207,7 @@ static void magbaroTask(__attribute__((unused)) void *parameters)
|
||||
mag.x = mags[0];
|
||||
mag.y = mags[1];
|
||||
mag.z = mags[2];
|
||||
MagnetoSensorSet(&mag);
|
||||
MagSensorSet(&mag);
|
||||
mag_update_time = PIOS_DELAY_GetRaw();
|
||||
}
|
||||
#endif
|
||||
|
@ -4,7 +4,7 @@
|
||||
* @{
|
||||
* @addtogroup Sensors
|
||||
* @brief Acquires sensor data
|
||||
* Specifically updates the the @ref GyroSensor, @ref AccelSensor, and @ref MagnetoSensor objects
|
||||
* Specifically updates the the @ref GyroSensor, @ref AccelSensor, and @ref MagSensor objects
|
||||
* @{
|
||||
*
|
||||
* @file sensors.c
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
/**
|
||||
* Input objects: None, takes sensor data via pios
|
||||
* Output objects: @ref GyroSensor @ref AccelSensor @ref MagnetoSensor
|
||||
* Output objects: @ref GyroSensor @ref AccelSensor @ref MagSensor
|
||||
*
|
||||
* The module executes in its own thread.
|
||||
*
|
||||
@ -49,7 +49,7 @@
|
||||
#include <openpilot.h>
|
||||
|
||||
#include <homelocation.h>
|
||||
#include <magnetosensor.h>
|
||||
#include <magsensor.h>
|
||||
#include <accelsensor.h>
|
||||
#include <gyrosensor.h>
|
||||
#include <attitudestate.h>
|
||||
@ -73,7 +73,7 @@
|
||||
// Private functions
|
||||
static void SensorsTask(void *parameters);
|
||||
static void settingsUpdatedCb(UAVObjEvent *objEv);
|
||||
// static void magOffsetEstimation(MagnetoSensorData *mag);
|
||||
// static void magOffsetEstimation(MagSensorData *mag);
|
||||
|
||||
// Private variables
|
||||
static xTaskHandle sensorsTaskHandle;
|
||||
@ -110,7 +110,7 @@ int32_t SensorsInitialize(void)
|
||||
{
|
||||
GyroSensorInitialize();
|
||||
AccelSensorInitialize();
|
||||
MagnetoSensorInitialize();
|
||||
MagSensorInitialize();
|
||||
RevoCalibrationInitialize();
|
||||
AttitudeSettingsInitialize();
|
||||
|
||||
@ -383,7 +383,7 @@ static void SensorsTask(__attribute__((unused)) void *parameters)
|
||||
// and make it average zero (weakly)
|
||||
|
||||
#if defined(PIOS_INCLUDE_HMC5883)
|
||||
MagnetoSensorData mag;
|
||||
MagSensorData mag;
|
||||
if (PIOS_HMC5883_NewDataAvailable() || PIOS_DELAY_DiffuS(mag_update_time) > 150000) {
|
||||
int16_t values[3];
|
||||
PIOS_HMC5883_ReadMag(values);
|
||||
@ -402,7 +402,7 @@ static void SensorsTask(__attribute__((unused)) void *parameters)
|
||||
mag.z = mags[2];
|
||||
}
|
||||
|
||||
MagnetoSensorSet(&mag);
|
||||
MagSensorSet(&mag);
|
||||
mag_update_time = PIOS_DELAY_GetRaw();
|
||||
}
|
||||
#endif /* if defined(PIOS_INCLUDE_HMC5883) */
|
||||
|
@ -4,7 +4,7 @@
|
||||
* @{
|
||||
* @addtogroup Sensors
|
||||
* @brief Acquires sensor data
|
||||
* Specifically updates the the @ref GyroSensor, @ref AccelSensor, and @ref MagnetoSensor objects
|
||||
* Specifically updates the the @ref GyroSensor, @ref AccelSensor, and @ref MagSensor objects
|
||||
* @{
|
||||
*
|
||||
* @file sensors.c
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
/**
|
||||
* Input objects: None, takes sensor data via pios
|
||||
* Output objects: @ref GyroSensor @ref AccelSensor @ref MagnetoSensor
|
||||
* Output objects: @ref GyroSensor @ref AccelSensor @ref MagSensor
|
||||
*
|
||||
* The module executes in its own thread.
|
||||
*
|
||||
@ -113,7 +113,7 @@ int32_t SensorsInitialize(void)
|
||||
// GyrosBiasInitialize();
|
||||
GPSPositionInitialize();
|
||||
GPSVelocityInitialize();
|
||||
MagnetoSensorInitialize();
|
||||
MagSensorInitialize();
|
||||
MagBiasInitialize();
|
||||
RevoCalibrationInitialize();
|
||||
|
||||
@ -252,11 +252,11 @@ static void simulateConstant()
|
||||
|
||||
// Because most crafts wont get enough information from gravity to zero yaw gyro, we try
|
||||
// and make it average zero (weakly)
|
||||
MagnetoSensorData mag;
|
||||
MagSensorData mag;
|
||||
mag.x = 400;
|
||||
mag.y = 0;
|
||||
mag.z = 800;
|
||||
MagnetoSensorSet(&mag);
|
||||
MagSensorSet(&mag);
|
||||
}
|
||||
|
||||
static void simulateModelAgnostic()
|
||||
@ -314,11 +314,11 @@ static void simulateModelAgnostic()
|
||||
|
||||
// Because most crafts wont get enough information from gravity to zero yaw gyro, we try
|
||||
// and make it average zero (weakly)
|
||||
MagnetoSensorData mag;
|
||||
MagSensorData mag;
|
||||
mag.x = 400;
|
||||
mag.y = 0;
|
||||
mag.z = 800;
|
||||
MagnetoSensorSet(&mag);
|
||||
MagSensorSet(&mag);
|
||||
}
|
||||
|
||||
float thrustToDegs = 50;
|
||||
@ -528,12 +528,12 @@ static void simulateModelQuadcopter()
|
||||
// Update mag periodically
|
||||
static uint32_t last_mag_time = 0;
|
||||
if (PIOS_DELAY_DiffuS(last_mag_time) / 1.0e6 > MAG_PERIOD) {
|
||||
MagnetoSensorData mag;
|
||||
MagSensorData mag;
|
||||
mag.x = homeLocation.Be[0] * Rbe[0][0] + homeLocation.Be[1] * Rbe[0][1] + homeLocation.Be[2] * Rbe[0][2];
|
||||
mag.y = homeLocation.Be[0] * Rbe[1][0] + homeLocation.Be[1] * Rbe[1][1] + homeLocation.Be[2] * Rbe[1][2];
|
||||
mag.z = homeLocation.Be[0] * Rbe[2][0] + homeLocation.Be[1] * Rbe[2][1] + homeLocation.Be[2] * Rbe[2][2];
|
||||
|
||||
MagnetoSensorSet(&mag);
|
||||
MagSensorSet(&mag);
|
||||
last_mag_time = PIOS_DELAY_GetRaw();
|
||||
}
|
||||
|
||||
@ -811,11 +811,11 @@ static void simulateModelAirplane()
|
||||
// Update mag periodically
|
||||
static uint32_t last_mag_time = 0;
|
||||
if (PIOS_DELAY_DiffuS(last_mag_time) / 1.0e6 > MAG_PERIOD) {
|
||||
MagnetoSensorData mag;
|
||||
MagSensorData mag;
|
||||
mag.x = 100 + homeLocation.Be[0] * Rbe[0][0] + homeLocation.Be[1] * Rbe[0][1] + homeLocation.Be[2] * Rbe[0][2];
|
||||
mag.y = 100 + homeLocation.Be[0] * Rbe[1][0] + homeLocation.Be[1] * Rbe[1][1] + homeLocation.Be[2] * Rbe[1][2];
|
||||
mag.z = 100 + homeLocation.Be[0] * Rbe[2][0] + homeLocation.Be[1] * Rbe[2][1] + homeLocation.Be[2] * Rbe[2][2];
|
||||
MagnetoSensorSet(&mag);
|
||||
MagSensorSet(&mag);
|
||||
last_mag_time = PIOS_DELAY_GetRaw();
|
||||
}
|
||||
|
||||
|
@ -93,7 +93,7 @@ ifndef TESTAPP
|
||||
SRC += $(OPUAVSYNTHDIR)/gpstime.c
|
||||
SRC += $(OPUAVSYNTHDIR)/osdsettings.c
|
||||
SRC += $(OPUAVSYNTHDIR)/barosensor.c
|
||||
SRC += $(OPUAVSYNTHDIR)/magnetosensor.c
|
||||
SRC += $(OPUAVSYNTHDIR)/magsensor.c
|
||||
else
|
||||
## Test Code
|
||||
SRC += $(OPTESTS)/test_common.c
|
||||
|
@ -30,8 +30,8 @@ UAVOBJSRCFILENAMES += gyrostate
|
||||
UAVOBJSRCFILENAMES += gyrosensor
|
||||
UAVOBJSRCFILENAMES += accelstate
|
||||
UAVOBJSRCFILENAMES += accelsensor
|
||||
UAVOBJSRCFILENAMES += magnetosensor
|
||||
UAVOBJSRCFILENAMES += magnetostate
|
||||
UAVOBJSRCFILENAMES += magsensor
|
||||
UAVOBJSRCFILENAMES += magstate
|
||||
UAVOBJSRCFILENAMES += barosensor
|
||||
UAVOBJSRCFILENAMES += airspeedsensor
|
||||
UAVOBJSRCFILENAMES += airspeedsettings
|
||||
|
@ -35,7 +35,7 @@
|
||||
#include <barosensor.h>
|
||||
#include <gpsposition.h>
|
||||
#include <gyrosensor.h>
|
||||
#include <magnetosensor.h>
|
||||
#include <magsensor.h>
|
||||
#include <manualcontrolsettings.h>
|
||||
|
||||
void Stack_Change() {}
|
||||
@ -138,7 +138,7 @@ void PIOS_Board_Init(void)
|
||||
|
||||
AccelSensorInitialize();
|
||||
BaroSensorInitialize();
|
||||
MagnetoSensorInitialize();
|
||||
MagSensorInitialize();
|
||||
GPSPositionInitialize();
|
||||
GyroSensorInitialize();
|
||||
|
||||
|
@ -35,8 +35,8 @@ UAVOBJSRCFILENAMES += gyrostate
|
||||
UAVOBJSRCFILENAMES += gyrosensor
|
||||
UAVOBJSRCFILENAMES += accelstate
|
||||
UAVOBJSRCFILENAMES += accelsensor
|
||||
UAVOBJSRCFILENAMES += magnetostate
|
||||
UAVOBJSRCFILENAMES += magnetosensor
|
||||
UAVOBJSRCFILENAMES += magstate
|
||||
UAVOBJSRCFILENAMES += magsensor
|
||||
UAVOBJSRCFILENAMES += barosensor
|
||||
UAVOBJSRCFILENAMES += airspeedsensor
|
||||
UAVOBJSRCFILENAMES += airspeedsettings
|
||||
|
@ -35,7 +35,7 @@
|
||||
#include <barosensor.h>
|
||||
#include <gpsposition.h>
|
||||
#include <gyrosensor.h>
|
||||
#include <magnetosensor.h>
|
||||
#include <magsensor.h>
|
||||
#include <manualcontrolsettings.h>
|
||||
|
||||
void Stack_Change() {}
|
||||
@ -138,7 +138,7 @@ void PIOS_Board_Init(void)
|
||||
|
||||
AccelSensorInitialize();
|
||||
BaroSensorInitialize();
|
||||
MagnetoSensorInitialize();
|
||||
MagSensorInitialize();
|
||||
GPSPositionInitialize();
|
||||
GyroStatInitialize();
|
||||
GyroSensorInitialize();
|
||||
|
@ -35,8 +35,8 @@ UAVOBJSRCFILENAMES += gyrostate
|
||||
UAVOBJSRCFILENAMES += gyrosensor
|
||||
UAVOBJSRCFILENAMES += accelstate
|
||||
UAVOBJSRCFILENAMES += accelsensor
|
||||
UAVOBJSRCFILENAMES += magnetosensor
|
||||
UAVOBJSRCFILENAMES += magnetostate
|
||||
UAVOBJSRCFILENAMES += magsensor
|
||||
UAVOBJSRCFILENAMES += magstate
|
||||
UAVOBJSRCFILENAMES += barosensor
|
||||
UAVOBJSRCFILENAMES += airspeedsensor
|
||||
UAVOBJSRCFILENAMES += airspeedsettings
|
||||
|
@ -2233,7 +2233,7 @@
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>x</uavField>
|
||||
<uavObject>MagnetoState</uavObject>
|
||||
<uavObject>MagState</uavObject>
|
||||
<yMaximum>6.92916505601691e-310</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>3.86203233966055e-312</yMinimum>
|
||||
@ -2243,7 +2243,7 @@
|
||||
<color>4283782655</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>y</uavField>
|
||||
<uavObject>MagnetoState</uavObject>
|
||||
<uavObject>MagState</uavObject>
|
||||
<yMaximum>1.72723371101889e-77</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>-1</yMinimum>
|
||||
@ -2253,7 +2253,7 @@
|
||||
<color>4283804160</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>z</uavField>
|
||||
<uavObject>MagnetoState</uavObject>
|
||||
<uavObject>MagState</uavObject>
|
||||
<yMaximum>1.72723371102028e-77</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>7.21478569792807e-313</yMinimum>
|
||||
|
@ -2264,7 +2264,7 @@
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>x</uavField>
|
||||
<uavObject>MagnetoState</uavObject>
|
||||
<uavObject>MagState</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
@ -2274,7 +2274,7 @@
|
||||
<color>4283782655</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>y</uavField>
|
||||
<uavObject>MagnetoState</uavObject>
|
||||
<uavObject>MagState</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
@ -2284,7 +2284,7 @@
|
||||
<color>4283804160</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>z</uavField>
|
||||
<uavObject>MagnetoState</uavObject>
|
||||
<uavObject>MagState</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
|
@ -2242,7 +2242,7 @@
|
||||
<color>4294901760</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>x</uavField>
|
||||
<uavObject>MagnetoState</uavObject>
|
||||
<uavObject>MagState</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
@ -2252,7 +2252,7 @@
|
||||
<color>4283782655</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>y</uavField>
|
||||
<uavObject>MagnetoState</uavObject>
|
||||
<uavObject>MagState</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
@ -2262,7 +2262,7 @@
|
||||
<color>4283804160</color>
|
||||
<mathFunction>None</mathFunction>
|
||||
<uavField>z</uavField>
|
||||
<uavObject>MagnetoState</uavObject>
|
||||
<uavObject>MagState</uavObject>
|
||||
<yMaximum>0</yMaximum>
|
||||
<yMeanSamples>1</yMeanSamples>
|
||||
<yMinimum>0</yMinimum>
|
||||
|
@ -46,7 +46,7 @@
|
||||
#include <homelocation.h>
|
||||
#include <accelstate.h>
|
||||
#include <gyrostate.h>
|
||||
#include <magnetostate.h>
|
||||
#include <magstate.h>
|
||||
|
||||
#define GRAVITY 9.81f
|
||||
#include "assertions.h"
|
||||
@ -585,10 +585,10 @@ void ConfigRevoWidget::doStartSixPointCalibration()
|
||||
#endif
|
||||
|
||||
/* Need to get as many mag updates as possible */
|
||||
MagnetoState *mag = MagnetoState::GetInstance(getObjectManager());
|
||||
MagState *mag = MagState::GetInstance(getObjectManager());
|
||||
Q_ASSERT(mag);
|
||||
initialMagnetoStateMdata = mag->getMetadata();
|
||||
mdata = initialMagnetoStateMdata;
|
||||
initialMagStateMdata = mag->getMetadata();
|
||||
mdata = initialMagStateMdata;
|
||||
UAVObject::SetFlightTelemetryUpdateMode(mdata, UAVObject::UPDATEMODE_PERIODIC);
|
||||
mdata.flightTelemetryUpdatePeriod = 100;
|
||||
mag->setMetadata(mdata);
|
||||
@ -624,7 +624,7 @@ void ConfigRevoWidget::savePositionData()
|
||||
|
||||
AccelState *accelState = AccelState::GetInstance(getObjectManager());
|
||||
Q_ASSERT(accelState);
|
||||
MagnetoState *mag = MagnetoState::GetInstance(getObjectManager());
|
||||
MagState *mag = MagState::GetInstance(getObjectManager());
|
||||
Q_ASSERT(mag);
|
||||
|
||||
connect(accelState, SIGNAL(objectUpdated(UAVObject *)), this, SLOT(doGetSixPointCalibrationMeasurement(UAVObject *)));
|
||||
@ -653,10 +653,10 @@ void ConfigRevoWidget::doGetSixPointCalibrationMeasurement(UAVObject *obj)
|
||||
accel_accum_y.append(accelStateData.y);
|
||||
accel_accum_z.append(accelStateData.z);
|
||||
#endif
|
||||
} else if (obj->getObjID() == MagnetoState::OBJID) {
|
||||
MagnetoState *mag = MagnetoState::GetInstance(getObjectManager());
|
||||
} else if (obj->getObjID() == MagState::OBJID) {
|
||||
MagState *mag = MagState::GetInstance(getObjectManager());
|
||||
Q_ASSERT(mag);
|
||||
MagnetoState::DataFields magData = mag->getData();
|
||||
MagState::DataFields magData = mag->getData();
|
||||
mag_accum_x.append(magData.x);
|
||||
mag_accum_y.append(magData.y);
|
||||
mag_accum_z.append(magData.z);
|
||||
@ -685,7 +685,7 @@ void ConfigRevoWidget::doGetSixPointCalibrationMeasurement(UAVObject *obj)
|
||||
#endif
|
||||
|
||||
// Store the mean for this position for the mag
|
||||
MagnetoState *mag = MagnetoState::GetInstance(getObjectManager());
|
||||
MagState *mag = MagState::GetInstance(getObjectManager());
|
||||
Q_ASSERT(mag);
|
||||
disconnect(mag, SIGNAL(objectUpdated(UAVObject *)), this, SLOT(doGetSixPointCalibrationMeasurement(UAVObject *)));
|
||||
mag_data_x[position] = listMean(mag_accum_x);
|
||||
@ -722,7 +722,7 @@ void ConfigRevoWidget::doGetSixPointCalibrationMeasurement(UAVObject *obj)
|
||||
#ifdef SIX_POINT_CAL_ACCEL
|
||||
accelState->setMetadata(initialAccelStateMdata);
|
||||
#endif
|
||||
mag->setMetadata(initialMagnetoStateMdata);
|
||||
mag->setMetadata(initialMagStateMdata);
|
||||
|
||||
// Recall saved board rotation
|
||||
recallBoardRotation();
|
||||
@ -928,7 +928,7 @@ void ConfigRevoWidget::doStartNoiseMeasurement()
|
||||
Q_ASSERT(accelState);
|
||||
GyroState *gyroState = GyroState::GetInstance(getObjectManager());
|
||||
Q_ASSERT(gyroState);
|
||||
MagnetoState *mag = MagnetoState::GetInstance(getObjectManager());
|
||||
MagState *mag = MagState::GetInstance(getObjectManager());
|
||||
Q_ASSERT(mag);
|
||||
|
||||
UAVObject::Metadata mdata;
|
||||
@ -945,8 +945,8 @@ void ConfigRevoWidget::doStartNoiseMeasurement()
|
||||
mdata.flightTelemetryUpdatePeriod = 100;
|
||||
gyroState->setMetadata(mdata);
|
||||
|
||||
initialMagnetoStateMdata = mag->getMetadata();
|
||||
mdata = initialMagnetoStateMdata;
|
||||
initialMagStateMdata = mag->getMetadata();
|
||||
mdata = initialMagStateMdata;
|
||||
UAVObject::SetFlightTelemetryUpdateMode(mdata, UAVObject::UPDATEMODE_PERIODIC);
|
||||
mdata.flightTelemetryUpdatePeriod = 100;
|
||||
mag->setMetadata(mdata);
|
||||
@ -990,11 +990,11 @@ void ConfigRevoWidget::doGetNoiseSample(UAVObject *obj)
|
||||
accel_accum_z.append(accelStateData.z);
|
||||
break;
|
||||
}
|
||||
case MagnetoState::OBJID:
|
||||
case MagState::OBJID:
|
||||
{
|
||||
MagnetoState *mags = MagnetoState::GetInstance(getObjectManager());
|
||||
MagState *mags = MagState::GetInstance(getObjectManager());
|
||||
Q_ASSERT(mags);
|
||||
MagnetoState::DataFields magData = mags->getData();
|
||||
MagState::DataFields magData = mags->getData();
|
||||
mag_accum_x.append(magData.x);
|
||||
mag_accum_y.append(magData.y);
|
||||
mag_accum_z.append(magData.z);
|
||||
@ -1017,7 +1017,7 @@ void ConfigRevoWidget::doGetNoiseSample(UAVObject *obj)
|
||||
gyro_accum_x.length() >= NOISE_SAMPLES &&
|
||||
accel_accum_x.length() >= NOISE_SAMPLES) {
|
||||
// No need to for more updates
|
||||
MagnetoState *mags = MagnetoState::GetInstance(getObjectManager());
|
||||
MagState *mags = MagState::GetInstance(getObjectManager());
|
||||
AccelState *accelState = AccelState::GetInstance(getObjectManager());
|
||||
GyroState *gyroState = GyroState::GetInstance(getObjectManager());
|
||||
disconnect(accelState, SIGNAL(objectUpdated(UAVObject *)), this, SLOT(doGetNoiseSample(UAVObject *)));
|
||||
|
@ -92,7 +92,7 @@ private:
|
||||
|
||||
UAVObject::Metadata initialAccelStateMdata;
|
||||
UAVObject::Metadata initialGyroStateMdata;
|
||||
UAVObject::Metadata initialMagnetoStateMdata;
|
||||
UAVObject::Metadata initialMagStateMdata;
|
||||
UAVObject::Metadata initialBaroSensorMdata;
|
||||
float initialMagCorrectionRate;
|
||||
|
||||
|
@ -42,8 +42,8 @@ HEADERS += $$UAVOBJECT_SYNTHETICS/accessorydesired.h \
|
||||
$$UAVOBJECT_SYNTHETICS/gyrosensor.h \
|
||||
$$UAVOBJECT_SYNTHETICS/accelsensor.h \
|
||||
$$UAVOBJECT_SYNTHETICS/accelstate.h \
|
||||
$$UAVOBJECT_SYNTHETICS/magnetosensor.h \
|
||||
$$UAVOBJECT_SYNTHETICS/magnetostate.h \
|
||||
$$UAVOBJECT_SYNTHETICS/magsensor.h \
|
||||
$$UAVOBJECT_SYNTHETICS/magstate.h \
|
||||
$$UAVOBJECT_SYNTHETICS/camerastabsettings.h \
|
||||
$$UAVOBJECT_SYNTHETICS/flighttelemetrystats.h \
|
||||
$$UAVOBJECT_SYNTHETICS/systemstats.h \
|
||||
@ -126,8 +126,8 @@ SOURCES += $$UAVOBJECT_SYNTHETICS/accessorydesired.cpp \
|
||||
$$UAVOBJECT_SYNTHETICS/accelstate.cpp \
|
||||
$$UAVOBJECT_SYNTHETICS/gyrostate.cpp \
|
||||
$$UAVOBJECT_SYNTHETICS/gyrosensor.cpp \
|
||||
$$UAVOBJECT_SYNTHETICS/magnetosensor.cpp \
|
||||
$$UAVOBJECT_SYNTHETICS/magnetostate.cpp \
|
||||
$$UAVOBJECT_SYNTHETICS/magsensor.cpp \
|
||||
$$UAVOBJECT_SYNTHETICS/magstate.cpp \
|
||||
$$UAVOBJECT_SYNTHETICS/camerastabsettings.cpp \
|
||||
$$UAVOBJECT_SYNTHETICS/flighttelemetrystats.cpp \
|
||||
$$UAVOBJECT_SYNTHETICS/systemstats.cpp \
|
||||
|
@ -1,5 +1,5 @@
|
||||
<xml>
|
||||
<object name="MagnetoSensor" singleinstance="true" settings="false">
|
||||
<object name="MagSensor" singleinstance="true" settings="false">
|
||||
<description>The mag data.</description>
|
||||
<field name="x" units="mGa" type="float" elements="1"/>
|
||||
<field name="y" units="mGa" type="float" elements="1"/>
|
@ -1,5 +1,5 @@
|
||||
<xml>
|
||||
<object name="MagnetoState" singleinstance="true" settings="false">
|
||||
<object name="MagState" singleinstance="true" settings="false">
|
||||
<description>The mag data.</description>
|
||||
<field name="x" units="mGa" type="float" elements="1"/>
|
||||
<field name="y" units="mGa" type="float" elements="1"/>
|
Loading…
x
Reference in New Issue
Block a user