Andrew Tridgell
77926a6965
APM: switch to Randys new IMU rate control method
...
this drives the speed of the 50Hz loop by the number of samples
accumulated in the IMU. This should give much more consistent timing
in DCM.
Thanks to Randy for introducing this scheme in ArduCopter!
2012-09-11 16:39:36 +10:00
Jason Short
b56dc44e61
ACM : Fix enduf
2012-09-10 21:25:53 -07:00
Jason Short
24f80c632c
ACM : forced setup_show to dump params during log dump for better analysis.
2012-09-10 20:52:30 -07:00
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