mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-05 23:43:58 -04:00
SITL: added ignition control for gas heli
This commit is contained in:
parent
c55e4e275d
commit
85ab1c3444
@ -48,6 +48,7 @@ Helicopter::Helicopter(const char *home_str, const char *frame_str) :
|
|||||||
} else {
|
} else {
|
||||||
frame_type = HELI_FRAME_CONVENTIONAL;
|
frame_type = HELI_FRAME_CONVENTIONAL;
|
||||||
}
|
}
|
||||||
|
gas_heli = (strstr(frame_str, "-gas") != NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -60,6 +61,8 @@ void Helicopter::update(const struct sitl_input &input)
|
|||||||
|
|
||||||
float rsc = (input.servos[7]-1000) / 1000.0f;
|
float rsc = (input.servos[7]-1000) / 1000.0f;
|
||||||
float rsc_scale = rsc/rsc_setpoint;
|
float rsc_scale = rsc/rsc_setpoint;
|
||||||
|
// ignition only for gas helis
|
||||||
|
bool ignition_enabled = gas_heli?(input.servos[6] > 1500):true;
|
||||||
|
|
||||||
float thrust = 0;
|
float thrust = 0;
|
||||||
float roll_rate = 0;
|
float roll_rate = 0;
|
||||||
@ -73,6 +76,10 @@ void Helicopter::update(const struct sitl_input &input)
|
|||||||
float swash2 = (input.servos[1]-1000) / 1000.0f;
|
float swash2 = (input.servos[1]-1000) / 1000.0f;
|
||||||
float swash3 = (input.servos[2]-1000) / 1000.0f;
|
float swash3 = (input.servos[2]-1000) / 1000.0f;
|
||||||
|
|
||||||
|
if (!ignition_enabled) {
|
||||||
|
rsc = 0;
|
||||||
|
}
|
||||||
|
|
||||||
switch (frame_type) {
|
switch (frame_type) {
|
||||||
case HELI_FRAME_CONVENTIONAL: {
|
case HELI_FRAME_CONVENTIONAL: {
|
||||||
// simulate a traditional helicopter
|
// simulate a traditional helicopter
|
||||||
|
@ -56,6 +56,7 @@ private:
|
|||||||
HELI_FRAME_DUAL,
|
HELI_FRAME_DUAL,
|
||||||
HELI_FRAME_COMPOUND
|
HELI_FRAME_COMPOUND
|
||||||
} frame_type = HELI_FRAME_CONVENTIONAL;
|
} frame_type = HELI_FRAME_CONVENTIONAL;
|
||||||
|
bool gas_heli = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user