Andrew Tridgell
d642254f18
Plane: breakup one second loop into 3 pieces
...
this prevents it not running when gimbal is active
2013-12-09 17:34:07 +11:00
Randy Mackay
b6462c23af
Plane: disable external leds
2013-11-30 22:53:55 +09:00
Andrew Tridgell
5a0cb5dea4
Plane: added sonar logging to dataflash
2013-11-28 21:49:27 +11:00
Andrew Tridgell
a05a32dbda
Plane: added RCIN and SRVO logging
2013-11-26 09:04:43 +11:00
Andrew Tridgell
2fa5e6310d
Plane: added 3rd telemetry stream on platforms that have it
...
this generalises the gcs object usage
2013-11-23 19:29:22 +11:00
Andrew Tridgell
53c3dff334
Plane: allow changing of loiter direction while loitering
...
useful for causing path capture failures in the sim
2013-11-07 11:54:28 +11:00
Andrew Tridgell
1328bbf040
Plane: log the AHRS error terms in dataflash
...
also log raw IMU at 10Hz with default config
2013-11-07 10:19:13 +11:00
Andrew Tridgell
691eaabe94
Plane: prepare for 2.76 release
2013-11-05 15:55:08 +11:00
Andrew Tridgell
5e4b243c7b
Plane: make DataFlash objects static
2013-11-04 21:37:50 +11:00
Andrew Tridgell
231b5ab793
Plane: prevent too large combined pitch/roll angles
...
this reduces the roll limit by cos(pitch) and pitch minimum by
cos(roll). This prevents unreasonable attitudes in all stabilised
modes
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-11-04 21:21:42 +11:00
Andrew Tridgell
ff5f2ceae5
Plane: update for API changes
2013-11-04 21:21:42 +11:00
Andrew Tridgell
b1c9b57c73
Plane: mark 2.76beta1
2013-11-02 21:48:17 +11:00
Andrew Tridgell
26a3860af2
Plane: fixed PM message
2013-11-02 21:41:30 +11:00
Andrew Tridgell
bcb0deb888
Plane: ready for 2.75 release
2013-10-28 18:22:25 +11:00
Andrew Tridgell
3ff407cb75
Plane: improved perf monitoring with SCHED_DEBUG
2013-10-28 17:10:00 +11:00
Andrew Tridgell
a407609dbe
Plane: tag 2.75beta5
2013-10-26 07:57:35 +11:00
Andrew Tridgell
b897285737
Plane: set system time on GPS lock
2013-10-24 14:22:48 +11:00
Andrew Tridgell
210ca08abd
Plane: changed to 2.75beta4
2013-10-18 11:53:51 +11:00
Andrew Tridgell
4239498b62
Plane: moved fast_loop() into main scheduler table
2013-10-15 09:52:23 +11:00
Andrew Tridgell
a3168bcbaa
Plane: fixes for AP_Mount API
2013-10-13 11:03:31 +09:00
Andrew Tridgell
035ac3800a
Plane: use G_Dt for acro angle integration
...
also cleanup some other uses of performance timing
2013-10-12 13:30:27 +11:00
Andrew Tridgell
05115684c1
Plane: pass FlightStage to TECS
...
this will allow for better throttle and pitch control on landing
2013-10-12 13:14:30 +11:00
Andrew Tridgell
72505cf4e5
Plane: release 2.75beta3
2013-10-11 16:29:08 +11:00
Andrew Tridgell
8e5d1430da
Plane: use ins.wait_for_sample()
2013-10-08 17:31:15 +11:00
Andrew Tridgell
2bb497703c
Plane: avoid delay_microseconds() until fixed on PX4
2013-10-08 14:55:38 +11:00
Andrew Tridgell
48ed480d59
Plane: improved latency of main loop
...
use a 500usec delay
2013-10-08 11:50:54 +11:00
Andrew Tridgell
e6af7dad3d
Plane: switched to L3G4200D driver for Linux
2013-10-08 11:50:54 +11:00
Andrew Tridgell
61dd04ccb5
Plane: auto-update home and baro calibration when disarmed
...
this takes advantage of the PX4 arming state to ensure position and
baro calibration is updated
2013-10-05 18:45:45 +10:00
Andrew Tridgell
d275f50539
Plane: added GROUND_STEER_ALT and GROUND_STEER_DPS
...
this uses the new AP_SteerController steering controller developed for
the rover code to allow for ground steering of planes
2013-10-05 07:46:27 +10:00
Randy Mackay
9388ea3848
Plane: integrate BattMonitor exhausted method
...
BatteryMonitor object made static
Removed unused macros for battery voltage and current monitoring
2013-10-03 11:16:21 +09:00
Randy Mackay
c64d444b5a
Plane: integrate BattMonitor
2013-10-03 11:16:08 +09:00
Andrew Tridgell
65976831e2
Plane: moved Linux logs to logs directory
2013-10-01 13:05:18 +10:00
Andrew Tridgell
eef693f243
Plane: removed some compat code
...
fixes warnings
2013-09-30 21:06:43 +10:00
Andrew Tridgell
444d053dc2
Plane: enable Oilpan and BMP085 on Linux
2013-09-29 01:02:05 +10:00
Andrew Tridgell
f68778d453
Plane: be friendly to multi-tasking OSes
2013-09-28 22:04:15 +10:00
Andrew Tridgell
287db19119
Plane: updates for Stub -> HIL
2013-09-28 22:04:15 +10:00
Andrew Tridgell
1fd0f73e3f
Plane: use DataFlash_File on Linux
2013-09-28 21:24:02 +10:00
Andrew Tridgell
c3d0b315cf
Plane: added HAL_LINUX includes
2013-09-28 21:24:02 +10:00
Andrew Tridgell
650ff258db
Plane: update for new INS API
2013-09-27 10:49:00 +10:00
Mike McCauley
6a8c1a0c36
Plane: Added flymaple to ArduPlane
2013-09-24 13:51:28 +10:00
Andrew Tridgell
b28a4f21f2
Plane: fixed uartA baud rates for APM1
2013-09-21 09:30:29 +10:00
Andrew Tridgell
4bd6b2f428
Plane: use new usb_connected() function
2013-09-19 16:23:58 +10:00
Andrew Tridgell
150e7a3f16
Plane: prevent arming tone on startup
2013-09-18 10:56:06 +10:00
Andrew Tridgell
95a696ea36
Plane: enable failsafe battery reporting
2013-09-18 10:50:34 +10:00
Andrew Tridgell
ec0c894306
Plane: use the projected position for geofencing and waypoints
2013-09-17 21:05:25 +10:00
Andrew Tridgell
43ffe91546
Plane: added FS_ACTION of 2 for glide
...
this allows people without specified settings in their receiver for
failsafe to choose FBWA zero throttle glide on throttle failsafe. That
can be a better choice when flying at a R/C club field
2013-09-15 15:05:39 +10:00
Andrew Tridgell
cc6acac1dd
Plane: added AUTO_FBW_STEER option
...
this is an unusual option that gives FBWA flight control in AUTO
mode. It is being added to support use of APM in an aerial robotics
competition where students need to pilot the plane, but they still
need waypoint triggering of payloads
2013-09-13 14:38:09 +10:00
Andrew Tridgell
de7b42e323
Plane: changed to AP_Vehicle.h
2013-09-13 11:46:54 +10:00
Andrew Tridgell
f6688582a6
Plane: added FENCE_ACTION=3 behaviour
...
this makes it safer to enable the geofence as a receiver failsafe
mode. It retains manual throttle control, so if it triggers on the
ground due to the receiver losing signal from the transmitter then the
throttle can be kept low, preventing an unexpected takeoff.
2013-09-08 07:31:10 +10:00
Andrew Tridgell
4762b3e7c6
Plane: change to 2.75beta2
2013-08-30 14:02:21 +10:00
Andrew Tridgell
a93f7c39a9
Plane: updates for new notify API
2013-08-30 13:01:35 +10:00
Randy Mackay
ad8bd16725
Plane: integrate AP_Notify
2013-08-30 13:01:35 +10:00
Andrew Tridgell
5cec9b65c9
Plane: constrain calibration to roll/pitch limits
2013-08-30 13:01:34 +10:00
Andrew Tridgell
8dd0aa12ed
Plane: prevent GPS speed spikes at startup from breaking airspeed cal
...
the filter can be affected by a huge GPS velocity spike
2013-08-18 11:42:22 +10:00
Andrew Tridgell
4425b6af7c
Plane: update for new TECS API
2013-08-14 14:59:01 +10:00
Andrew Tridgell
accfd46633
Plane: update for new APM_Control API
2013-08-14 14:57:41 +10:00
Andrew Tridgell
8378dc9779
Plane: use reference to AHRS
2013-08-13 13:49:34 +10:00
Andrew Tridgell
a33573352e
Plane: fixes for updated AP_Math and AHRS APIs
...
Pair-Programmed-With: Brandon Jones <brnjones@gmail.com>
2013-08-05 10:30:04 +10:00
Andrew Tridgell
e22f58c9fc
Plane: fixed build with OBC failsafe
2013-08-03 09:18:01 +10:00
Andrew Tridgell
c3b5f20a45
Plane: run TECS 50Hz code when throttle suppressed
...
this fixes auto-launch detection using TECS
2013-08-02 18:46:48 +10:00
Andrew Tridgell
8428779558
Plane: make it easier to find task numbers
2013-08-02 18:46:42 +10:00
Andrew Tridgell
62cc84aba3
Plane: use new scheduler load_average() function
...
this also simplifies the main loop
2013-08-02 18:46:28 +10:00
Andrew Tridgell
233b033e8c
Plane: removed old speed/altitude control algorithms
...
Use TECS only. This makes the code a lot simpler and easier to
properly document
2013-07-22 13:28:11 +10:00
Andrew Tridgell
c0697d0a2d
Plane: mark 2.75beta1
2013-07-22 12:50:30 +10:00
Andrew Tridgell
6e288551ab
Plane: fixed reversion to pre-failsafe mode
...
if AUTO was entered using GCS, we need to switch back to the old mode,
not control channel
2013-07-22 12:50:02 +10:00
Andrew Tridgell
c8a83e17d0
Plane: remove old AIR_START code
...
this was never used or tested
2013-07-22 12:50:01 +10:00
Andrew Tridgell
7673ca0bac
Plane: updates for new EAS2TAS scaling
2013-07-22 12:50:01 +10:00
Andrew Tridgell
9bbe6c1967
Plane: update to new license boilerplate for GPLv3
...
we had LGPLv2 in some places, despite the fw being GPLv3
2013-07-22 12:50:01 +10:00
Andrew Tridgell
882aa68c16
Plane: use new airspeed calibration code
...
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-22 12:50:01 +10:00
Andrew Tridgell
9b70675b12
Plane: check the control switch a bit more often
...
faster response to mode changes
2013-07-22 12:50:00 +10:00
Andrew Tridgell
51b9cf3e76
Plane: move failsafe variables into a structure
...
this makes the logic a bit easier to follow
2013-07-22 12:50:00 +10:00
Andrew Tridgell
608345415b
Plane: pass aircraft parameters to attitude controllers
...
also cope with rename of airspeed min/max variables
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-18 14:53:37 +10:00
Andrew Tridgell
a4f49a28fb
Plane: prepare for 2.74b release
2013-07-16 09:45:32 +10:00
Andrew Tridgell
e27dd14bcc
Plane: fixed FBWB aileron control
2013-07-16 09:44:23 +10:00
Andrew Tridgell
e8355905dd
Plane: prepare for 2.74 release
2013-07-15 11:19:38 +10:00
Andrew Tridgell
dbd47b2a30
Plane: make TECS the default speed/height controller
2013-07-15 11:12:24 +10:00
Andrew Tridgell
ec21922233
Plane: make wp_distance static
...
removed hack in AP_Camera library
2013-07-15 09:56:28 +10:00
Andrew Tridgell
ed20c4cbc8
Plane: fixed initial reporting of battery remaining
...
we were not showing battery remaining 100% until we used some battery
2013-07-14 21:59:15 +10:00
Andrew Tridgell
d4db2231d4
Plane: change to 2.73beta4
2013-07-13 21:47:22 +10:00
Andrew Tridgell
dc024d425a
Plane: re-do roll hanging in ACRO mode
...
this avoids the euler angle zeros of the previous method by using a
gyro integrator on the roll axis
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-07-13 21:45:58 +10:00
Andrew Tridgell
113bc20f8a
Plane: added a new CRUISE flight mode
...
See
http://diydrones.com/group/apmusergroup/forum/topics/feature-request-hold-heading-mode
this fixes issue #438
2013-07-13 21:45:58 +10:00
Andrew Tridgell
ea9ae31a7a
Plane: fixed a bug with altitude drift in FBWB mode
...
not taking account of deadzone correctly
2013-07-12 21:17:09 +10:00
Andrew Tridgell
1d04290eab
Plane: change to 2.74beta3
2013-07-11 11:58:54 +10:00
Andrew Tridgell
608007361b
Plane: added initial implementation of ACRO mode
...
rate based control with attitude locking
2013-07-11 09:10:41 +10:00
Andrew Tridgell
3c97fad2ec
Plane: changes for GPS field changes
2013-07-10 14:04:22 +10:00
Andrew Tridgell
7aa360b176
Plane: added relative_altitude helper functions
...
prevents some code duplication
2013-07-10 14:04:22 +10:00
Paul Riseborough
971d36f06b
Plane: added height to 10Hz TECS call
2013-07-10 14:04:22 +10:00
Andrew Tridgell
f7c8d1e1ee
Plane: use current_loc.alt for altitude to TECS
2013-07-10 11:55:35 +10:00
Craig@3DR
7f4336430a
Plane: trigger picture + logging on camera update_location()
2013-07-10 08:40:01 +10:00
Paul Riseborough
a4f3180e2a
Plane: added support for throttle nudging with TECS
2013-07-09 20:51:03 +10:00
Paul Riseborough
c34803db13
Plane: pass in adjusted height above field to TECS
2013-07-09 09:25:55 +10:00
Andrew Tridgell
9f612f6f78
Plane: only call TECS when throttle is not suppressed
...
this helps prevent integrator buildup on the ground
2013-07-08 12:07:50 +10:00
Andrew Tridgell
1355b6d89d
Plane: break-up scheduling into smaller pieces
...
ensure mavlink sends don't push us over a scheduling boundary
2013-07-05 18:05:27 +10:00
Andrew Tridgell
d30dd7c3f1
Plane: only run TECS when in an auto-throttle mode
...
this prevents integrator buildup in user controlled modes
2013-07-05 14:55:22 +10:00
Andrew Tridgell
dd330885b8
Plane: added compass and baro accumulate functions
2013-07-05 12:59:15 +10:00
Andrew Tridgell
6c7d160ee6
Plane: fixed TECS takeoff detection
2013-07-04 16:56:57 +10:00
Andrew Tridgell
a5bda3ffef
Plane: changed to using a "aircraft parameters" structure
...
this structure can be passed to libraries to give them easy access to
critical user parameters
2013-07-04 16:56:57 +10:00
Paul Riseborough
d62636d309
Plane: added new TECS altitude controller
...
Includes improvements to takeoff/launch detect logic to support hand
launching for X-8 flight
2013-07-04 16:56:57 +10:00
Andrew Tridgell
0d3faeda90
Plane: update_mount assumes 50Hz, for camera trigger
2013-06-25 12:44:26 +10:00
Andrew Tridgell
bb47029564
Plane: enable CAM_TRIGG_DIST parameter
2013-06-25 12:44:26 +10:00
Andrew Tridgell
056e0ca40d
Plane: APM2 doesn't have channel 9 PWM output
2013-06-24 13:06:54 +10:00
Andrew Tridgell
641ad6bc63
Plane: increase time allowed for update_alt()
...
the altitude tracking code can be quite expensive with TECS
2013-06-07 08:41:09 +10:00
Andrew Tridgell
b27ffdd087
Plane: new plane beta 2.74beta2
2013-06-04 15:10:11 +10:00
Andrew Tridgell
c008fa764c
Plane: update_commands() can take 7ms if it needs to write a waypoint
2013-06-04 13:42:25 +10:00
Andrew Tridgell
93cd0f9a31
Plane: switch to new AP_Scheduler
...
this gives us more accurate task scheduling in ArduPlane, plus better
monitoring of task timing (via SCHED_DEBUG)
2013-06-04 13:34:58 +10:00
Andrew Tridgell
02d72ffcba
Plane: make it possible to change board orientation at runtime
2013-06-03 16:52:44 +10:00
Andrew Tridgell
4c9bc30f58
Plane: make it possible to change control channel ordering without reboot
...
this makes configuration a bit easier
2013-06-03 16:42:38 +10:00
Andrew Tridgell
fb9bf21522
Plane: allow channel mapping of first 4 channels
...
this makes it easier to support DSM and SBUS radios
2013-06-03 16:23:48 +10:00
Andrew Tridgell
f7697574db
Plane: use the new airspeed driver interface
...
the choice of analog source is now in the airspeed driver
2013-06-03 11:51:09 +10:00
Andrew Tridgell
bb3171ab5f
Plane: zero attitude integrators on the ground
2013-06-01 22:29:38 +10:00
Andrew Tridgell
cd55ed45e2
Plane: removed the old roll/pitch/yaw PID controllers
...
use the new controllers, with auto parameter conversion
2013-05-31 14:06:56 +10:00
Andrew Tridgell
eba7d6da9a
Plane: removed the old crash_timer code
...
This code is less relevent with the new L1 navigation, and could cause
issues with the pilot not having control after a long dive.
Thanks to Soren for pointing out the issues
See issue #305
2013-05-28 11:19:28 +10:00
Andrew Tridgell
dd633fcf3f
Plane: make voltage and battery capacity failsafe settable at runtime
...
this also fixes issue #292
2013-05-22 20:33:57 +10:00
Andrew Tridgell
bd4b7d136f
Plane: mark ArduPlane 2.74beta
2013-05-13 17:32:33 +10:00
Andrew Tridgell
001d18b51d
Plane: removed scaling of pitot source
2013-05-13 15:19:05 +10:00
Andrew Tridgell
97b6aaac77
Plane: use voltage_average() for RSSI
...
this fixes it on PX4
2013-05-13 15:19:05 +10:00
priseborough
854c50501d
Plane: Added a constraint to demanded bank angle during FBW-A mode to prevent roll limits being exceeded
2013-05-07 11:01:05 +10:00
Andrew Tridgell
0cf49308af
Plane: mark a 2.73beta release
2013-05-05 22:36:22 +10:00
Andrew Tridgell
0e6a64fc14
Plane: reset roll/pitch integrators for APM_Control in takeoff
...
when airspeed is below airspeed minimum. This is consistent with the
previous controllers
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-05-05 22:03:13 +10:00
Andrew Tridgell
4e2b88f6e6
Plane: added ATT_CONTROLLER option to select attitude controller
...
set to 1 for the new APM_Control library
2013-05-05 21:51:09 +10:00
Andrew Tridgell
3cd52a9689
Plane: fixes for AP_Baro_HIL
2013-05-02 15:09:27 +10:00
Andrew Tridgell
855277fa85
Plane: get ready for 2.72 release
2013-04-28 15:56:30 +10:00
Andrew Tridgell
b53e3bb1fc
Plane: log GPS messages as they come in
...
stops us logging duplicate messages
2013-04-28 14:56:31 +10:00
Andrew Tridgell
0b8c2da4df
Plane: support 12 output channels on PX4
2013-04-25 20:10:53 +10:00
Andrew Tridgell
ac7561c5d5
Plane: mark 2.72beta version
2013-04-24 16:19:18 +10:00
Andrew Tridgell
2e5834cc7f
Plane: print flight mode as string in logs
2013-04-20 15:18:10 +10:00
Andrew Tridgell
5c553852ed
Plane: when logging is disabled don't include DataFlash at all
2013-04-20 13:52:36 +10:00
Andrew Tridgell
0c5b393919
Plane: added compass logging
2013-04-20 13:52:36 +10:00
Andrew Tridgell
c8af70a18d
Plane: make the plane code compatible with the new logging system
...
not actually converted yet
2013-04-20 13:52:36 +10:00
Andrew Tridgell
abe4dba871
Plane: added PX4 flash logging
2013-04-17 21:35:27 +10:00
Andrew Tridgell
42344455c9
Plane: fixed structure init for arduino compiler
2013-04-15 21:59:07 +10:00
Andrew Tridgell
75f4a43e2d
Plane: fixed LOITER_TURNS command
...
and cleanup more loiter variables
2013-04-15 21:31:11 +10:00
Andrew Tridgell
82cd391cf8
Plane: use RADIUS_OF_EARTH define
2013-04-15 14:55:58 +10:00
Andrew Tridgell
8f091e70c8
Plane: move elevon variables into a structure
2013-04-15 14:53:56 +10:00
Andrew Tridgell
79c6f32400
Plane: made variables static and remove initial rc overrides
...
minor code size savings
2013-04-15 14:46:01 +10:00
Andrew Tridgell
8d2cf6f3e5
Plane: update author list
2013-04-12 22:01:41 +10:00
priseborough
70a186464b
Plane: added LEVEL_ROLL_LIMIT parameter
...
this replaces both TKOFF_HEAD_HOLD and RUDDER_STEER, allowing users to
instead select a roll limit for takeoff and landing
2013-04-12 21:59:52 +10:00
Andrew Tridgell
575f346e85
Plane: removed HIL_MODE_ATTITUDE
...
we really need full sensors for HIL with the L1 controller. The flight
is also _much_ better with sensors HIL.
2013-04-12 17:44:40 +10:00
Andrew Tridgell
11eb0cfce1
Plane: update for new AP_Navigation controller class
...
this switches ArduPlane over to use the L1 navigation controller, via
a generic nav_controller object pointer.
Note that the nav_controller controls all types of navigation now,
including level flight and heading hold. This provides a cleaner
abstraction than the old method of special case navigation handling
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-04-12 12:48:09 +10:00
Andrew Tridgell
dcbe144c7e
Plane: prepare for release of 2.71
2013-04-06 17:27:21 +11:00
Andrew Tridgell
c5e2cfcc3e
Plane: preparing for 2.71-beta
2013-04-02 09:25:24 +11:00
Andrew Tridgell
7db7d7db77
Plane: change FBWB altitude control algorithm
...
this makes FBWB much less sensitive to airframe tuning. When the
elevator stick first goes neutral it locks in the current altitude as
the target altitude. When the elevator stick is off neutral, it moves
the target altitude in proportion to the elevator, at a rate goverened
by the new FBWB_CLIMB_RATE parameter
This prevents the aircraft from slowly drifting in altitude in FBWB,
and gives a more intuitive control mechanism for altitude.
Thanks to Chris Miser from Falcon UAV for help in designing this
change
2013-03-28 10:27:25 +11:00
Randy Mackay
a49fe272ad
Plane: replace gps fix with status
...
Required to ensure 3d fix is used for initialising home
2013-03-27 11:42:02 +09:00
Andrew Tridgell
f077f54e6a
Plane: added TKOFF_HEAD_HOLD option
...
this allows control over whether ArduPlane tries to hold heading
during auto takeoff. For hand launches it can be better to hold the
wings level and not attempt to hold heading during takeoff to prevent
the possibility of a stall during the climb out.
Thanks to Chris Miser from Falcon UAV for the feedback that led to
this option.
2013-03-27 10:27:14 +11:00
Andrew Tridgell
1d983b3f2e
Plane: fixed X accel triggering of auto
2013-03-22 11:53:45 +11:00
Andrew Tridgell
1ebaa14a99
Plane: prepare for 2.70 release
2013-02-21 09:49:15 +11:00
Andrew Tridgell
2f677acf3b
Plane: update firmware version to 2.69
2013-02-11 15:02:08 +11:00
Andrew Tridgell
9f70c6c70d
Plane: make CIRCLE mode hold altitude
...
this will prevent us losing a lot of altitude during the initial
failsafe phase
2013-02-11 13:52:25 +11:00
Jochen Tuchbreiter
c5f19f5df8
Plane: Implement issue 80: counterclockwise loiter
...
- libraries/AP_Common/AP_Common.h: Use bit 2 of Location.options to store
loiter direction
- ArduPlane/defines.h: New bitmask MASK_OPTIONS_LOITER_DIRECTION for struct
Location bit 2
- ArduPlane/ArduPlane.pde: New variable loiter_direction
- ArduPlane/GCS_Mavlink.pde: For mavlink loiter-commands use sign of param3 to
detemine direction. Set Location.option flag accordingly
- ArduPlane/commands.pde: Make sure loiter-directions get saved into EEPROM
correctly
- ArduPlane/commands_logic.pde: Set loiter_direction on all loiter-actions
as well as RTL/instant loiter
- ArduPlane/navigation.pde: Yield loiter_direction in update_loiter
2013-02-05 10:29:31 +11:00
Andrew Tridgell
ebb7f27962
Plane: minor signed/type fixups
2013-01-27 13:16:26 +11:00
Andrew Tridgell
3caaa27526
Plane: fixed build errors in logging
2013-01-27 12:58:50 +11:00
Randy Mackay
7297a1ff83
Plane: renamed RAW dataflash message to IMU
2013-01-26 17:29:29 +09:00
Randy Mackay
e674626fd6
Plane: rename CUR and CURR to CURRENT for logging
...
Based on user complaint that log was enabled/disabled using CUR while
message that appeared in log was CURR.
2013-01-26 17:19:42 +09:00
Randy Mackay
6f46f4a7d0
Plane: logging changes to use new faster packet method
...
also RAW message renamed to IMU
2013-01-26 17:07:21 +09:00
Randy Mackay
d2767b911c
AP_Math: switch get_distance_cm to return uint32_t
...
Includes changes required on ArduCopter and ArduPlane side as well
2013-01-26 17:04:12 +09:00
Andrew Tridgell
4d9a74d742
Plane: cleanup driver declaration
...
remove a lot of the #if nesting
2013-01-21 16:08:55 +11:00
Andrew Tridgell
4deee014d6
Plane: setup PX4 airspeed analog port
2013-01-21 13:56:28 +11:00
Andrew Tridgell
92c9a4c1ce
Plane: start update logging for new API
2013-01-13 17:31:42 +11:00
Andrew Tridgell
bea9a9d558
Plane: move memcheck_init() earlier in setup()
2013-01-11 10:25:09 +11:00
James Bielman
ab37f833db
MS5611: Fix CONFIG_MS5611_SERIAL definitions.
...
- Make sure the values are defined as integers. We were always using
SPI rather than using I2C when desired.
2013-01-09 11:19:51 -08:00
Andrew Tridgell
38f56be2c4
Plane: enable hardware sensors on PX4
2013-01-04 21:07:56 +11:00
James Bielman
264db3670e
AP_Baro: Add CONFIG_MS5611_SERIAL option to choose between SPI and I2C.
...
- Update ArduCopter and ArduPlane modules to pass the correct serial
driver to the MS5611 driver.
- Update barometer examples, assuming SPI.
2013-01-03 13:48:06 -08:00
Andrew Tridgell
4cdb3cd390
Plane: use GRAVITY_MSS
2013-01-02 14:45:08 +11:00
Andrew Tridgell
1a49549e3e
Plane: start port of main ArduPlane code to AP_HAL_PX4
2013-01-02 14:45:08 +11:00
Andrew Tridgell
b6295c12e1
Plane: fixes for new AP_Relay interface
2013-01-02 10:18:45 +11:00
Craig@3DR
0ed25cf719
Global change all references from
...
GPS_PROTOCOL_MTK16
to
GPS_PROTOCOL_MTK19
2013-01-02 09:24:31 +11:00
Andrew Tridgell
edad43611d
Plane: reset last heartbeat time on startup completion
...
this gives more time for the GCS to send its first heartbeat
2012-12-26 08:46:36 +11:00
Andrew Tridgell
d54c6989ab
Plane: fixed the last build warnings
...
we now build with no warnings for APM1, APM2 and SITL. Yay!
2012-12-20 22:46:48 +11:00
Andrew Tridgell
feca411943
Plane: added new TRAINING mode
...
this mode gives manual control when the roll or pitch is within the
set limits (the same limits as FBW mode), and prevents the pilot from
flying beyond those limits, essentially a "attitude limited manual"
mode
2012-12-20 22:41:58 +11:00
Andrew Tridgell
9a2e77b797
Plane: fully disable relay and mount code on APM1-1280
...
this saves some more flash space
2012-12-20 14:53:23 +11:00
Andrew Tridgell
cf18534163
Plane: use new functions
2012-12-20 14:53:22 +11:00
Andrew Tridgell
62d7fd1a26
Plane: fixed HIL builds
2012-12-20 14:52:37 +11:00
Andrew Tridgell
761ab5c3e8
Plane: use AP_HAL_BOARD_DRIVER
2012-12-20 14:52:33 +11:00
Andrew Tridgell
73f70cc596
Plane: moved to new GPS init syntax
2012-12-20 14:52:32 +11:00
Andrew Tridgell
678947c65d
Plane: more fixes for SITL and new AP_Param startup
2012-12-20 14:52:29 +11:00
Andrew Tridgell
e82deca305
Plane: updates to support AP_HAL SITL
2012-12-20 14:51:40 +11:00
Pat Hickey
f8dec9ae4a
ArduPlane: fixes to use CONFIG_HAL_BOARD instead of CONFIG_APM_HARDWARE
2012-12-20 14:51:37 +11:00
Pat Hickey
a14621534c
ArduPlane: port from hal.dataflash to old DataFlash api
2012-12-20 14:51:36 +11:00
Pat Hickey
92b0c302f2
ArduPlane: Ported to AP_HAL
2012-12-20 14:51:36 +11:00
Pat Hickey
a4f1f6a5db
AP_Progmem: fix dependencies for all sketches touched by AP_HAL_AVR
2012-12-20 14:51:28 +11:00
Pat Hickey
3f1d9d7f69
AP_Param: #include <AP_Param.h> fixups for libraries & sketches
...
* I mostly went through with grep and added an #include <AP_Param.h> below
every #include <AP_Common.h>. Not all of these example sketches might
strictly need AP_Param.
2012-12-20 14:51:19 +11:00
Andrew Tridgell
e4949291e5
Plane: preparing for 2.68 release
2012-12-04 11:24:24 +11:00
Andrew Tridgell
805a340350
Plane: enable attitude and raw logging in HIL modes
2012-12-04 11:13:33 +11:00
Andrew Tridgell
24e1af1c82
Plane: fixed sensors and attitude HIL
...
we now use the Stub version of the InertialSensor driver. In sensors
HIL we can now correctly drive the AHRS code.
2012-12-03 23:26:39 +11:00
Andrew Tridgell
1104287aa2
Plane: use enum FlightMode in more places
2012-12-01 08:15:48 +11:00
Andrew Tridgell
a6d8dbeac2
Plane: update ArduPlane for new ins interface
2012-11-30 07:15:18 +11:00
Andrew Tridgell
f8a95e4084
APM: preparing for 2.67 release
2012-11-21 22:28:30 +11:00
Andrew Tridgell
84300c85d6
APM: make it possible to run the CLI on any serial port
2012-11-21 21:41:34 +11:00
rmackay9
2df7a407da
ArduPlane: fix HIL build
2012-11-07 21:23:07 +09:00
rmackay9
ef727bbb3c
ArduPlane: move to use new INS library instead of IMU library
2012-11-07 19:21:03 +09:00
Andrew Tridgell
8652bfee8d
APM: added RSSI_PIN option for receiver RSSI
...
this allows you to configure the pin for receiver RSSI without
recompiling
2012-11-06 22:04:41 +11:00
Andrew Tridgell
aa236c43f8
APM: prepare for 2.66
2012-10-31 13:25:19 +11:00
Pat Hickey
d4bb8a10d7
Update ArduCopter and ArduPlane dependencies on AP_Menu
2012-10-18 20:53:39 -07:00
rmackay9
f695db61ea
ArduPlane: added AP_Semaphore.h to list of includes
2012-10-06 13:14:28 +09:00
rmackay9
41fbb19cf5
AP_InertialSensor_MPU6000: replaced _cs_pin parameter with #define and saved 1 byte of memory
...
Updated ArduCopter, ArduPlane and example sketches in AP_InertialSensor, AP_IMU and AP_AHRS libraries because they no longer need to pass in cs_pin to the constructor
2012-09-28 19:21:59 +09:00
Andrew Tridgell
51aeb2dd4c
APM: prepare for 2.65
2012-09-24 07:14:30 +10:00
Andrew Tridgell
a4c3c5973d
APM: prepare for 2.64 release
2012-09-23 19:32:56 +10:00
Andrew Tridgell
cebb67e1df
APM: removed the unused sonar code
...
when we start supporting a sonar we'll add a AP_Sonar library, like
AP_Airspeed
2012-09-19 19:35:22 +10:00
Andrew Tridgell
2324997e16
APM: added ALT_OFFSET parameter
...
useful to adjust for barometric pressure changes during a long flight
2012-09-19 16:23:25 +10:00
Andrew Tridgell
37cb56f3e1
APM: save another few bytes
2012-09-18 13:58:50 +10:00
Andrew Tridgell
df962d25a8
APM: fixed a comment
2012-09-18 13:58:49 +10:00
Andrew Tridgell
12dc2e79cf
APM: save 100 bytes of memory
...
remove flight_mode_strings array
2012-09-18 13:58:49 +10:00
Andrew Tridgell
86face0a03
APM: preparing for 2.63 release
2012-09-17 17:32:13 +10:00
Andrew Tridgell
7e8ef0ae95
APM: fixed handling of DO_REPEAT_SERVO and DO_REPEAT_RELAY
2012-09-17 14:45:47 +10:00
Andrew Tridgell
b55e7903aa
APM: prepare for 2.62 release
2012-09-13 12:02:18 +10:00
Andrew Tridgell
b1408008c9
APM: allow for landing pitch control until final stage
2012-09-12 13:09:16 +10:00
Andrew Tridgell
05e72c6e68
APM: fixed roll in landing approach
2012-09-12 11:53:17 +10:00
Andrew Tridgell
5f3ffe4839
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
Andrew Tridgell
7e672628ea
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
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
657dd5969f
APM: preparing for 2.61 release
2012-09-08 18:36:17 +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
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
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
83153eebd4
APM: obey pitch limits in FBWA as well
...
this means pitch limits are constrained by LIM_PITCH_MIN and
LIM_PITCH_MAX
2012-08-30 20:15:42 +10:00
Andrew Tridgell
e2b8817a89
APM: added the ability to forcibly crash the plane on OBC failsafe breach
...
this allows a user to setup the OBC failsafe system to forcibly crash
the plane (surfaces at limits, zero throttle) when the failsafe system
triggers. This is to allow APM to be used in the Outback Challenge. In
the OBC an external failsafe board also does this using the heartbeat
control pin, so this is an extra safety mechanism.
To prevent users accidentially triggering a crash, this code only
activates if FS_TERM_ACTION is set to to the magic value 42.
2012-08-28 20:18:24 +10:00
Andrew Tridgell
fce01464b1
APM: added ALT_CTRL_ALG parameter
...
this allows you to select different altitude control algorithms. The
current choices are for the default (automatic based on if airspeed is
available), or to force a non-airspeed algorithm
The idea is to make it possible to use airspeed for some things (like
wind speed, speed scaling) but not for alt control
2012-08-28 20:18:24 +10:00
Andrew Tridgell
dcbd0fbd44
APM: cleanup throttle suppression code and don't use airspeed to unsupress
...
this removes the throttle suppression when any of the conditions are
met once, as otherwise flying slow below 10m could zero the throttle.
It also removes the use of airspeed for disabling throttle
supression. Otherwise a strong gust of wind can cause ArduPlane to
try to takeoff!
2012-08-28 20:18:23 +10:00
Andrew Tridgell
c730d9072e
APM: prepare for ArduPlane 2.60
2012-08-22 16:28:38 +10:00
Andrew Tridgell
2d8f99433c
APM: removed factor of 0.5 in non-airspeed takeoff pitch
...
this limited the pitch far below the specified target pitch
2012-08-22 16:28:38 +10:00
Andrew Tridgell
6ab2a861f7
APM: added RSSI to RC_CHANNELS_RAW as well
...
and prevent double read
2012-08-22 13:58:25 +10:00
Andrew Tridgell
c0c0b8c976
APM: added RECEIVER_RSSI_PIN option
...
this allows for the receiver RSSI to be sent over MAVLink
Thanks to Burt Green for the suggestion
2012-08-22 13:33:12 +10:00
Andrew Tridgell
9e926eae51
APM: optional build with new controller libs
2012-08-22 12:39:07 +10:00
uncrustify
0e8a76ccdd
uncrustify ArduPlane/ArduPlane.pde
2012-08-21 19:19:51 -07:00
Andrew Tridgell
343f7d2de0
APM: removed DMP support from ArduPlane
...
Without centripetal correction the DMP code will almost certainly
crash a plane
2012-08-22 11:46:35 +10:00
Andrew Tridgell
6d11940ada
AHRS: removed Quaternion build support from APM/ACM/rover
2012-08-22 10:42:21 +10:00
rmackay9
6d489947cf
ArduPlane: replaced many "int" with "int16_t", "long" with "int32_t"
2012-08-18 18:26:13 +09:00
Andrew Tridgell
5e690d5680
APM: added parameter FBWB_ELEV_REV
...
this fixes issue 343
2012-08-17 15:04:53 +10:00
Andrew Tridgell
df3c8a5bc0
APM: when land_complete is true, use land_pitch
...
this gives a flare on final landing
2012-08-15 12:39:35 +10:00
Andrew Tridgell
47be6d8ad1
AP_Airspeed: remove airspeed filter and run at 10Hz
...
this saves on the filter memory, and gives just as good a result
2012-08-15 12:39:35 +10:00
Andrew Tridgell
8cb55eb75a
APM: keep the time of the last heartbeat message
...
this will be used for failsafe processing
2012-08-15 12:39:34 +10:00
Andrew Tridgell
2865434d02
APM: added 'OBC' failsafe module for ArduPlane
...
this adds FS_* parameters for setting up APM to follow the outback
challenge failsafe rules.
This includes:
- manual pin
- heartbeat pin
- waypoint for heartbeat failure
- waypoint for GPS failure
2012-08-15 12:39:34 +10:00
Andrew Tridgell
93f1d5645b
APM: fixed LOITER_TIME and LOITER_TURNS
...
These now follow the mavlink spec. Loiter time is in seconds, and
loiter turns is now 32 bit angle, so can handle larger numbers of
turns.
2012-08-15 12:39:34 +10:00
Andrew Tridgell
d9b09d2c93
APM: allow for navigation by dead-reckoning
...
we now ask AHRS if we have a position estimate, and use that if
available
2012-08-11 12:01:08 +10:00
Amilcar Lucas
d34549f386
Add an optional second mount to ArduPlane and ArduCopter
2012-08-08 23:22:24 +02:00
Andrew Tridgell
dcc50b5705
AP_Airspeed: removed values passed to constructor
2012-08-08 16:38:39 +10:00
Andrew Tridgell
5bfd1200d6
APM: change variables to use _cm, _cd and _ms suffix for units
...
this makes it less likely that we mix up units
2012-08-08 12:12:30 +10:00
Andrew Tridgell
a823c9ceae
APM: removed cli slider and dipswitch options
...
use mavlink/eeprom for all config
2012-08-08 12:12:29 +10:00
Andrew Tridgell
12cd6b68ff
AP_Param: update ArduPlane core for new AP_Param interface
2012-08-08 12:11:57 +10:00
Amilcar Lucas
f14237126a
Add me :)
2012-08-06 00:40:12 +02:00
Amilcar Lucas
b8c7b8a786
RC_Channel: Allow each channel to know who they are, this simplifies the enabling and output function calls.
2012-08-05 23:08:31 +02:00
Amilcar Lucas
4ba847c449
The mount type must be updated periodically
2012-08-04 18:44:08 +02:00
Andrew Tridgell
301ab00c5b
APM: added control switch debouncer
...
this adds a switch debouncer, similar to the one used in
ArduCopter. I'm adding this after a flight on the weekend where noise
on the control mode channel caused a mode change away from auto.
To prevent this change adding excessive mode switch latency, it also
moves the reading of the control switch to the 10Hz loop, away from
the 3.3Hz loop. That gives us 0.2s delay in mode switch changes and
allows for spikes in the control mode for 0.1 seconds without changing
mode.
2012-08-01 13:59:37 +10:00
rmackay9
06e35820e5
ArduPlane: allow MPU6000's DMP to be used for attitude estimation.
...
Enable by adding this line to APM_Config.h:
#define DMP_ENABLED ENABLED
2012-07-28 19:50:40 +09:00
Andrew Tridgell
9eb05a2e1a
APM: update version for 2.50 release
2012-07-26 11:36:17 +10:00
Andrew Tridgell
7e697e4abd
APM: switch back to old nav_roll calculation
...
the old nav_roll will be used for the 2.50 release to prevent the need
for re-tuning. For the release after that we will use the new
calculation
2012-07-26 10:03:36 +10:00
Michael Oborne
39ad8b5eec
AP fix sitl hil attitude mode.
2012-07-24 07:18:25 +08:00
Jeff Taylor
d02655ac56
APM: Fixed bug where landing_pitch wasnt initialized properly
...
this adds a new LAND_PITCH_CD parameter to control the landing pitch
when an airspeed sensor is not being used
2012-07-19 13:59:30 +10:00
Andrew Tridgell
d6e370886f
APM: rename airspeed_cruise to airspeed_cruise_cm to make the units clearer
...
it is in cm/s, not m/s
2012-07-19 11:50:41 +10:00
Amilcar Lucas
610fdeacc1
Support up to 11 servos in APM2
...
Conflicts:
ArduPlane/ArduPlane.pde
2012-07-18 22:01:19 +02:00