Instead of going through 'hal' then 'scheduler', use directly the AP_HAL
functions. Besides removing indirection that is not necessary for such
functions, this patch ends up reducing the code size in the call sites.
For example, building ArduCopter for PX4 with this change (compared to
before introduction of the functions) yields almost 3k bytes of code
size.
# ArduCopter build before the functions (1b29a1af46)
text data bss dec hex filename
895264 2812 62732 960808 ea928 /.../px4fmu-v2_APM.build/firmware.elf
# ArduCopter build after this patch
text data bss dec hex filename
892264 2812 62732 957808 e9d70 /.../px4fmu-v2_APM.build/firmware.elf
A later patch will remove the unused functions in the Schedulers.
Fixed this bug
https://github.com/diydrones/ardupilot/issues/840
If a Rover was in AUTO and the user moved the throttle stick into
reverse past 50% the rover would increase. Basically the throttle
nudge behaviour was the same regardless of whether you moved the
throttle forward or backward.
This removes a lot of the ArduPlane specific cruft left over from the
initial Rover import from ArduPlane, plus fixes a bunch of serious
bugs. For example, the rover was unable to use either compass or gps
for heading - it used just gyros!
There is still a lot of cruft left, but this at least gives a bit
better basis for future work
Added option (hold roll to full right + SW7 ON/OFF) to init_home during the wp_list reset
Add ROV_SONAR_TRIG (default = 200 cm) - tested by Franco
Restart_nav() added and heading bug correction, tested OK in the field
RTL then stop update - Tested OK in the field
Added SONAR detection for obstacle avoidance
Signed-off-by: Jean-Louis Naudin <jlnaudin@gmail.com>
Fix an issue with initialization of channels that on-line changed their function.
For the curious people that the code size overhead of having any aux channel do any function (with this code) is 44 bytes.
To see wich code I'm talking about, do a git diff 05057ac2d455..this_commit (replace this commit with the commit hash of this commit)
This simplifies code sharing between ArduCopter and Arduplane at the expense of 48bytes.
Moved CH_x defines out of the defines.h file and into the library where they belong