this ensures we never block while writing a MAVLink message to a
serial port, by checking the number of available bytes in the serial
transmit buffer and deferring any message that would cause a blocking
write.
This should prevent the main loop from clagging up due to excessive
telemetry data being sent
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3251 f9c3cf11-9bcb-44bc-f272-b75c42450872
moved reading sonar to the 50hz loop so the Mode filter could do it's thing without causing so much latency
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3094 f9c3cf11-9bcb-44bc-f272-b75c42450872
Change the way Rate nav works. we now take into account both forward *and lateral* rates. The signs may be backward so be careful! Let me know if the quad shoots off to one side and I'll flip the signs.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3049 f9c3cf11-9bcb-44bc-f272-b75c42450872
moved ground start to first arming
added ground start flag
moved throttle_integrator to 50hz loop
CAMERA_STABILIZER deprecated - now always on
renamed current logging bit mask to match APM
added MA filter to PID - D term
Adjusted PIDs based on continued testing and new PID filter
added MASK_LOG_SET_DEFAULTS to match APM
moved some stuff out of ground start into system start where it belonged
Added slower Yaw gains for DCM when the copter is in the air
changed camera output to be none scaled PWM
fixed bug where ground_temperature was unfiltered
shortened Baro startup time
fixed issue with Nav_WP integrator not being reset
RTL no longer yaws towards home
Circle mode for flying a 10m circle around the point where it was engaged. - Not tested at all! Consider Circle mode as alpha.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2966 f9c3cf11-9bcb-44bc-f272-b75c42450872
this makes most of the variables and functions in the main
ArduCopterMega.pde code static, which allows the compiler to optimise
better, and exposes unused variables as compiler warnings
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2888 f9c3cf11-9bcb-44bc-f272-b75c42450872
Added Yaw control when descending in Alt hold
lowered kP & kD for Alt hold a tad
Adjusted RTL behavior to do speed control up to 4m to home, then go into Loiter
Fixed issue with AUTO not getting proper input.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2873 f9c3cf11-9bcb-44bc-f272-b75c42450872
Added Yaw control when descending in Alt hold
lowered kP & kD for Alt hold a tad
Adjusted RTL behavior to do speed control up to 4m to home, then go into Loiter
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2872 f9c3cf11-9bcb-44bc-f272-b75c42450872
Added camera reversing parameters in AP_Var
Added RTL Throttle Hold set/check
Added dynamic speed control to slow down as you reach waypoints and RTL Home
upped Yaw Dead zone slightly.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2841 f9c3cf11-9bcb-44bc-f272-b75c42450872
Before: -> After
Stabilize P –> Stabilize P (Use NG values, or 8.3 x the older AC2 value)
Stabilize I –> Stabilize I (Stays same value)
Stabilize D –> Rate P (Stays same value)
–> Rate I (new)
Added a new value – an I term for rate. The old stabilization routines did not use this term. Please refer to the config.h file to read more about the new PIDs.
Added framework for using DCM corrected Accelerometer rates. Code is commented out for now.
Added set home at Arming.
Crosstrack is now a full PID loop, rather than just a P gain for more control.
Throttle now slews when switching out of Alt hold or Auto modes for less jarring transitions
Sonar and Baro PIDs are now combined into a throttle PID Yaw control is completely re-written.
Added Octa_Quad support - Max
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2836 f9c3cf11-9bcb-44bc-f272-b75c42450872
Slighted tuned down D term in Loiter PIDs after testing, tuned up P slightly
fixed alt hold bug cause when gaining 3D lock in alt hold.
Mavlink now reports correct throttle scaling value in mavlink
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2745 f9c3cf11-9bcb-44bc-f272-b75c42450872
new Loiter PIDs
tuned down control on standard frame
shunk the mixing range for sonar from 3 meters to 2 meters
added framework for Guided mode - not tested!
removed pitch and roll deadzone
decoupled SIMPLE mode from LOITER PIDs
Synced Mavlink with APM
Logs report correct WP number now.
disabled Sonar spike filter.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2722 f9c3cf11-9bcb-44bc-f272-b75c42450872
Reverted to prior Rangefinderlib in case that was causing bad sonar readings.
reduced crosstrack gains and max angle to avoid overshoots and oscillations.
added additional D gain to Loiter hold to prevent overshoots
added D gain to WP_nav to avoid speed oscillations
upped navigation speed to 6m/s from 4.5m/s
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2710 f9c3cf11-9bcb-44bc-f272-b75c42450872
Fixed Mavlink issue
Added look at home option for SIMPLE mode. Off be default. Untested.
Upped performance of Yaw.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2695 f9c3cf11-9bcb-44bc-f272-b75c42450872
Fixed GCS updates,
Clear GCS Streamrates by default.
moved fast PWM functions to run all the time (for quads, experiment)
cleaned up Mavlink a bit.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2678 f9c3cf11-9bcb-44bc-f272-b75c42450872
Includes updated motor tests. These need to be verified.
Nav loiter D was added (.03) - verify this helps.
Nav_lat is now filtered for Rate control. This is to keep jerky pitching to a minimum.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2448 f9c3cf11-9bcb-44bc-f272-b75c42450872
Made minor change in Loiter to check something.
Motor LEDs enabled. Let me know if they work OK.
Armed Motors is now Solid to match GPS behavior.
git-svn-id: https://arducopter.googlecode.com/svn/trunk@2421 f9c3cf11-9bcb-44bc-f272-b75c42450872