ArduPilot / ardupilot

ArduPlane, ArduCopter, ArduRover, ArduSub source
http://ardupilot.org/
GNU General Public License v3.0
10.81k stars 17.27k forks source link

Tricopter yaw servo mistakenly assigned as BLHELI using SERVO_BLH_AUTO #13126

Closed Hwurzburg closed 3 years ago

Hwurzburg commented 4 years ago

QPlane and presumably Copter: in tricopter frame class, motor7 (function 39) should not be identified as BLHeli passthrough target when SERVO_BLH_AUTO=1. This resets all SERVO params each reboot and prevents proper use of yaw servo. Should be eliminated from mask if tricopter.

Platform [ ] All [ ] AntennaTracker [x ] Copter [ x ] Plane [ ] Rover [ ] Submarine

Airframe type What type of airframe (flying wing, glider, hex, Y6, octa etc)

Hardware type What autopilot hardware was used? (Pixhawk, Cube, Pixracer, Navio2, etc)

Logs Please provide a link to any relevant logs that show the issue

Rolf-G commented 4 years ago

Hi Henry, sorry, but it is important for understanding and for all who want to cross-check this issue: The tricopter frame alone is not sufficient to cause the problem as long as vectored yaw is used (because no function 39 ist used). The problem can only occur with nonvectored tricopter because only these frame use "motor 7" to control

rmackay9 commented 4 years ago

It might be best if we don't use SERVO_FUNCTION 39 (aka motor7) but instead use k_rudder or k_heli_tail_rsc. Anyway, i think @bnsgeyer probably needs to be consulted.

mric3412 commented 3 years ago

I observed the same problem on v4.0.7 stable with tricopter frame : trim value of the tail servo is always refreshed to 0 => servo_trim of SERVO_FUNCTION 39 can not be used.

IamPete1 commented 3 years ago

solved by https://github.com/ArduPilot/ardupilot/pull/18181