[modules] move sending of IMU_MAG_CURRENT_CALIBRATION to a module

This commit is contained in:
Felix Ruess
2013-11-06 18:13:07 +01:00
parent 90dcff721d
commit cd712fc907
10 changed files with 95 additions and 21 deletions
@@ -0,0 +1,41 @@
/*
* Copyright (C) 2013 Felix Ruess <felix.ruess@gmail.com>
*
* This file is part of paparazzi.
*
* paparazzi is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* paparazzi is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with paparazzi; see the file COPYING. If not, write to
* the Free Software Foundation, 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**
* @file modules/calibration/send_imu_mag_current.c
* Enables sending of IMU_MAG_CURRENT_CALIBRATION message.
*/
#include "subsystems/imu.h"
#include "subsystems/electrical.h"
#include "messages.h"
#include "mcu_periph/uart.h"
#include "subsystems/datalink/downlink.h"
void send_imu_mag_current(void) {
DOWNLINK_SEND_IMU_MAG_CURRENT_CALIBRATION(DefaultChannel, DefaultDevice,
&imu.mag_unscaled.x,
&imu.mag_unscaled.y,
&imu.mag_unscaled.z,
&electrical.current);
}
@@ -0,0 +1,32 @@
/*
* Copyright (C) 2013 Felix Ruess <felix.ruess@gmail.com>
*
* This file is part of paparazzi.
*
* paparazzi is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* paparazzi is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with paparazzi; see the file COPYING. If not, write to
* the Free Software Foundation, 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**
* @file modules/calibration/send_imu_mag_current_calib.h
* Enables sending of IMU_MAG_CURRENT_CALIBRATION message.
*/
#ifndef SEND_IMU_MAG_CURRENT_H
#define SEND_IMU_MAG_CURRENT_H
extern void send_imu_mag_current(void);
#endif
-14
View File
@@ -93,17 +93,6 @@ static void send_mag(void) {
DOWNLINK_SEND_IMU_MAG(DefaultChannel, DefaultDevice,
&mag_float.x, &mag_float.y, &mag_float.z);
}
// TODO this could be a special module ?
#if !defined(AP) || (defined(AP) && defined(FBW))
#include "subsystems/electrical.h"
static void send_mag_calib(void) {
DOWNLINK_SEND_IMU_MAG_CURRENT_CALIBRATION(DefaultChannel, DefaultDevice,
&imu.mag_unscaled.x, &imu.mag_unscaled.y, &imu.mag_unscaled.z,
&electrical.current);
}
#endif
#endif // !USE_IMU_FLOAT
#endif
@@ -153,9 +142,6 @@ INFO("Magnetometer neutrals are set to zero, you should calibrate!")
register_periodic_telemetry(DefaultPeriodic, "IMU_MAG_RAW", send_mag_raw);
register_periodic_telemetry(DefaultPeriodic, "IMU_MAG_SCALED", send_mag_scaled);
register_periodic_telemetry(DefaultPeriodic, "IMU_MAG", send_mag);
#if !defined(AP) || (defined(AP) && defined(FBW))
register_periodic_telemetry(DefaultPeriodic, "IMU_MAG_CURRENT_CALIBRATION", send_mag_calib);
#endif
#endif // !USE_IMU_FLOAT
#endif // DOWNLINK