Commit Graph

5760 Commits

Author SHA1 Message Date
rmackay9 130f3b0030 AP_InertialSensor_MPU6000: move _last_sample_time_micros to capture time data_interrupt was called 2012-09-10 11:38:08 +09:00
rmackay9 7a265dbf61 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 55ef1e0a29 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 fd110a2723 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 42406c827a 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 6ea5c21f7c 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 fc4ff007e6 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 0a6219695b 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 0812fc4890 APM: reboot only works on the APM2 2012-09-10 11:50:48 +10:00
Andrew Tridgell cb88681914 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 e2779523ea 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 90b74f5bab 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 5d3ddf1fc9 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 a32002e14b firmware build 2012-09-09 18:09:07 +08:00
Andrew Tridgell feb3fe77ce 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 5c3595e0dc 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 657dd5969f APM: preparing for 2.61 release 2012-09-08 18:36:17 +10:00
Andrew Tridgell 6e15aa68b8 Rover: updated for new RC_Channel_aux API 2012-09-08 15:14:41 +10:00
Andrew Tridgell 49468953a3 APM: updated for new RC_Channel_aux API 2012-09-08 15:14:41 +10:00
Andrew Tridgell 4c07add542 AP_Camera: updated for new RC_Channel_aux API 2012-09-08 15:13:06 +10:00
Andrew Tridgell f41270a3ce AP_Mount: updated for new RC_Channel_aux API 2012-09-08 15:12:52 +10:00
Andrew Tridgell 3b97339104 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 a6422be8fb APM: added mtk and mtk16 build targets
useful for testing non-auto gps detection
2012-09-08 12:43:36 +10:00
Andrew Tridgell f26b9ab286 APM: prevent crosstrack from takeoff point after takeoff completion 2012-09-08 11:37:14 +10:00
Andrew Tridgell dec12c7370 APM: use ahrs.airspeed_estimate() in two more places
this applies the wind constraint
2012-09-08 11:37:11 +10:00
Andrew Tridgell de28cc8b28 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 8458607928 APM_OBC: changed termination servo values, and added loop counter 2012-09-08 11:37:00 +10:00
Andrew Tridgell cde7d8c5e7 APM: fixed some compiler warnings 2012-09-08 10:14:32 +10:00
Andrew Tridgell d07d42403e APM: tidy up an if() statement 2012-09-08 10:14:20 +10:00
Andrew Tridgell fa84ba451a APM_OBM: Failsafe board sketch
this combines with the OBC failsafe module
2012-09-08 10:07:17 +10:00
Andrew Tridgell cca04d195a APM_OBC: handle separate terminate pin correctly 2012-09-08 10:07:14 +10:00
Andrew Tridgell 13145e4c01 OBC: added FS_TERM_PIN option
this sets a pin for flight termination
2012-09-08 10:07:08 +10:00
Andrew Tridgell 164c60d25f 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 130b26e1f9 APM: support DO_SET_SERVO command 2012-09-08 10:06:53 +10:00
Andrew Tridgell 96ea350143 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 a446a7a9ed APM: allow serial buffer size to be configured
very useful for packet forwarding setups
2012-09-08 10:06:35 +10:00
Andrew Tridgell 3a1ff7bdd9 Mavlink: enable MAVLINK_SEPARATE_HELPERS
this fixes a seq number problem with SIMSTATE packets
2012-09-08 10:06:19 +10:00
Andrew Tridgell 9b2ad55773 APM: added forwarding of unknown MAVLink types 2012-09-08 10:06:15 +10:00
Andrew Tridgell f97104b435 ACM: use compass.accumulate() in ArduCopter
this gives us a much less noisy magnetometer
2012-09-08 10:06:04 +10:00
Andrew Tridgell 68705fe7e6 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 6922dcdea2 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 cd08420c3e AP fix takeoff alt issue
issue 733
2012-09-06 20:19:12 +08:00
Michael Oborne c1235c55d5 Fix Approach Altitude min 2012-09-06 17:43:58 +08:00
Pat Hickey b02340fe10 APM_Config.h for ArduCopter/ArduPlane: better descr of APM2_BETA_HARDWARE 2012-09-05 15:36:57 -07:00
Michael Oborne 864d777856 Mission Planner 1.2.11
Fix ac crosstrack display
tweak ap_mount
speed up Terminal
2012-09-04 06:46:56 +08:00
Michael Oborne d3e5746993 firmware build 2012-09-02 13:34:03 +08:00
Michael Oborne 38942a1ea6 firmware build 2012-09-02 13:05:33 +08:00
rmackay9 5073e56c06 ArduCopter: upgraded firmware version to 2.7.3 2012-09-02 12:58:16 +09:00
rmackay9 c9d34c1737 ArduCopter: fixes to allow AP_Mount to work on APM1 with original default channels and fix to reenable support for 3-axis gimbals on APM2.
Channels 5 to 11 changed to RC_Channel_aux.
Removed channel 9 because APM_RC doesn't support it in any case.
Updated EEPROM format version to 119 because of the change to RC_Channel_aux and because k_param_rc_11 moved to be after k_param_rc_10.
2012-09-02 12:51:23 +09:00
rmackay9 9013d9be43 ArduCopter: remove unnecessary references to CH_CAM_PITCH, CH_CAM_ROLL, CH_CAM_YAW 2012-09-02 12:47:27 +09:00