mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-01 13:21:37 +08:00
vtol: added timestamps for actuator controls message
This commit is contained in:
@@ -282,6 +282,7 @@ void Standard::update_external_state()
|
|||||||
void Standard::fill_actuator_outputs()
|
void Standard::fill_actuator_outputs()
|
||||||
{
|
{
|
||||||
/* multirotor controls */
|
/* multirotor controls */
|
||||||
|
_actuators_out_0->timestamp = _actuators_mc_in->timestamp;
|
||||||
_actuators_out_0->control[actuator_controls_s::INDEX_ROLL] = _actuators_mc_in->control[actuator_controls_s::INDEX_ROLL]
|
_actuators_out_0->control[actuator_controls_s::INDEX_ROLL] = _actuators_mc_in->control[actuator_controls_s::INDEX_ROLL]
|
||||||
* _mc_roll_weight; // roll
|
* _mc_roll_weight; // roll
|
||||||
_actuators_out_0->control[actuator_controls_s::INDEX_PITCH] =
|
_actuators_out_0->control[actuator_controls_s::INDEX_PITCH] =
|
||||||
@@ -292,6 +293,7 @@ void Standard::fill_actuator_outputs()
|
|||||||
_actuators_mc_in->control[actuator_controls_s::INDEX_THROTTLE] * _mc_throttle_weight; // throttle
|
_actuators_mc_in->control[actuator_controls_s::INDEX_THROTTLE] * _mc_throttle_weight; // throttle
|
||||||
|
|
||||||
/* fixed wing controls */
|
/* fixed wing controls */
|
||||||
|
_actuators_out_1->timestamp = _actuators_fw_in->timestamp;
|
||||||
_actuators_out_1->control[actuator_controls_s::INDEX_ROLL] = -_actuators_fw_in->control[actuator_controls_s::INDEX_ROLL]
|
_actuators_out_1->control[actuator_controls_s::INDEX_ROLL] = -_actuators_fw_in->control[actuator_controls_s::INDEX_ROLL]
|
||||||
* (1 - _mc_roll_weight); //roll
|
* (1 - _mc_roll_weight); //roll
|
||||||
_actuators_out_1->control[actuator_controls_s::INDEX_PITCH] =
|
_actuators_out_1->control[actuator_controls_s::INDEX_PITCH] =
|
||||||
|
|||||||
@@ -446,6 +446,7 @@ void Tailsitter::fill_actuator_outputs()
|
|||||||
{
|
{
|
||||||
switch (_vtol_mode) {
|
switch (_vtol_mode) {
|
||||||
case ROTARY_WING:
|
case ROTARY_WING:
|
||||||
|
_actuators_out_0->timestamp = _actuators_mc_in->timestamp;
|
||||||
_actuators_out_0->control[actuator_controls_s::INDEX_ROLL] = _actuators_mc_in->control[actuator_controls_s::INDEX_ROLL];
|
_actuators_out_0->control[actuator_controls_s::INDEX_ROLL] = _actuators_mc_in->control[actuator_controls_s::INDEX_ROLL];
|
||||||
_actuators_out_0->control[actuator_controls_s::INDEX_PITCH] =
|
_actuators_out_0->control[actuator_controls_s::INDEX_PITCH] =
|
||||||
_actuators_mc_in->control[actuator_controls_s::INDEX_PITCH];
|
_actuators_mc_in->control[actuator_controls_s::INDEX_PITCH];
|
||||||
@@ -453,6 +454,8 @@ void Tailsitter::fill_actuator_outputs()
|
|||||||
_actuators_out_0->control[actuator_controls_s::INDEX_THROTTLE] =
|
_actuators_out_0->control[actuator_controls_s::INDEX_THROTTLE] =
|
||||||
_actuators_mc_in->control[actuator_controls_s::INDEX_THROTTLE];
|
_actuators_mc_in->control[actuator_controls_s::INDEX_THROTTLE];
|
||||||
|
|
||||||
|
_actuators_out_1->timestamp = _actuators_mc_in->timestamp;
|
||||||
|
|
||||||
if (_params->elevons_mc_lock == 1) {
|
if (_params->elevons_mc_lock == 1) {
|
||||||
_actuators_out_1->control[0] = 0;
|
_actuators_out_1->control[0] = 0;
|
||||||
_actuators_out_1->control[1] = 0;
|
_actuators_out_1->control[1] = 0;
|
||||||
@@ -469,6 +472,7 @@ void Tailsitter::fill_actuator_outputs()
|
|||||||
|
|
||||||
case FIXED_WING:
|
case FIXED_WING:
|
||||||
// in fixed wing mode we use engines only for providing thrust, no moments are generated
|
// in fixed wing mode we use engines only for providing thrust, no moments are generated
|
||||||
|
_actuators_out_0->timestamp = _actuators_fw_in->timestamp;
|
||||||
_actuators_out_0->control[actuator_controls_s::INDEX_ROLL] = 0;
|
_actuators_out_0->control[actuator_controls_s::INDEX_ROLL] = 0;
|
||||||
_actuators_out_0->control[actuator_controls_s::INDEX_PITCH] = 0;
|
_actuators_out_0->control[actuator_controls_s::INDEX_PITCH] = 0;
|
||||||
_actuators_out_0->control[actuator_controls_s::INDEX_YAW] = 0;
|
_actuators_out_0->control[actuator_controls_s::INDEX_YAW] = 0;
|
||||||
@@ -487,6 +491,8 @@ void Tailsitter::fill_actuator_outputs()
|
|||||||
|
|
||||||
case TRANSITION:
|
case TRANSITION:
|
||||||
// in transition engines are mixed by weight (BACK TRANSITION ONLY)
|
// in transition engines are mixed by weight (BACK TRANSITION ONLY)
|
||||||
|
_actuators_out_0->timestamp = _actuators_mc_in->timestamp;
|
||||||
|
_actuators_out_1->timestamp = _actuators_mc_in->timestamp;
|
||||||
_actuators_out_0->control[actuator_controls_s::INDEX_ROLL] = _actuators_mc_in->control[actuator_controls_s::INDEX_ROLL]
|
_actuators_out_0->control[actuator_controls_s::INDEX_ROLL] = _actuators_mc_in->control[actuator_controls_s::INDEX_ROLL]
|
||||||
* _mc_roll_weight;
|
* _mc_roll_weight;
|
||||||
_actuators_out_0->control[actuator_controls_s::INDEX_PITCH] =
|
_actuators_out_0->control[actuator_controls_s::INDEX_PITCH] =
|
||||||
|
|||||||
@@ -384,6 +384,7 @@ void Tiltrotor::update_external_state()
|
|||||||
*/
|
*/
|
||||||
void Tiltrotor::fill_actuator_outputs()
|
void Tiltrotor::fill_actuator_outputs()
|
||||||
{
|
{
|
||||||
|
_actuators_out_0->timestamp = _actuators_mc_in->timestamp;
|
||||||
_actuators_out_0->control[actuator_controls_s::INDEX_ROLL] = _actuators_mc_in->control[actuator_controls_s::INDEX_ROLL]
|
_actuators_out_0->control[actuator_controls_s::INDEX_ROLL] = _actuators_mc_in->control[actuator_controls_s::INDEX_ROLL]
|
||||||
* _mc_roll_weight;
|
* _mc_roll_weight;
|
||||||
_actuators_out_0->control[actuator_controls_s::INDEX_PITCH] =
|
_actuators_out_0->control[actuator_controls_s::INDEX_PITCH] =
|
||||||
@@ -400,6 +401,7 @@ void Tiltrotor::fill_actuator_outputs()
|
|||||||
_actuators_mc_in->control[actuator_controls_s::INDEX_THROTTLE];;
|
_actuators_mc_in->control[actuator_controls_s::INDEX_THROTTLE];;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_actuators_out_1->timestamp = _actuators_fw_in->timestamp;
|
||||||
_actuators_out_1->control[actuator_controls_s::INDEX_ROLL] = -_actuators_fw_in->control[actuator_controls_s::INDEX_ROLL]
|
_actuators_out_1->control[actuator_controls_s::INDEX_ROLL] = -_actuators_fw_in->control[actuator_controls_s::INDEX_ROLL]
|
||||||
* (1 - _mc_roll_weight);
|
* (1 - _mc_roll_weight);
|
||||||
_actuators_out_1->control[actuator_controls_s::INDEX_PITCH] =
|
_actuators_out_1->control[actuator_controls_s::INDEX_PITCH] =
|
||||||
|
|||||||
Reference in New Issue
Block a user