AP_HAL: allow override of frame class and string for SITL on hw

This commit is contained in:
Andrew Tridgell 2022-12-22 10:56:59 +11:00
parent fb18adb035
commit 5f8e655f98

View File

@ -20,16 +20,29 @@ using namespace AP_HAL;
#include <AP_Terrain/AP_Terrain.h>
#ifndef AP_SIM_FRAME_CLASS
#if APM_BUILD_TYPE(APM_BUILD_ArduCopter)
#define AP_SIM_FRAME_Class MultiCopter
#elif APM_BUILD_TYPE(APM_BUILD_ArduPlane)
#define AP_SIM_FRAME_CLASS Plane
#endif
#endif
#ifndef AP_SIM_FRAME_STRING
#if APM_BUILD_TYPE(APM_BUILD_ArduCopter)
#define AP_SIM_FRAME_STRING "+"
#elif APM_BUILD_TYPE(APM_BUILD_ArduPlane)
#define AP_SIM_FRAME_STRING "plane"
#endif
#endif
void SIMState::update()
{
static bool init_done;
if (!init_done) {
init_done = true;
#if APM_BUILD_TYPE(APM_BUILD_ArduCopter)
sitl_model = SITL::MultiCopter::create("+");
#elif APM_BUILD_TYPE(APM_BUILD_ArduPlane)
sitl_model = SITL::Plane::create("plane");
#endif
sitl_model = SITL::AP_SIM_FRAME_CLASS::create(AP_SIM_FRAME_STRING);
}
_fdm_input_step();