9c6bd38e91
Due to the way the headers are organized changing a single change in an inertial sensor driver would trigger a rebuild for most of the files in the project. Time could be saved by using ccache (since most of the things didn't change) but we can do better, i.e. re-organize the headers so we don't have to re-build everything. With this patch only AP_InertialSensor/AP_InertialSensor.h is exposed to most users. There are some corner cases to integrate with some example code, but most of the places now depend only on this header and this header doesn't depend on the specific backends. Now changing a single header, e.g. AP_InertialSensor_L3G4200D.h triggers a rebuild only of these files: $ waf copter 'copter' finished successfully (0.000s) Waf: Entering directory `/home/lucas/p/dronecode/ardupilot/build/minlure' [ 80/370] Compiling libraries/AP_InertialSensor/AP_InertialSensor.cpp [ 84/370] Compiling libraries/AP_InertialSensor/AP_InertialSensor_L3G4200D.cpp [310/370] Linking build/minlure/ArduCopter/libArduCopter_libs.a [370/370] Linking build/minlure/bin/arducopter Waf: Leaving directory `/home/lucas/p/dronecode/ardupilot/build/minlure'
25 lines
556 B
C++
25 lines
556 B
C++
#pragma once
|
|
|
|
#include <AP_Common/AP_Common.h>
|
|
#include <AP_HAL/AP_HAL.h>
|
|
#include <GCS_MAVLink/GCS_MAVLink.h>
|
|
|
|
|
|
#include "AP_InertialSensor_UserInteract.h"
|
|
|
|
class GCS_MAVLINK;
|
|
|
|
/**
|
|
* AP_InertialSensor_UserInteract, implemented in terms of a MAVLink connection
|
|
*/
|
|
class AP_InertialSensor_UserInteract_MAVLink : public AP_InertialSensor_UserInteract {
|
|
public:
|
|
AP_InertialSensor_UserInteract_MAVLink(GCS_MAVLINK *gcs) :
|
|
_gcs(gcs) {}
|
|
|
|
bool blocking_read();
|
|
void printf(const char *, ...) FMT_PRINTF(2, 3);
|
|
private:
|
|
GCS_MAVLINK *_gcs;
|
|
};
|