Commit Graph

5768 Commits

Author SHA1 Message Date
Andrew Tridgell 0a9070e4fe APM: removed the GPS_enabled flag
this fixes using GPS_PROTOCOL to specify a specific GPS with a GPS
that takes a few updates before it works (eg. needing baud rate
changes).

This makes it easier to use an APM1-1280 with more features enabled
2012-09-11 13:37:34 +10:00
Andrew Tridgell 72e9c31c17 APM: added speed scaling to wheeled steering
this allows for a larger amount of steering control at low speeds
without causing osciallation after takeoff
2012-09-11 13:37:34 +10:00
Jason Short 65dc4ccc6d ACM : Added centralized Iterm logging at a lower rate. Logs all iterms. 2012-09-10 20:26:48 -07:00
Jason Short 63aec7510e ACM Mavlink - fixed comparison of unsigned to signed int by casting to uint8_t 2012-09-10 20:22:57 -07:00
Jason Short 2fcc7d3b22 ACM : Params - formatting cleanup 2012-09-10 20:22:11 -07:00
Andrew Tridgell f5efb25e62 APM: added wdt.h for SITL build of APM 2012-09-10 15:52:53 +10:00
Andrew Tridgell ea78121f1b ACM: use spare CPU cycles to read the magnetometer 2012-09-10 11:38:18 +09:00
rmackay9 8624b0138e AP_InertialSensor_Stub: added num_samples_available method to fix HIL build 2012-09-10 11:38:13 +09:00
rmackay9 d8142c2351 AP_InertialSensor_MPU6000: move _last_sample_time_micros to capture time data_interrupt was called 2012-09-10 11:38:08 +09:00
rmackay9 bd3eab7c0f AP_InertialSensor: use AP_TimerProcess's queue_process to run read from MPU6000 after any currently running processes complete 2012-09-10 11:38:03 +09:00
rmackay9 b1b3b806ad AP_PeriodicProcess: queue_process changes to suspend other processes before running queued process
Also restored suspend_timer to void return type
2012-09-10 11:37:58 +09:00
rmackay9 7a0189fb2c ArduCopter: modified mainloop timing to be in sync with the arrival of new data from the IMU.
This reduces the maximum delay between when new sensor data arrives and when it is actually used by about 5ms.
2012-09-10 11:37:53 +09:00
rmackay9 4e85e545bf ArduCopter: added NUM_IMU_SAMPLES_FOR_XYZHZ definitions for MPU6000 and Oilpan to allow more syncing of the mainloop with the arrival of data from the IMU. 2012-09-10 11:37:48 +09:00
rmackay9 5a3645d36a AP_ADC: added num_samples_available to allow main loop to be synced with arrival of new sensor data for Oilpan. 2012-09-10 11:37:43 +09:00
rmackay9 38feee9c61 AP_IMU: added num_samples_available to allow main loop timing to be synced with arrival of new data from IMU. 2012-09-10 11:37:38 +09:00
rmackay9 3901387c8d AP_InertialSensor: changed read of sensor from MPU6000 to happen immediately
This reduces the delay between when data arrives and when it is used
by up to 1ms.

Added num_samples_available method to all InertialSensors to allow
main loop timing to be synced with sensors.
2012-09-10 11:37:33 +09:00
Andrew Tridgell 29344e688d APM: reboot only works on the APM2 2012-09-10 11:50:48 +10:00
Andrew Tridgell d08bd4214b APM: added support for MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN
this allows for remote reboot of APM
2012-09-10 11:42:30 +10:00
Andrew Tridgell 57ac3f59f2 APM: fixed fetch of relative altitude waypoints
when we fetch relative altitude waypoints from APM to a file, we need
to preserve the altitude
2012-09-10 09:40:29 +10:00
Craig Elder b667c6eb8c APM_RC: fixed noisy PWM output on startup for APM2
This reduces the number of rubbish pulses on the APM2 PWM output pins
on startup, which should help with booting some cheaper ESCs.

Thanks to Randy for the idea!
2012-09-10 08:09:28 +10:00
rmackay9 8f993cde2b ArduCopter: bug fix for ROI not working if user did not have a camera mount
Changed verify_nav_roi command to attempt to point at the target if our camera mount type is not pan_tilt nor pan_tilt_roll
2012-09-10 02:03:32 +09:00
Michael Oborne e9fdbfa969 firmware build 2012-09-09 18:09:07 +08:00
Andrew Tridgell b374f604d6 APM: simplify radio_trim code
this removes the duplicate code. Throttle trim is not changed.
2012-09-09 19:39:09 +10:00
Andrew Tridgell a90182b9d8 APM: fixed throttle nudging
The nudge value depended on RC3_TRIM, which is not a reliable
value. It tried to only take effect when the throttle stick was above
50%, but if RC3_TRIM was high for some reason (say 1500) then it would
actually depress the throttle by a large amount, which could cause the
plane to stall.

This also adds a boolean option THROTTLE_NUDGE to allow disabling of
throttle nudging
2012-09-09 19:39:04 +10:00
Andrew Tridgell 966c1988c3 APM: preparing for 2.61 release 2012-09-08 18:36:17 +10:00
Andrew Tridgell 5c8b9bf3c5 Rover: updated for new RC_Channel_aux API 2012-09-08 15:14:41 +10:00
Andrew Tridgell 95e4316c72 APM: updated for new RC_Channel_aux API 2012-09-08 15:14:41 +10:00
Andrew Tridgell 5060b8bd2e AP_Camera: updated for new RC_Channel_aux API 2012-09-08 15:13:06 +10:00
Andrew Tridgell 540f7894dc AP_Mount: updated for new RC_Channel_aux API 2012-09-08 15:12:52 +10:00
Andrew Tridgell 89dc79fded RC_Channel: simplified RC_Channel_aux and fixed issue 725
it is perfectly valid to configure two RC channels with the same
function, especially when that function is manual output (ie. copy
input to output)

This removes the g_rc_function[] indirection array
2012-09-08 15:12:28 +10:00
Andrew Tridgell c50103ac35 APM: added mtk and mtk16 build targets
useful for testing non-auto gps detection
2012-09-08 12:43:36 +10:00
Andrew Tridgell 39346eac32 APM: prevent crosstrack from takeoff point after takeoff completion 2012-09-08 11:37:14 +10:00
Andrew Tridgell 4219cb55ce APM: use ahrs.airspeed_estimate() in two more places
this applies the wind constraint
2012-09-08 11:37:11 +10:00
Andrew Tridgell 8f70a24fd4 AHRS: added AHRS_WIND_MAX option
this allows APM to cope better with airspeed sensor failure, but
ensuring airspeed stays within AHRS_WIND_MAX of ground speed
2012-09-08 11:37:07 +10:00
Andrew Tridgell c983de9d8b APM_OBC: changed termination servo values, and added loop counter 2012-09-08 11:37:00 +10:00
Andrew Tridgell 9ffeecdf2f APM: fixed some compiler warnings 2012-09-08 10:14:32 +10:00
Andrew Tridgell 63ca982f21 APM: tidy up an if() statement 2012-09-08 10:14:20 +10:00
Andrew Tridgell 9d6bce87dc APM_OBM: Failsafe board sketch
this combines with the OBC failsafe module
2012-09-08 10:07:17 +10:00
Andrew Tridgell 8836851243 APM_OBC: handle separate terminate pin correctly 2012-09-08 10:07:14 +10:00
Andrew Tridgell 6a90b7722a OBC: added FS_TERM_PIN option
this sets a pin for flight termination
2012-09-08 10:07:08 +10:00
Andrew Tridgell b2a74951d1 APM: added RUDDER_STEER option
when enabled, this uses only the rudder to steer during takeoff and
landing, using aileron only for levelling
2012-09-08 10:07:03 +10:00
Andrew Tridgell 9b2a2b2c2e APM: support DO_SET_SERVO command 2012-09-08 10:06:53 +10:00
Andrew Tridgell 12c5e00db9 APM: added XTRK_MIN_DIST option
this allows you to disable crosstrack correction on short legs
2012-09-08 10:06:44 +10:00
Andrew Tridgell 88f4a3bc4a APM: allow serial buffer size to be configured
very useful for packet forwarding setups
2012-09-08 10:06:35 +10:00
Andrew Tridgell 2e7939cbf4 Mavlink: enable MAVLINK_SEPARATE_HELPERS
this fixes a seq number problem with SIMSTATE packets
2012-09-08 10:06:19 +10:00
Andrew Tridgell 880404d062 APM: added forwarding of unknown MAVLink types 2012-09-08 10:06:15 +10:00
Andrew Tridgell 1fecd135ef ACM: use compass.accumulate() in ArduCopter
this gives us a much less noisy magnetometer
2012-09-08 10:06:04 +10:00
Andrew Tridgell a71cee4579 APM: accumulate mag readings during spare cycles in ArduPlane
With this change we average over 100 mag readings per compass.read()
call, which means we are reading the compass at over 1kHz instead of
10Hz. The noise reduction is huge.
2012-09-08 10:05:58 +10:00
Andrew Tridgell b555d86ec0 Compass: added compass.accumulate() API
this allows us to accumulate mag readings using spare CPU cycles
2012-09-08 10:05:54 +10:00
Michael Oborne 35a8bf961c AP fix takeoff alt issue
issue 733
2012-09-06 20:19:12 +08:00