AP_Winch: add and use AP_WINCH_ENABLED

This commit is contained in:
Peter Barker 2023-03-03 11:48:38 +11:00 committed by Peter Barker
parent f47e60d1ea
commit 8ccd0ccd3a
9 changed files with 54 additions and 0 deletions

View File

@ -1,4 +1,7 @@
#include "AP_Winch.h"
#if AP_WINCH_ENABLED
#include "AP_Winch_PWM.h"
#include "AP_Winch_Daiwa.h"
@ -157,3 +160,5 @@ AP_Winch *winch()
}
};
#endif // AP_WINCH_ENABLED

View File

@ -15,6 +15,10 @@
#pragma once
#include "AP_Winch_config.h"
#if AP_WINCH_ENABLED
#include <AP_Common/AP_Common.h>
#include <AP_Math/AP_Math.h>
#include <AP_Param/AP_Param.h>
@ -103,3 +107,5 @@ private:
namespace AP {
AP_Winch *winch();
};
#endif // AP_WINCH_ENABLED

View File

@ -1,5 +1,7 @@
#include <AP_Winch/AP_Winch_Backend.h>
#if AP_WINCH_ENABLED
#include <RC_Channel/RC_Channel.h>
#include <SRV_Channel/SRV_Channel.h>
@ -67,3 +69,5 @@ float AP_Winch_Backend::get_rate_limited_by_accel(float rate, float dt)
return rate_limited;
}
#endif // AP_WINCH_ENABLED

View File

@ -17,6 +17,8 @@
#include <AP_Winch/AP_Winch.h>
#if AP_WINCH_ENABLED
class AP_Winch_Backend {
public:
AP_Winch_Backend(struct AP_Winch::Backend_Config &_config) :
@ -58,3 +60,5 @@ protected:
int16_t previous_radio_in = -1; // previous RC input from pilot, used to ignore small changes
float previous_rate; // previous rate used for acceleration limiting
};
#endif // AP_WINCH_ENABLED

View File

@ -1,5 +1,7 @@
#include <AP_Winch/AP_Winch_Daiwa.h>
#if AP_WINCH_DAIWA_ENABLED
#include <AP_Logger/AP_Logger.h>
#include <GCS_MAVLink/GCS.h>
#include <SRV_Channel/SRV_Channel.h>
@ -223,3 +225,5 @@ void AP_Winch_Daiwa::control_winch()
}
SRV_Channels::set_output_scaled(SRV_Channel::k_winch, scaled_output);
}
#endif // AP_WINCH_DAIWA_ENABLED

View File

@ -30,6 +30,8 @@
#include <AP_Winch/AP_Winch_Backend.h>
#if AP_WINCH_DAIWA_ENABLED
class AP_Winch_Daiwa : public AP_Winch_Backend {
public:
@ -105,3 +107,5 @@ private:
WAITING_FOR_MOTOR_TEMP
} parse_state;
};
#endif // AP_WINCH_DAIWA_ENABLED

View File

@ -1,5 +1,7 @@
#include "AP_Winch_PWM.h"
#if AP_WINCH_PWM_ENABLED
#include <AP_Logger/AP_Logger.h>
#include <GCS_MAVLink/GCS.h>
#include <SRV_Channel/SRV_Channel.h>
@ -106,3 +108,5 @@ void AP_Winch_PWM::write_log()
0, // voltage (unsupported)
0); // temp (unsupported)
}
#endif // AP_WINCH_PWM_ENABLED

View File

@ -17,6 +17,8 @@
#include <AP_Winch/AP_Winch_Backend.h>
#if AP_WINCH_PWM_ENABLED
class AP_Winch_PWM : public AP_Winch_Backend {
public:
@ -45,3 +47,5 @@ private:
uint32_t control_update_ms; // last time control_winch was called
float line_length; // estimated length of line in meters
};
#endif // AP_WINCH_PWM_ENABLED

View File

@ -0,0 +1,19 @@
#pragma once
#include <AP_HAL/AP_HAL_Boards.h>
#ifndef AP_WINCH_ENABLED
#define AP_WINCH_ENABLED 1
#endif
#ifndef AP_WINCH_BACKEND_DEFAULT_ENABLED
#define AP_WINCH_BACKEND_DEFAULT_ENABLED AP_WINCH_ENABLED
#endif
#ifndef AP_WINCH_DAIWA_ENABLED
#define AP_WINCH_DAIWA_ENABLED AP_WINCH_BACKEND_DEFAULT_ENABLED
#endif
#ifndef AP_WINCH_PWM_ENABLED
#define AP_WINCH_PWM_ENABLED AP_WINCH_BACKEND_DEFAULT_ENABLED
#endif