Hi all,
A bit of clarification, or more to the point a bunch of confusion and an explanation of why this way is MUCH easier to understand.
Before we made this change we had the output pwm values. They were generally somewhere between 1000 to 2000 and 1100 and 1900. So a difference of between 1000 and 800.
We scaled this range to 0 to 1000. Then we had minimum throttle of something like 130. Hover throttle was then say 400.
Ok, soooooo what was the pwm output a hover throttle. Lets assume the normal pwm range of 1100 to 1900. For now lets ignore one_shot that can have 125 to 250 us or can buss that could have a 16 bit int or a float.
So minimum throttle was 1100 + 800 *130/1000.
Hover throttle was 1100 + 800 *400/1000. (or something like this). The throttle was represented in 3 different ways and scales through out the code.
So no, it was not simple or directly related to the pwm value and the pwm range is almost never 1000.
So now the throttle value is 0 to 1 where 0 is minimum throttle and 1 is maximum throttle. If you look in your log and you see your throttle value (CTUN_ThO) is set to 0.31 at hover you just set your hover throttle to 0.31 and you are good to go. If you have set your MOT_ parameters correctly the hover throttle won’t change much from a full battery to an empty battery.
So we have a couple of throttle settings that you should probably understand here. We can now set MOT_PWM_MIN and MOT_PWM_MAX. This lets you choose what the pwm range is independent to the range on your radio. If you leave them as zero then it uses the radio values.
MOT_SPIN_ARM, MOT_SPIN_MIN and MOT_SPIN_MAX define the armed pwm output, minimum throttle output and maximum output throttle.
spin when armed pwm = MOT_PWM_MIN + (MOT_PWM_MAX-MOT_PWM_MIN )*MOT_SPIN_ARM
minimum throttle pwm = MOT_PWM_MIN + (MOT_PWM_MAX-MOT_PWM_MIN )*MOT_SPIN_MIN
maximum throttle pwm = MOT_PWM_MIN + (MOT_PWM_MAX-MOT_PWM_MIN )*MOT_SPIN_MIN
MOT_THST_HOVER defines the hover throttle using the formulae below.
Hover throttle pwm = minimum throttle pwm + (maximum throttle pwm-minimum throttle pwm) * MOT_THST_HOVER
The new representation is very simple and has simplified the code a great deal. It has made it much easier to understand and ensure it is bug free. It has also cut down the code significantly and made it quicker.
A few notes on hover throttle:
it has a minimum of 0.125 and maximum of 0.6875. This is the minimum and maximum values we can use a smooth expo curve to put the hover throttle at mid stick.
Marc,
Add a dataflash log so we can see what is happening and I am sure we can fix your issue.