Commit Graph

2088 Commits

Author SHA1 Message Date
Michael Day d4f42d41f7 Plane: removed some compile warnings from rally.pde 2013-12-31 09:48:24 +11:00
Michael Day c87d72353f Plane: Introducing FENCE_RETALT parameter. 2013-12-31 09:48:20 +11:00
Michael Day 87c60ee293 Plane: Doc. update for ALT_HOLD_RTL with Rally Points. 2013-12-31 09:48:16 +11:00
Andrew Tridgell f35cf2beba Plane: use file based logs in SITL 2013-12-29 07:14:31 +11:00
Andrew Tridgell 3486b933c0 Plane: use common send_meminfo() 2013-12-28 16:02:06 +11:00
Andrew Tridgell 72473e4317 Plane: use AP_HAL available_memory() call 2013-12-28 14:51:37 +11:00
Andrew Tridgell 6856cc6e4b Plane: break up GPS and logging, allow GPS update at 50Hz
this prevents mismatches in GPS message arrival and accel message
arrival from causing small DCM errors
2013-12-28 14:25:54 +11:00
Randy Mackay a1d5c0a02a Plane: replace APM with board in cli 2013-12-28 10:42:30 +09:00
Andrew Tridgell 7ffbed24cc Plane: initialise scheduler callback after logging
this could cause log corruption otherwise
2013-12-28 10:24:46 +11:00
Andrew Tridgell 43a56151d7 Plane: reset mission on disarm
this makes repeated missions easier
2013-12-20 12:04:23 +11:00
Andrew Tridgell 89366a1ee1 Plane: fixed ARMING_REQUIRED=2 on APM2 to disable rc output on throttle 2013-12-20 11:59:45 +11:00
Andrew Tridgell ce773f085a Plane: make the defaut for FS_GCS_ENABL clearer 2013-12-20 11:44:44 +11:00
Andrew Tridgell 263f3b116b Plane: added FS_GCS_ENABL==2 option
this allows GCS failsafe when the GCS isn't getting updates from the
aircraft
2013-12-20 11:39:00 +11:00
Andrew Tridgell a4af83d454 Plane: only allow right rudder for arming
copter users may try to use left rudder to ensure aircraft is
disarmed. Making left rudder arm could be dangerous
2013-12-20 09:43:04 +11:00
Andrew Tridgell 77c6e51887 Plane: allow throttle failsafe on no RC input
on PX4 we just stop getting input on loss of RC - we need to consider
this to be "throttle failsafe"
2013-12-20 09:43:04 +11:00
Andrew Tridgell 4f242aedec Plane: fixed a bug where mode would not revert on geo-fence disable
the mode would not revert if the switch was in position 0
2013-12-17 14:14:13 +11:00
Michael Day dcfed13c87 Plane: Fence breach now sends to correct return point in Guided Mode. 2013-12-17 14:14:13 +11:00
Andrew Tridgell ca67c24eef Plane: removed common functions 2013-12-17 12:00:46 +11:00
Andrew Tridgell d93b95186d Plane: prevent a build warning 2013-12-17 11:51:36 +11:00
Andrew Tridgell 8b7fe3cf50 Plane: changes for new DataFlash API 2013-12-17 11:51:36 +11:00
Andrew Tridgell e0b511e367 Plane: enable new log download functions 2013-12-17 11:51:35 +11:00
Andrew Tridgell 508817d617 Plane: moved ap_message into GCS.h 2013-12-17 11:51:35 +11:00
Andrew Tridgell 4bad2cfb3a Plane: use common GCS.h 2013-12-17 11:51:35 +11:00
Andrew Tridgell 622a2053ff Plane: fixed parameters typo 2013-12-11 21:37:01 +11:00
Andrew Tridgell 3508a14542 Plane: small arming tidyups 2013-12-11 17:29:26 +11:00
Andrew Tridgell b0236610b2 Plane: fixed arming bit in MAVLink heartbeat message 2013-12-11 17:29:26 +11:00
Andrew Tridgell 103da0c889 Plane: when no GPS lock always send GPS messages 2013-12-11 17:29:26 +11:00
Michael Day b0a0316dd6 Plane: Now using AP_Arming library. 2013-12-11 17:29:23 +11:00
Andrew Tridgell 6ed21c12db Plane: added logging of 2nd compass 2013-12-10 15:32:11 +11:00
Andrew Tridgell 49f49648ec Plane: changes for compass healthy API 2013-12-09 17:47:38 +11:00
Andrew Tridgell 02af644010 Plane: report both sets of sensors in MAVLink 2013-12-09 17:34:07 +11:00
Andrew Tridgell b637ab35e4 Plane: lower the priority of mount update 2013-12-09 17:34:07 +11:00
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
Andrew Tridgell 65c97a2f5f Plane: updates for compass API change 2013-12-09 17:34:06 +11:00
Randy Mackay b6462c23af Plane: disable external leds 2013-11-30 22:53:55 +09:00
Andrew Tridgell 1124e84ae0 Plane: fixed APM1 build 2013-11-30 06:56:16 +11:00
Andrew Tridgell 6b4a3ef98b Plane: added MAVLink sonar logging 2013-11-28 21:49:27 +11:00
Andrew Tridgell 5a0cb5dea4 Plane: added sonar logging to dataflash 2013-11-28 21:49:27 +11:00
Randy Mackay 45ab18f131 Plane: rename Log_Write_SERVO to Log_Write_RCOU 2013-11-27 20:18:16 +09:00
Andrew Tridgell 079d48f6cc Plane: use log system ID if available 2013-11-26 13:00:03 +11:00
Andrew Tridgell 8383abc1fe Plane: added SERIAL2_BAUD and rename SERIAL3_BAUD to SERIAL1_BAUD 2013-11-26 13:00:03 +11:00
Andrew Tridgell a05a32dbda Plane: added RCIN and SRVO logging 2013-11-26 09:04:43 +11:00
Andrew Tridgell 457183b6f5 Plane: cope with uartD being NULL 2013-11-23 21:44:45 +11:00
Andrew Tridgell 5f32f44366 Plane: fixed mavlink_queue[] size 2013-11-23 19:29:23 +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 490a061c6f Plane: added HIL_ERR_LIMIT
this allows DCM to recover if HIL attitude drifts too far from true attitude
2013-11-23 18:50:57 +11:00
Andrew Tridgell 17c9cedac1 Plane: send out HIL servo updates as soon as we can
this improves the servo responsiveness of HIL a lot
2013-11-23 18:50:57 +11:00
Andrew Tridgell 1e36ebc31b Plane: reset HIL attitude if off by more than 5 degrees 2013-11-23 18:50:56 +11:00
Andrew Tridgell 8bfe59cea5 Plane: send SIMSTATE messages in HIL
this allows better tracking of the simulator state, to see if issues
are caused by DCM failure
2013-11-23 18:50:56 +11:00
Andrew Tridgell 58b767b8e4 Plane: rename geofence structure
makes using gdb easier as it doesn't mix up the structure and the
pointer
2013-11-23 18:50:55 +11:00
Randy Mackay c01a3debd6 Plane: log INS errors in PM message 2013-11-18 13:08:40 +09:00
Andrew Tridgell 56f574684d Plane: fixed throttle failsafe with reversed throttle 2013-11-17 15:32:53 +11:00
Andrew Tridgell 2af69b7131 Plane: make batter failsafe docs clearer 2013-11-09 18:14:02 +11:00
Andrew Tridgell 7e10811673 Plane: send firmware and git version in tlog 2013-11-09 10:09:20 +11:00
Andrew Tridgell eee1364f05 Plane: update comments on ALT_CTRL_ALG and NAV_CONTROLLER 2013-11-08 07:54:16 +11:00
Andrew Tridgell c1bc093cf5 Plane: removed unused variable 2013-11-07 13:54:25 +11:00
Andrew Tridgell 1aa29df52d Plane: report INS and airspeed health 2013-11-07 12:48:17 +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 78604bd84e Plane: only send GPS_RAW_INT if new data
this reduces link load when asking for high rate telemetry
2013-11-05 14:40:51 +11:00
Andrew Tridgell 5e4b243c7b Plane: make DataFlash objects static 2013-11-04 21:37:50 +11:00
Andrew Tridgell ae8ef344bf Plane: added time to most plane log messages 2013-11-04 21:37:30 +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 5a92ce4af6 Plane: added altitude and ground speed to NTUN logs 2013-11-02 21:41:11 +11:00
Andrew Tridgell fe3943e686 Plane: faster startup
make it less likely to send wrong INS_PRODUCT_ID, plus don't waste as
much time
2013-11-02 21:41:11 +11:00
Randy Mackay 328de5fc7b Plane: add @Increment to battery failsafe descriptions 2013-10-29 11:23:54 +09: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 cfa38df528 Plane: allow parameters to download at full speed 2013-10-28 10:34:32 +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 3289041428 Plane: added MAVLink SYSTEM_TIME message 2013-10-24 14:22:47 +11:00
Andrew Tridgell 6f3458eb25 Plane: fixed setting of waypoint when not in AUTO
this fixes a bug where the next waypoint is set incorrectly if set via
MAVLink when not in AUTO
2013-10-23 09:40:41 +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 294b669948 Plane: fixed rally altitude to be in meters
this matches the docs
2013-10-14 16:38:40 +11:00
Andrew Tridgell 5adf4e1706 Plane: improve THROTTLE_NUDGE docs 2013-10-14 15:40:26 +11:00
Andrew Tridgell 5e1f5ffb7f Plane: removed some old defines 2013-10-14 14:40:30 +11:00
Andrew Tridgell 7f6eecd9d5 Plane: cleanup cruft in Makefile 2013-10-13 21:41:01 +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 0ec322ee47 Plane: support MAV_CMD_DO_SET_CAM_TRIGG_DIST 2013-10-11 21:37:27 +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 a4604ab317 Plane: honor zero RALLY_LIMIT_KM 2013-10-06 14:54:50 +11:00
Andrew Tridgell 5bf1463e7a Plane: added RALLY_LIMIT_KM
this will prevent an embarressing use of a rally point from the wrong
airfield
2013-10-06 14:51:13 +11:00
Andrew Tridgell 365e82aecb Plane: use a rally point when out of mission items 2013-10-05 23:07:32 +10: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 536fbb4a30 Plane: if pilot gives aileron input then disable ground steering
otherwise it would be very tricky to do a low pass!
2013-10-05 07:46:27 +10:00
Andrew Tridgell d32e58db84 Plane: split out the channel stick mixing
makes code a bit clearer
2013-10-05 07:46:27 +10:00
Andrew Tridgell 3be939eb03 Plane: give manual steering when still
useful for servo testing
2013-10-05 07:46:27 +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
Andrew Tridgell 081510d37a Plane: added ACRO_LOCKING parameter
this enables/disables the attitude locking in acro mode, allowing acro
to be a pure rate controller
2013-10-05 07:45:12 +10:00
Randy Mackay 6e2b1093fc Plane: mavlink ext status to use SYS_STATUS_SENSOR enum 2013-10-04 13:21:01 +09:00
Andrew Tridgell 011915eb1c Plane: added error checking to rally load save
sanity check the rally points
2013-10-03 12:21:08 +10:00
Michael Day 497c95de8e Plane: Add support for rally points.
Added parameter RALLY_TOTAL.

Added handlers for new MAVLink messages RALLY_POINT and
RALLY_FETCH_POINT.

defines.h modified to make room in EEPROM to store rally points.

rally.pde added and is responsible for ensuring rally points get
stored in the correct spot in EEPROM.

Multiple Rally/RTL point support now done.  If rally points have
been defined, then when RTL mode is entered, the closest Rally
point is chosend and the plane loiters at that point.

Note only 10 rally points can be defined; this is to save space in
the APM's EEPROM.
2013-10-03 12:21:08 +10:00
Randy Mackay 21360aeebf Plane: sent current as -1 to GCS when can't be monitored 2013-10-03 11:16:33 +09:00
Randy Mackay 9722276827 Plane: batt curr and remaining should be int16 2013-10-03 11:16:26 +09:00
Randy Mackay cb91440c63 Plane: remove test_battery from CLI 2013-10-03 11:16:22 +09: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
Andrew Tridgell 74c8c8aafa Plane: auto-upgrade battery variables in EEPROM 2013-10-03 11:16:12 +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 24099a520d Plane: updates for AP_HAL::MemberProc 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 88959004d7 Plane: use new scheduler API 2013-09-28 21:24:03 +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
Mike McCauley aa800472be Plane: defines.h added Flymaple INS 2013-09-24 13:51:28 +10:00
Mike McCauley 3ddcdba659 Plane: Parameters BATTERY_MONITORING for Flymaple 2013-09-24 13:51:28 +10:00
Mike McCauley 18c6b00b5b Plane: Added definitions for Flymaple 2013-09-24 13:51:28 +10:00
Andrew Tridgell 4f310aaec8 Plane: fixed build with print() base change 2013-09-23 18:10:22 +10:00
Mike McCauley 767884b7f1 Plane: workaround conflicts between wirish and APM compatibility 2013-09-23 18:10:21 +10:00
Kevin Hester 996eda0080 Plane: Report MAV_STATE_ACTIVE if flying, MAV_STATE_STANDBY otherwise
(There are also various error states MAV_STATE_CRITICAL that are unchanged
by this check in).

The is_flying() check is similar to the code in suppress_throttle, but
I wanted to make it very optimistic on thinking we are flying - which is
not what you want for set_throttle...

(AC has similar MAV_STATE_ACTIVE vs MAV_STATE_STANDBY behavior now)
2013-09-21 21:57:07 +10:00
Andrew Tridgell bcce2e4fc5 Plane: use new Baro API 2013-09-21 21:31:03 +10:00
Andrew Tridgell 36466e91ed Plane: run SENSOR_OFFSETS message at 1/10 of the requested rate
this message wastes bandwidth, as the values change very slowly
2013-09-21 09:35:45 +10:00
Andrew Tridgell c4dcdcf5a2 Plane: only send RC_CHANNELS_SCALED in HIL
saves a bit of telemetry bandwidth
2013-09-21 09:30:29 +10:00
Andrew Tridgell b28a4f21f2 Plane: fixed uartA baud rates for APM1 2013-09-21 09:30:29 +10:00
Andrew Tridgell e455ee0a94 Plane: fixed throttle suppression for AUTO_FBW_STEER=1 2013-09-20 17:20:06 +10:00
Andrew Tridgell 1869cd52e1 Plane: fixed AUTO_FBW_STEER stick mixing 2013-09-20 17:20:06 +10:00
Andrew Tridgell 328e900364 Plane: changed TKOFF_THR_DELAY default to 2
this makes it safer for hand launch with pusher props
2013-09-19 21:42:21 +10:00
Paul Riseborough 43cf0736a3 Plane: Auto Takeoff Check updates
Adds additional launch angle protection and protection against early
exit from auto causing unexpected motor start on re-entry
2013-09-19 21:37:31 +10:00
Randy Mackay ab4274aa8d Plane: disable battery failsafe when usb connected 2013-09-19 17:43:08 +09:00
Andrew Tridgell 21a4da0d29 Plane: removed flash_leds() calls 2013-09-19 18:38:28 +10:00
Andrew Tridgell 4bd6b2f428 Plane: use new usb_connected() function 2013-09-19 16:23:58 +10:00
Andrew Tridgell 8a76d82de4 Plane: set failsafe_radio AP_Notify bits 2013-09-18 11:58:54 +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 dd6a69f588 Plane: added WP_MAX_RADIUS parameter
useful when using AUTO_FBW_STEER for manual steering in competitions
2013-09-13 17:43:08 +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 8010d7fd78 Plane: update battery pin docs 2013-09-12 13:43:22 +10:00
Andrew Tridgell fe5a4ab710 Plane: fixed Vcc 2013-09-12 13:26:27 +10:00
Andrew Tridgell 0c8d56632e Plane: fixed SR0 and SR3 autodocs 2013-09-12 09:53:24 +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
Craig3DRobotics 630095adaa Revert "Copter: Corrected SR0 & SR3 parameter descriptions"
This reverts commit 6568234018.
2013-09-06 09:58:19 -07:00
Craig3DRobotics 2b726abe0e Plane: Correction on SR0 & SR3 parameter description. 2013-09-05 22:29:10 -07:00
Andrew Tridgell 4a8c9a7765 Plane: support reboot to bootloader 2013-09-04 11:59:16 +10:00
Andrew Tridgell a00e4a1e83 Plane: send GCS message on relay change
makes it easier to debug
2013-08-30 15:05:16 +10:00
Andrew Tridgell 45cf82ba15 Plane: removed CONFIG_RELAY check
relay is always available
2013-08-30 14:40:47 +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 2ba9ce60e3 Plane: fixed comment 2013-08-30 13:01:34 +10:00
Andrew Tridgell 8733391315 Plane: call airspeed MAVLink logging function 2013-08-30 13:01:34 +10:00
Andrew Tridgell 5cec9b65c9 Plane: constrain calibration to roll/pitch limits 2013-08-30 13:01:34 +10:00
Andrew Tridgell 364790414c Plane: support new RADIO_STATUS msg 2013-08-24 17:59:13 +10:00
Andrew Tridgell b16e3e4c85 Plane: changed FBW min to 9 m/s
6 m/s is too dangerous for widely used planes
2013-08-18 11:42:23 +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 5cfdf52381 Plane: change default modes to FBWA not STABILIZE 2013-08-13 13:42:27 +10:00
Andrew Tridgell d4ca3ebf65 Plane: check for parameter send at default of 10Hz
50Hz can cause overruns, especially on PX4 which can drain the tx
buffer very rapidly
2013-08-13 13:42:25 +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 890b77447a Plane: allow integrator in stabilize mode when no stick input
fixes issue #472
2013-08-02 21:55:34 +10:00
Andrew Tridgell c083c15240 Plane: use a larger serial buffer
this makes higher rate MAVLink possible again
2013-08-02 18:46:54 +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 965dc228c2 Plane: fixed GUIDED mode change of altitude down 2013-07-22 12:50:02 +10:00
Andrew Tridgell b8fa83ff54 Plane: change default slewrate to 100%/second 2013-07-22 12:50:02 +10:00
Andrew Tridgell 29c854e676 Plane: remove unused function 2013-07-22 12:50:02 +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 74dabad1f3 Plane: added SKIP_GYRO_CAL parameter
useful for starting the sim at high altitudes, and for starting planes
without having to hold them still
2013-07-22 12:50:01 +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 53b1b9b575 Plane: added note on type of airspeed in docs 2013-07-22 12:50:01 +10:00
Andrew Tridgell 2d5deddd30 Plane: set mode CIRCLE on short failsafe in AUTO
this makes the code match the docs
2013-07-22 12:50:00 +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 6ed78c89ac Plane: don't read control switch when ch3 is in failsafe
use ch3_counter not just the final flag
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 3ba713352f Plane: use update_aux() for setting up extra channels 2013-07-15 09:56:12 +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 e80d73df93 Plane: expand docs for TRIM_AUTO 2013-07-14 21:23:15 +10:00
Andrew Tridgell 4087fde140 Plane: enable CTUN log message by default 2013-07-14 21:10:12 +10:00
Andrew Tridgell e79023ceee Plane: fixed problem with slow ground station connects
don't trigger the "scheduler out of time" code when in the delay
callback

Thanks to Marijm Slootweg for noticing this!
2013-07-14 17:28:34 +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 b37f79d307 Plane: update for new APM_Control API 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 399970e76f Plane: fixed default deadzone for the throttle channel
this is the 2nd half of the fix for issue #303
2013-07-13 13:19:25 +10:00
Andrew Tridgell 826ad6c086 Plane: unlock roll and pitch when we enter ACRO mode 2013-07-13 12:34:34 +10:00
Randy Mackay 1772a62415 Plane: fix to gps present check in mavlink extended status 1 msg 2013-07-13 10:27:39 +09: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 cc57bfcf12 Plane: fixed handling of deadzone in ACRO mode
RC_Channel norm_input() does not take account of the dead zone
2013-07-12 17:54:51 +10:00
Randy Mackay 9df93881fb Plane: set_dead_zone renamed to set_default_dead_zone
Change in use of parameter means value passed in should be 1/2 what it
was previously
2013-07-12 11:44:18 +09:00
Andrew Tridgell f300df5fd1 Plane: added FS_LONG_TIMEOUT and FS_SHORT_TIMEOUT parameters
this is to address the issue raised here:

http://diydrones.com/forum/topics/ardupilot-circle-mode
2013-07-12 11:56:04 +10:00
Andrew Tridgell 73928b82a6 Plane: fixed FBWB airspeed control
thanks to Gabor for reporting this!
2013-07-11 11:58:54 +10:00
Andrew Tridgell 1d04290eab Plane: change to 2.74beta3 2013-07-11 11:58:54 +10:00
Andrew Tridgell 11a4628409 Plane: added ACRO mode to mode choices 2013-07-11 09:10:41 +10:00
Andrew Tridgell fc67f51901 Plane: added ACRO_ROLL_RATE and ACRO_PITCH_RATE parameters
default to 180 degrees/second, which seems reasonable
2013-07-11 09:10:41 +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 2005d5642a Plane: fixed a documentation string
GND_ALT_OFFSET is now for barometric corrections
2013-07-10 14:46:22 +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 3c177867a4 Plane: allow enable/disable of camera log messages in CLI 2013-07-10 12:23:36 +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 1d6748cf3f Plane: use a glide slope in RTL when descending
when above the target altitude in RTL come down slowly, when below
climb rapidly

This fixes issue #39
2013-07-05 14:56:58 +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 84299c3747 Plane: document ALT_CTRL_ALG=2 2013-07-04 17:00:04 +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 f3237b9e5d Plane: update FS_LONG_ACTN and FS_SHORT_ACTN docs
thanks to Craig for noticing this
2013-07-02 14:50:04 +10:00
Andrew Tridgell 75ef7c26e1 Plane: update takeoff course when conditions met
This allows for change of heading before the final takeoff conditions
are met

thanks to Greg Fletcher for suggesting this
2013-07-01 17:05:13 +10:00
Andrew Tridgell 570ecea6c6 Plane: added secondary rudder support 2013-06-29 17:31:03 +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 45f5d05bd2 Plane: enabled RELAY_* parameters 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
Paul Riseborough 2204b30e66 Plane: Added APM_Control integrator limits to table used to covert old PID values 2013-06-22 21:59:47 +10:00
Randy Mackay 6ea568d72a Plane: param description change for RC5 ~ RC11
Reversing the order may avoid duplication of param descriptions in the
auto generated parameter web page
2013-06-21 09:58:02 +09:00
Randy Mackay 75bcd7cdab Plane: update THR_FS_VALUE parameter description 2013-06-18 15:57:29 +09:00
Andrew Tridgell 4a0c90246e Plane: make GPS UART blocking again 2013-06-11 18:50:23 +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 b0c87b8a61 Plane: fix VOLT_DIVIDER docs 2013-06-07 08:40:28 +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 6bac13f9e2 Plane: fixed RCMAP_* to fix channel ranges for no-reboot changes 2013-06-03 21:20:39 +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 27bc0cdc2c Plane: rename old channel_* globals
prevent the old "g." names from being used
2013-06-03 16:37:51 +10:00
Andrew Tridgell a1f64d606a Plane: fixed remaining places where primary channel ordering was assumed
should now use rcmap for all inputs
2013-06-03 16:23:48 +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 515d726ee0 Plane: use RC_Channel::rc_channel() instead of rc_ch[] 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 d9bcfd913a Plane: reset attitude integrators on mode change 2013-06-01 22:29:38 +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 91a04ab654 Plane: fixed headers for mode logging 2013-05-31 14:04:03 +10:00
Andrew Tridgell cae1079747 Plane: auto-convert the old RLL2SRV* parameters to the new CTL_RLL_* parameters 2013-05-31 07:58:29 +10:00
Andrew Tridgell e48b8c7b4a Plane: improve RTL altitude docs 2013-05-31 07:58:29 +10:00
Andrew Tridgell 6e0f1f56de Plane: update docs on volt/current pin 2013-05-31 07:57:15 +10:00
Andrew Tridgell fa9eb84542 Plane: added more parameter docs (flaps and GCS control) 2013-05-30 09:44:09 +10:00
Andrew Tridgell de904468b2 Plane: added BATT_MONITOR and VOLT_DIVIDER docs 2013-05-30 09:06:36 +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 f9a1b4f0e3 Plane: improve ALT_MIX docs 2013-05-28 10:10:22 +10:00
Andrew Tridgell 767d9d0eb5 Plane: fixed stick mixing in AUTO modes
the mixing was asymmetric. Many thanks to Soren Kuula for noticing this!
2013-05-27 08:24:35 +10:00
Andrew Tridgell c481ac8745 Plane: use a default mixing gain of 0.5
this ensures compatibility with existing configs
2013-05-25 19:15:47 +10:00
Andrew Tridgell c81421e275 Plane: added MIXING_GAIN parameter
this allows for the full range of output on both channels, but can
saturate
2013-05-25 18:28:13 +10:00
Andrew Tridgell a22f5e3bc4 Plane: enable wind estimation 2013-05-24 11:21:42 +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
Randy Mackay 4c08e32bf6 Plane: param update for AP_Baro 2013-05-21 14:22:23 +09:00
Randy Mackay 84909ee56a Plane: add parameter description for LOG_BITMASK 2013-05-21 11:22:11 +09:00
Randy Mackay c7961a72fc Plane: send_text_P bug fix for short messages 2013-05-20 12:51:16 +09: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
Andrew Tridgell b940c4b28e Plane: use library gcs_severity 2013-05-09 09:28:57 +10:00
Andrew Tridgell 635b3fabda Plane: fixed APM1-1280 build 2013-05-08 21:44:45 +10:00
Andrew Tridgell 81c1fd5fc4 Plane: support 3D accel calibration over MAVLink 2013-05-08 16:25:35 +10:00
Andrew Tridgell c5f1570f32 Plane: fixed flash logging of ATT
fixed types to be int16
2013-05-08 14:21:32 +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 fdd509a7c1 Plane: move baro init earlier in startup
this ensures it is initialised when CLI takeover by MP happens

Thanks to Prof Avi Levi for reporting this bug
2013-05-06 10:57:57 +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 9c6f80c42b Plane: moved some default values to Parameters.pde 2013-05-05 21:51:09 +10:00
Andrew Tridgell 6251d0510a Plane: obey pitch trim and throttle pitch feed forward in new controllers
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2013-05-05 21:51:09 +10:00
Andrew Tridgell e87a6d5564 Plane: added links to new APM controller docs 2013-05-05 21:51:09 +10:00
Andrew Tridgell 11ad9d5a2d Plane: auto-invert pitch control when upside down
this helps to recover when flying inverted, for example when in manual
and hitting the lower altitude geofence
2013-05-05 21:51:09 +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 55f7d18979 Plane: avoid copying the DCM matrix 2013-05-05 21:51:09 +10:00
priseborough 3663426550 Plane: Fixed bug in groundspeed_undershoot that could cause a fly-away in windy conditions.
Use the component of velocity in the forward direction rather than the magnitude
2013-05-05 21:51:08 +10:00
Paul Riseborough 663951d9a7 Plane: rename APM_Control parameters
this groups the parameters more logically
2013-05-05 21:51:08 +10:00
Paul Riseborough 8c5b603848 Plane: use new APM_Control API 2013-05-05 21:51:08 +10:00
Andrew Tridgell b43712e4d2 Plane: fixed APM1-1280 build 2013-05-03 12:40:43 +10:00
Andrew Tridgell 9f0a4dd553 Plane: log GCS text messages to flash log
useful for seeing more complex actions
2013-05-03 11:16:50 +10:00
Andrew Tridgell bb8f9d5443 Plane: simplify setHIL for baro 2013-05-02 15:27:02 +10:00
Andrew Tridgell 3cd52a9689 Plane: fixes for AP_Baro_HIL 2013-05-02 15:09:27 +10:00
Andrew Tridgell 0d97f417ec Plane: enable compass on all boards by default
if not present, then mag init will fail and it will disable
2013-05-02 15:01:33 +10:00
Andrew Tridgell 0aa38a5bd4 Plane: use new HIL compass API 2013-05-02 15:00:59 +10:00
Andrew Tridgell 5ba171af9a Plane: fixed mavlink levelling
this was broken by a recent commit (after 2.72 was released)
2013-05-02 13:38:28 +10:00
Andrew Tridgell a019e3740e Plane: updates for new compass API 2013-05-02 12:48:14 +10:00
Andrew Tridgell 9584aa89d9 Plane: replaced constrain() with constrain_float() 2013-05-02 10:27:10 +10:00
Randy Mackay b0f5b9a4cf Plane: use renamed RCInput valid_channels 2013-04-29 15:06:38 +09:00
Andrew Tridgell de3fcbc413 Plane: removed the MANUAL_LEVEL option
levelling on every startup is far too error prone. This was just
another parameter that everyone changed.
2013-04-29 14:19:53 +10:00
Andrew Tridgell 3d7a4d0e6e Plane: added ELEVON_OUTPUT option
this is like the vtail mixer, but for elevons
2013-04-29 12:13:59 +10:00
Andrew Tridgell 855277fa85 Plane: get ready for 2.72 release 2013-04-28 15:56:30 +10:00
Andrew Tridgell bdf0a2da69 Plane: log mode number as well as mode string
this makes graphing mode changes easier
2013-04-28 14:58:13 +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 1956d9c2dc Plane: show modes as strings in log 2013-04-28 14:47:59 +10:00
Randy Mackay f47a2e951a Plane: add I2C error count to PM message 2013-04-26 22:39:56 +09:00
Andrew Tridgell 0b8c2da4df Plane: support 12 output channels on PX4 2013-04-25 20:10:53 +10:00
Andrew Tridgell 4f225eff57 Plane: if airspeed enabled, require 5m/s to unsuppress throttle 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 8ec1eaa8b1 build: removed obsolete cmake rules
these have not been maintained for over a year
2013-04-23 11:07:53 +10:00
Andrew Tridgell e446f375a7 Plane: set loiter.direction for GUIDED mode 2013-04-21 23:46:35 +10:00
Bill Bonney 3ec891265f Plane: Enable CURRENT logging by default onto Dataflash 2013-04-21 07:24:02 +10:00
Andrew Tridgell 02ed37e750 Plane: fixed APM1-1280 build 2013-04-20 18:21:19 +10:00
Andrew Tridgell 2e5834cc7f Plane: print flight mode as string in logs 2013-04-20 15:18:10 +10:00
Andrew Tridgell 3b90c6c386 Plane: log parameter changes 2013-04-20 13:52:36 +10:00
Andrew Tridgell 991d6598ef Plane: log board voltage 2013-04-20 13:52:36 +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 c56f338fe0 Plane: convert to new logging system 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 a329e32ccb Plane: added gps status to flashlog 2013-04-19 10:24:20 +10:00
Andrew Tridgell abe4dba871 Plane: added PX4 flash logging 2013-04-17 21:35:27 +10:00
Andrew Tridgell a12323c9fd Plane: fixed logging for new API 2013-04-17 21:34:56 +10:00
Andrew Tridgell 42344455c9 Plane: fixed structure init for arduino compiler 2013-04-15 21:59:07 +10:00
Andrew Tridgell 9f0f482dd7 Plane: fixed LOITER_TIME to start when loiter starts
thanks to Paul Riseborough for finding this bug!
2013-04-15 21:39:14 +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 e918293e86 Plane: explain verify_*() commands 2013-04-15 14:41:15 +10:00
Andrew Tridgell 19b92b5bd8 Plane: removed "circle waypoint" completion test
this is redundent with the location_passed_point() test
2013-04-15 14:39:18 +10:00
Andrew Tridgell 994d8e354a Plane: allow for negative WP_LOITER_RAD for conter-clockwise loiter
this follows the same convention as missions
2013-04-15 10:52:32 +10:00
Andrew Tridgell 78538d0543 Plane: removed old HDNG2RLL PID control
not used with L1
2013-04-15 10:52:32 +10:00
Andrew Tridgell b2ad43f625 Plane: removed ahrs.set_barometer() 2013-04-15 10:52:32 +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 c47bc09a3c Plane: avoid doing radio trim if less than 20% of travel available
this prevents problems with awful trim on bootup due to RC TX being
off
2013-04-12 12:47:59 +10:00
tobias 217b8d7a59 cleanup: use const for struct Location pointers and references
this allows the compiler to generate more efficient code
2013-04-09 12:10:32 +10:00
Andrew Tridgell 71f6287388 Plane: fixed spelling 2013-04-06 17:42:20 +11:00
Andrew Tridgell dcbe144c7e Plane: prepare for release of 2.71 2013-04-06 17:27:21 +11:00
Andrew Tridgell e58f49aeaf Plane: copy rudder out in TRAINING mode
we were doing rudder mixing in training mode, which shouldn't be done
2013-04-05 19:38:43 +11:00
Andrew Tridgell 993154ea59 Plane: expand the VTAIL_OUTPUT docs for APM1 2013-04-05 16:38:46 +11:00
Andrew Tridgell bd2b9fbe9d Plane: simplify the VTail mixer to be more like a hardware mixer
this should make it easier to trim the vtail
2013-04-05 15:47:51 +11:00
Andrew Tridgell 17cbcd1bf6 Plane: fixed failsafe with VTAIL_OUTPUT 2013-04-05 15:35:26 +11:00
Andrew Tridgell 406921faf1 Plane: added VTAIL_OUTPUT option
this allows for software vtail mixing
2013-04-05 15:22:11 +11:00
Randy Mackay 21a51c8333 Plane: update GCS_Mavlink parameter documentation 2013-04-03 22:58:25 +09:00
Andrew Tridgell a69c9ff674 Plane: added logging of DIGICAM events 2013-04-02 13:08:38 +11:00
Andrew Tridgell ddfcafe80f Plane: fixed DIGICAM camera trigger 2013-04-02 13:08:38 +11:00
Andrew Tridgell 683a2919d1 Plane: prevent stick mixing when throttle is below failsafe threshold
this fixes issue #40
2013-04-02 10:42:56 +11:00
Andrew Tridgell c5e2cfcc3e Plane: preparing for 2.71-beta 2013-04-02 09:25:24 +11:00
Andrew Tridgell 2506c216dd Plane: added a second type of stick mixing
this changes STICK_MIXING from a boolean to a tri-state. With
STICK_MIXING=1 it now uses FBW style mixing. With STICK_MIXING=2 it
uses the old style of direct stick mixing.
2013-04-02 08:52:56 +11:00
Andrew Tridgell 5d54215221 Plane: use int16_t() not int() to ensure simulator matches AVR 2013-04-01 22:17:05 +11:00
Andrew Tridgell e390726bdd Plane: prevent overflow on large PID gains
this uses get_pid_4500() to prevent overflow of servo_out on large PID gains
2013-04-01 22:17:04 +11:00
Andrew Tridgell 624ebced38 Plane: document INVERTEDFLT_CH 2013-04-01 22:17:04 +11:00
Andrew Tridgell dfb14d760b Plane: added HIL_SERVOS option
this allows for real servo output in HIL
2013-03-30 14:38:43 +11:00
Andrew Tridgell 6cc4aadc06 Plane: report compass health in SYS_STATUS 2013-03-29 13:48:40 +11:00
Andrew Tridgell a165f0d138 Plane: removed old angle wrap code 2013-03-29 13:13:50 +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
Andrew Tridgell fcde3ceb24 Plane: also avoid rudder on takeoff with TOFF_HEAD_HOLD==0 2013-03-27 16:36:39 +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
Randy Mackay c2055557f5 Plane: add support for GPS fix type 2D 2013-03-27 11:41:51 +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 1a36c3684b Plane: fixed GPS test (detection of uBlox needs 10Hz poll) 2013-03-21 22:45:17 +11:00
Andrew Tridgell 6948e0c473 Plane: only enter CLI is link is idle when 3 enters are hit
this will prevent binary contents of RADIO packets being interpreted
as CLI enter line-feeds
2013-03-21 21:57:54 +11:00
Andrew Tridgell 0e37ae4400 Plane: change CLI timeout to 20s 2013-03-21 17:34:34 +11:00
John Stäck c9576e59f9 Add set command to setup menu (and changed show command), same as for ArduCopter. Not included when building for 1280. 2013-03-19 11:40:25 +09:00
Randy Mackay 36834e77b5 Copter: remove support for CLI Slider 2013-03-18 14:07:04 +09:00
Andrew Tridgell 36ff950b12 Plane: fixed MAVLink target IDs in fence point message
thanks to Kevin Hester for finding this
2013-03-12 15:04:48 +11:00
Andrew Tridgell 0a385cc0ff Plane: added TKOFF_THR_MINACC option
this is used for triggering auto takeoff with a hand launched plane
2013-03-09 14:41:04 +11:00
Michael Warren 9697ff5d6d Plane: Added extra parameter to specify at what speed in auto-takeoff throttle should engage
This adds TKOFF_THR_MINSPD in m/s
2013-03-09 14:19:48 +11:00
Andrew Tridgell 87c6545ac6 Plane: don't trigger GCS failsafe if GCS never connected
The we have never received a heartbeat message from the GCS then don't
use the lack of heartbeat to trigger a failsafe event
2013-03-09 13:48:39 +11:00
Andrew Tridgell e93888dee9 Plane: make a throttle_cruise of 0 mean always zero throttle
this can be used for parachute landing missions

Thanks to Chris Miser for the suggestion
2013-03-09 13:48:39 +11:00
Andrew Tridgell e0e22b63a7 Plane: removed INPUT_VOLTS parameter
no longer needed
2013-03-08 10:01:33 +11:00
Andrew Tridgell 2331c84423 Plane: use voltage_average() to not depend on INPUT_VOLTS 2013-03-03 16:16:01 +11:00
Andrew Tridgell de55e19eec Plane: updates for new dataflash API 2013-03-01 07:18:26 +11:00
Andrew Tridgell b3213b7113 Plane: fixes for new DataFlash API 2013-03-01 07:18:25 +11:00
Andrew Tridgell 5f4c5f8201 Plane: update SERIAL0_BAUD parameter description 2013-02-22 08:39:02 +11:00
Andrew Tridgell 139acc0530 Plane: ignore control mode changes when in throttle failsafe
this prevents the receiver causing a temporary mode change
2013-02-21 11:21:39 +11:00
Andrew Tridgell 1ebaa14a99 Plane: prepare for 2.70 release 2013-02-21 09:49:15 +11:00
Andrew Tridgell 0a0b51cc63 Plane: reset AHRS trim after a level operation 2013-02-20 11:56:02 +11:00
Andrew Tridgell 24826c0c74 Plane: default the stream rates to 1Hz 2013-02-20 10:08:49 +11:00
Andrew Tridgell 1007f2ef07 Plane: fixed a bug with setting stream rates
this is what caused the "no sensors" problem in the 2.69 release
2013-02-20 09:32:01 +11:00
Randy Mackay 9c984b18db Plane: integrate automatic roll and pitch trims 2013-02-19 13:30:51 +09:00
Andrew Tridgell c989099665 Plane: enable PX4IO dual telemetry devices 2013-02-18 13:56:21 +11:00
Andrew Tridgell e8806b14ec Plane: enable MAV_CMD_DO_DIGICAM_CONTROL 2013-02-14 09:35:56 +11:00
Andrew Tridgell 8c0f065ee4 Plane: fixed an integer multiply error that caused poor altitude on landing
the control of altitude between waypoints was broken due to an integer
overflow
2013-02-13 19:32:44 +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
Andrew Tridgell 9d3224ef34 Plane: fixed target speed reload on landing
thanks to Doug for this fix!
2013-02-11 11:40:36 +11:00
Michael Oborne 88840eb759 Send FS state to gcs for AP 2013-02-09 10:11:26 +08:00
Andrew Tridgell c41b927a15 Plane: added shell command for px4
used to launch nsh for PX4IO firmware upgrades
2013-02-07 15:04:33 +11:00
Andrew Tridgell 3913c42183 Plane: fixed bit combination
bitwise, not arithmetic
2013-02-05 10:33:10 +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
Brandon Jones fa7839941f After Plane: cleanup driver declaration 4d9a74d, HIL_MODE_ATTITUDE with MAG_ENABLE=1 set results in continuous reboot/APM crash. Added define for AP_COMPASS_HIL when HIL_MODE_ATTITUDE is enabled. 2013-02-05 09:04:34 +11:00
Michael b9a5be6c8b Plane: added secondary elevator support 2013-02-05 08:57:58 +11:00
Andrew Tridgell e762c43312 Plane: switch to an array for stream rates
this saves a couple of hundred bytes of flash.
2013-02-05 08:20:41 +11:00
Pat Hickey 85d783d5a9 ArduPlane: fixed memory unsafe member access in GCS_MAVLINK 2013-02-02 22:43:59 -08: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 9178022a73 Plane: don't change trims if radio_in is zero 2013-01-25 20:44:36 +11:00
Andrew Tridgell 7ab3d93ed4 Plane: fixed typo 2013-01-23 10:06:22 +11:00
Andrew Tridgell 49356b790b Plane: limit number of bytes read per GCS check 2013-01-23 09:35:06 +11:00
Andrew Tridgell 9813468640 Plane: fixed mavlink fetch of 16 character parameter 2013-01-21 16:52:08 +11: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 96b87e3b44 Plane: fixed test baro printout 2013-01-20 22:13:21 +11:00
Andrew Tridgell 2e04d4827a Plane: run PX4 console at 57600 2013-01-20 22:13:21 +11:00
Andrew Tridgell f9cb9e08ae Plane: fixed orientation of PX4 compass 2013-01-17 17:23:34 +11:00
Andrew Tridgell 9058949558 Plane: fixed some warnings 2013-01-16 14:19:25 +11:00
James Bielman 5631f865b2 Update floating point calculations to use floats instead of doubles.
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Andrew Tridgell fa3a4c68b6 Plane: use common log reading function 2013-01-15 14:03:51 +11:00
Andrew Tridgell 28352b3548 Plane: ensure ahrs.init() is called 2013-01-13 17:32:48 +11:00
Andrew Tridgell 92c9a4c1ce Plane: start update logging for new API 2013-01-13 17:31:42 +11:00
Andrew Tridgell bfaf91affe Plane: use an enum for flash log message types 2013-01-13 17:31:42 +11:00
Andrew Tridgell 86f667f6cc Plane: added new SERIAL0_BAUD parameter
this is useful on PX4
2013-01-13 07:39:40 +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 e0f052dd9a Plane: update for new AP_Param API 2013-01-09 13:30:55 +11:00
Andrew Tridgell 38f56be2c4 Plane: enable hardware sensors on PX4 2013-01-04 21:07:56 +11:00
Andrew Tridgell 2e2f96d721 Plane: cope with a HIL_STATE packet before GPS init 2013-01-04 12:47:08 +11:00
Andrew Tridgell 9e0096ddb5 Plane: fix handling of sensors HIL startup 2013-01-04 12:34:35 +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 868269e037 Plane: switch PX4 to attitude HIL for now
a bit easier to debug
2013-01-03 13:38:54 +11:00
Andrew Tridgell e8075b1657 Plane: for HIL_SENSORS for PX4 for now
until we have sensor drivers
2013-01-03 11:03:24 +11:00
Andrew Tridgell 07eed60ae4 Plane: use new apm.mk 2013-01-02 17:28:21 +11:00
Andrew Tridgell 2fe77fa6fa Plane: check for APPDIR to pull in px4 build logic 2013-01-02 17:06:44 +11: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 85e4f67e68 Plane: added a note about the dangers of the FS_GCS_ENABL option 2012-12-25 21:18:39 +11:00
Andrew Tridgell cf8e648558 CLI: fixed accel setup
disable mavlink callback in CLI
2012-12-24 08:51:33 +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 dc2b11704f Plane: fixed a build warning 2012-12-20 22:42:44 +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 1cb4724b7f Plane: fixes for 1280 build 2012-12-20 14:53:24 +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 772f93ea10 Plane: fixed config for 1280 2012-12-20 14:53:23 +11:00
Pat Hickey 5231e5a959 ArduPlane: fixes for AP_InertialSensor_UserInteract 2012-12-20 14:53:23 +11:00
Andrew Tridgell 3c0440b0b4 Math: use common degrees() and radians() functions 2012-12-20 14:53:22 +11:00
Andrew Tridgell c63c4f22e2 Plane: fixed formatting 2012-12-20 14:53:22 +11:00
Andrew Tridgell cf18534163 Plane: use new functions 2012-12-20 14:53:22 +11:00
Pat Hickey 2ad4fed8cd Rover/Copter/Plane: change from vsnprintf to vsnprintf_P 2012-12-20 14:52:38 +11:00
Pat Hickey edb076a6c5 ArduPlane: use hal's vsnprintf 2012-12-20 14:52:38 +11:00
Andrew Tridgell 62d7fd1a26 Plane: fixed HIL builds 2012-12-20 14:52:37 +11:00
Andrew Tridgell 940cbc900f Plane: use targets.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell 4913aff8cd Plane: remove unused send_text() function 2012-12-20 14:52:35 +11:00
Pat Hickey eb530b86e8 move Arduino.mk to /mk/Arduino.mk 2012-12-20 14:52:35 +11:00
Andrew Tridgell c20481dc94 Plane: SITL has a I2C driver now 2012-12-20 14:52:34 +11:00
Andrew Tridgell 761ab5c3e8 Plane: use AP_HAL_BOARD_DRIVER 2012-12-20 14:52:33 +11:00
Andrew Tridgell a3e20324ac Plane: added CONFIG_INS_STUB 2012-12-20 14:52:32 +11:00
Andrew Tridgell 41272614ce Plane: simplify board config defines 2012-12-20 14:52:32 +11:00
Andrew Tridgell 73f70cc596 Plane: moved to new GPS init syntax 2012-12-20 14:52:32 +11:00
Andrew Tridgell 18db7b2efd GPS: move _port setting to init()
this is needed to avoid constructor ordering dependencies
2012-12-20 14:52:32 +11:00
Pat Hickey a70a299c49 ArduPlane: refactor Makefile targets in terms of Arduino.mk targets 2012-12-20 14:52:31 +11:00
Andrew Tridgell 7d27e420ae AP_HAL: remove unnecessary Arduino.h includes 2012-12-20 14:52:30 +11:00
Andrew Tridgell d473203737 Build: added global board targets 2012-12-20 14:52:30 +11:00
Andrew Tridgell 678947c65d Plane: more fixes for SITL and new AP_Param startup 2012-12-20 14:52:29 +11:00
Pat Hickey 1e48d0fc69 Makefile Targets rewritten to use per-target extension style 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
Andrew Tridgell a78699113d Plane: fixed Makefile for new AP_HAL build approach 2012-12-20 14:51:39 +11:00
Andrew Tridgell 7046fc05e2 Plane: change to send_text_P() for progmem strings 2012-12-20 14:51:39 +11:00
Andrew Tridgell 7c6dd0736e Plane: use hal.storage for eeprom access 2012-12-20 14:51:39 +11:00
Andrew Tridgell 81d77d2bf4 Plane: fixed Makefile targets for AP_HAL 2012-12-20 14:51:38 +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 c441f02426 ArduPlane: init DataFlash obj 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 898aa0b260 Plane: fixed spelling error 2012-12-04 11:38:29 +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 cbb97f7294 Plane: added apm2 hilsensors target 2012-12-04 09:05:02 +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 53951f995a Plane: fixed GPS course in HIL 2012-12-03 17:38:55 +11:00
Andrew Tridgell 567cb47d35 Plane: fixed SERVO_OUTPUT_RAW for HIL 2012-12-03 17:38:31 +11:00
Andrew Tridgell 1104287aa2 Plane: use enum FlightMode in more places 2012-12-01 08:15:48 +11:00
Andrew Tridgell f5abc2c25e Plane: switch to an enum for flight modes 2012-12-01 08:08:54 +11:00
Andrew Tridgell a6d8dbeac2 Plane: update ArduPlane for new ins interface 2012-11-30 07:15:18 +11:00
Andrew Tridgell 0260559147 Plane: fixed throttle slew limit code
starting at 1000 is a very bad idea - a petrol engine could cut out
2012-11-28 12:13:09 +11:00
Andrew Tridgell 697c386075 Plane: use correct throttle range in slewrate 2012-11-28 11:42:05 +11:00
Andrew Tridgell 845dd88091 Plane: make THR_SLEWRATE docs clearer 2012-11-28 11:41:39 +11:00
Andrew Tridgell 92cd631ce5 Plane: added THR_PASS_STAB parameter
this allows direct passthru of throttle in STABILIZE and FBWA, which
is useful for nitro planes wher you have a throttle cut switch that
drops the throttle below normal minimum.
2012-11-26 23:33:05 +11:00
Andrew Tridgell 1059ef2a54 Plane: fixed secondary aileron and manual aux servos in failsafe
the servo value wasn't being written to APM_RC while in failsafe for
these aux channels
2012-11-26 23:32:57 +11:00
Andrew Tridgell a87394fff2 Plane: don't do accel calibration in HIL mode
this should fix the hang on startup
2012-11-25 21:53:37 +11:00
Andrew Tridgell 56e4cbfb1d Plane: allow reboot on APM1, and add reboot to main CLI menu 2012-11-24 18:20:37 +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
Andrew Tridgell 704da2a5d9 MAVLink: make it possible to enter the CLI over the radio
this only works on the APM2, where UART0 is also the radio port
2012-11-21 14:11:05 +11:00
Andrew Tridgell 8f108e2eb3 APM: added AMP_OFFSET option
thanks to Alexey Kozin!
2012-11-21 13:34:27 +11:00
Andrew Tridgell 61f2e18e2e APM: allow ailerons to move fully during servo demo 2012-11-21 13:34:27 +11:00
Andrew Tridgell fcbd3a823b APM: added a new type of auxilary aileron, with rc input
a AileronWithInput assumes you have setup your RC transmitter to give
the right trim and input on the secondary aileron
2012-11-21 13:34:26 +11:00
Michael Oborne a5e3ce4655 remove cli planner mode - no longer used 2012-11-21 07:45:45 +08:00
Andrew Tridgell a600ccece5 APM: support 16 character parameter names 2012-11-20 21:36:13 +11:00
Andrew Tridgell a5ed0de2cf APM: set MANUAL_LEVEL to 1 on successful accel calibration 2012-11-20 19:27:52 +11:00
Andrew Tridgell fd3993287d INS: disable accel calibration on the 1280
this would put us well over 128k in sketch size
2012-11-20 18:41:04 +11:00
Andrew Tridgell 2f287846b5 APM: don't use mavlink msgs for accel cal in cli 2012-11-20 18:32:27 +11:00
Andrew Tridgell 3aeaf2ece6 APM: k_param_imu is now unused 2012-11-20 18:32:27 +11:00
Andrew Tridgell 69fbcc8683 MAVLink: fixed accel and gyro sensor offsets in MAVLink 2012-11-20 18:32:26 +11:00
Andrew Tridgell f80783665f APM: fixed throttle display to always be between 0 and 100
when rc3 is below RC3_MIN, don't give an invalid value
2012-11-20 13:50:19 +11:00
Andrew Tridgell 7b733cd12b APM: fixed altitude_filter for new LowPassFilter syntax 2012-11-19 08:09:44 +11:00
Andrew Tridgell 8d1905a40b APM: change WIND direction to match convention
Thanks to Leo Hogg for pointing this out
2012-11-19 07:16:47 +11:00
Andrew Tridgell 531e62d3b5 MAVLink: improve usefulness of logged GPS velocities
we need them to align with time to use them for accelerations
2012-11-17 17:45:30 +11:00
rmackay9 cdfd3f9ccc ArduCopter, ArduPlane: rename ap variable in GCS_Mavlink.pde to resolve compiler warning re shadowing of variable 'ap'
Changed ArduPlane to keep function consistent with ArduCopter
2012-11-12 13:30:04 +09:00
Andrew Tridgell fddfb0b1a3 MAVLink: update compass health in SYS_STATUS
this will make it easier to tell if a I2C error occurred in flight
2012-11-12 11:26:54 +11:00
rmackay9 2df7a407da ArduPlane: fix HIL build 2012-11-07 21:23:07 +09:00
rmackay9 d9b4407e64 AP_InertialSensor: changes after review with Tridge.
sanity checking added to accelerometer calibration routine.
user feedback is sent using gcs_send_text_fmt instead of Serial.printf.
moved ins parameters to new eeprom number to avoid conflicts with older parameters.
other small changes including renaming of functions and parameters.
2012-11-07 19:21:15 +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 c7b47a0e47 APM: allow for arbitrary ranges and reversal on 2nd aileron
this ensures you can setup a 2nd aileron with different reversal from
main aileron
2012-11-05 23:37:58 +11:00
Andrew Tridgell 9c140356f5 APM: remove unused variable 2012-11-05 15:22:56 +11:00
Andrew Tridgell 2793e432ff APM: use raw GPS velocity in GLOBAL_POSITION_INT
a much more useful value to log
2012-11-05 14:58:40 +11:00
Andrew Tridgell aa236c43f8 APM: prepare for 2.66 2012-10-31 13:25:19 +11:00
Andrew Tridgell 81d507d39e APM: fixed differential spoilers in manual mode
make them follow the elevons
2012-10-31 12:43:53 +11:00
Andrew Tridgell 8c0296b27a APM: fixed additional aileron channels in manual mode 2012-10-31 12:43:53 +11:00
Xichen Shi 8c46fced16 APM: Added functionality to use differential spoilers in elevon mode
spoiler 1 and 2 are connected to 2 auxiliary channels, functions are
set to 16 on left wing and 17 om right wing respectively. Worked in
FBW + mode (auto etc.). No manual mode supported yet (need more
channels in my case).
2012-10-31 12:43:42 +11:00
Andrew Tridgell e479af67ff APM: fixed loiter radius docs to reflect new limit 2012-10-30 16:19:24 +11:00
Pat Hickey d4bb8a10d7 Update ArduCopter and ArduPlane dependencies on AP_Menu 2012-10-18 20:53:39 -07:00
Andrew Tridgell 07c291bb73 APM: fixed a comment typo 2012-10-16 17:21:04 +11:00
Andrew Tridgell f828956cb8 battery: use set_pin() to allow pins to be changed at runtime 2012-10-16 17:20:49 +11:00
rmackay9 775489d658 ArduPlane: added BATT_VOLT_PIN and BATT_CURR_PIN parameters to allow support for new 3DR IV battery monitor 2012-10-13 20:51:41 +09:00
Andrew Tridgell 0bc1f89f27 APM: fixed typo 2012-10-11 15:03:52 +11:00
Andrew Tridgell c9f10f0e00 APM: fixed auto-takeoff with zero lat/lng
consider a non-zero altitude to mean that we should use the relative
altitude specified
2012-10-11 15:03:00 +11:00
Andrew Tridgell 0495a0debc APM: make error msg clearer 2012-10-11 11:51:24 +11:00
rmackay9 f695db61ea ArduPlane: added AP_Semaphore.h to list of includes 2012-10-06 13:14:28 +09:00
Michael Oborne a38fef65c7 AP,AC Add ability to override an altitude in any auto mode, on the current active target 2012-09-30 07:29:33 +08:00
rmackay9 8c6fd340d7 AP_AHRS: added scheduler parameter to init
Required by the AP_AHRS_MPU6000 class which needs to disable timed processes that could interfere with it's communication with the mpu6000
2012-09-29 13:51:21 +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 bbec662483 APM: fixed build warning 2012-09-25 07:21:03 +10:00
Andrew Tridgell fbc053e6e4 APM: change to one low priority status buffer per GCS instance
this allows us to operate the low priority messages on each link
independently.

Thanks to David Buzz for the suggestion!
2012-09-24 17:39:19 +10:00
Andrew Tridgell 51aeb2dd4c APM: prepare for 2.65 2012-09-24 07:14:30 +10:00
Andrew Tridgell d5c35fcc8b APM: fixed stick mixing for STABILISE mode
this is embarrassing
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 56c354eb4f APM: fixed stick mixing in CIRCLE mode on throttle failsafe
Many thanks to Andke for finding this bug!
2012-09-23 19:27:42 +10:00
Andrew Tridgell 41017442f8 APM: removed unnecessary waypoint_sending flag 2012-09-22 20:17:19 +10:00
Andrew Tridgell f0f47f929a APM: send right parameter index when possible 2012-09-22 20:17:17 +10:00
Andrew Tridgell 764d86216e APM: fixed mission reset by setting waypoint to zero
this does a full mission reset (equivalent to rebooting)
2012-09-22 20:17:13 +10:00
Andrew Tridgell 6bae5ecd51 APM: added THR_SUPP_MAN option
this allows for manual throttle control during auto throttle
suppression. This is useful for keeping a petrol engine idling before
takeoff
2012-09-22 20:17:06 +10:00
Andrew Tridgell 5c402fa398 APM: allow RawSensors stream rate to be saved if <= 5
this makes it possible to configure all stream rates via a parameter
file
2012-09-22 20:17:02 +10:00
Andrew Tridgell 63940d3ab6 APM: don't send GPS_STATUS MAVLink message
it now provides no useful information as satellites_visible is in
GPS_RAW_INT in MAVLink 1.0
2012-09-22 20:12:43 +10:00
Andrew Tridgell cbc4a57abb APM: send airspeed sensor value, not estimate, when enabled
this solves the problem of people reporting that airspeed is not shown
when ARSPD_USE is zero.
2012-09-20 08:00:54 +10:00
Andrew Tridgell 832c5e996e APM: make it possible to fetch parameters by index 2012-09-20 07:42:46 +10:00
Andrew Tridgell 3077de0d33 APM: much faster parameter fetching
allow up to 30% of bandwidth to be used for parameter send
2012-09-20 07:29:23 +10:00
Andrew Tridgell 68f1b6336f APM: tweak the default options for an APM1 1280 board
this allows a few more things to fit in
2012-09-19 19:36:19 +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 4d4a95501f APM: updates for new GPS detection 2012-09-17 14:45:47 +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 c8e84d18a4 APM: tidy up a comment 2012-09-16 15:51:13 +10:00
Andrew Tridgell c0798730a8 APM: only copy manual channels in failsafe
this prevents non-manual channels changing value away from the trim
value on startup
2012-09-16 15:51:01 +10:00
Andrew Tridgell 127117b640 APM: ensure DO_SET_SERVO channels are enabled 2012-09-16 15:08:14 +10:00
Andrew Tridgell 208b878988 APM: allow update of last waypoint
fixed off by one error
2012-09-16 15:06:26 +10:00
Michael Oborne 94f956a0ca fix AP attitude hil - with randys help 2012-09-15 16:47:18 +08:00
Andrew Tridgell b55e7903aa APM: prepare for 2.62 release 2012-09-13 12:02:18 +10:00
Andrew Tridgell bad73b0686 APM: fixed elevon mixing
this was broken in 2.61
2012-09-13 12:01:40 +10:00
Andrew Tridgell 6e9abb616a APM: show real raw RC input, not mixed input
this makes it easier to diagnose elevon mixing issues
2012-09-13 12:00:49 +10:00
Andrew Tridgell 589c8fcc12 APM: report throttle and ground speed mission changes 2012-09-12 13:09:32 +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 c9a299665c 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
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
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 49468953a3 APM: updated for new RC_Channel_aux API 2012-09-08 15:14:41 +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 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 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 9b2ad55773 APM: added forwarding of unknown MAVLink types 2012-09-08 10:06:15 +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
Michael Oborne cd08420c3e AP fix takeoff alt issue
issue 733
2012-09-06 20:19:12 +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
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 9a987ce116 APM: fixed docs for LIM_PITCH_MIN 2012-08-30 14:55:08 +10:00
Michael Oborne 1e7adac365 AP fix attitude hil.
we where waiting on new_data that had no way of getting there.
2012-08-30 07:54:20 +08:00
Andrew Tridgell f6c3197cd2 APM: added new TELEM_DELAY parameter
number of seconds to delay telemetry
2012-08-30 08:59:39 +10:00
Craig Elder 4ad516c445 Arducopter: increased MAVLINK delay to 6s to reduce the chance of xBee bricking
Arduplane:  increased MAVLINK delay to 6s to reduce the chance of xBee bricking
Ardurover:  increased MAVLINK delay to 6s to reduce the chance of xBee bricking
2012-08-28 20:09:10 -07: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 85e9fa8c3b APM: fixed another problem with DO_JUMP
off by one error!
2012-08-28 20:18:24 +10:00
Andrew Tridgell ded64fd9ea APM: check for geofence fence total of 0 2012-08-28 20:18:24 +10:00
Andrew Tridgell d13d117e61 APM: removed reset_I() and instead auto-reset integrator in PID library
this prevents us resetting key integrators on waypoint change, while
still preventing old integrators being used when a PID starts to be
used again
2012-08-28 20:18:23 +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
Amilcar Lucas b48a1f1fc4 ArduPlane: Fix 1280 builds
Added fine-granular features in the AP_Mount class to reduce code size on 1280 chips
Remove camera trigger support on 1280 chips
2012-08-27 01:33:45 +02:00
Amilcar Lucas 769f04b7d6 Improve comments, no functional changes 2012-08-27 01:32:27 +02:00
Andrew Tridgell ecc6a52904 APM: report estimated airspeed if airspeed not available 2012-08-25 17:49:26 +10:00
Andrew Tridgell 3c7d7ba228 APM: use airspeed estimate for speed scaling if available 2012-08-25 17:49:26 +10:00
Andrew Tridgell c9cf483822 APM: added XTRK_USE_WIND parameter
when enabled this will use the wind estimation code to adjust the
navigation bearing, allowing the navigation code to cope with much
higher levels of wind while using a compass
2012-08-25 17:49:26 +10:00
Andrew Tridgell abe5bbfa4d APM: support forcing MANUAL of FBWA mode over MAVLink 2012-08-24 15:18:22 +10:00
Andrew Tridgell b4134de550 APM: ensure fence_total is positive
thanks to David Buzz for the suggestion
2012-08-24 14:56:46 +10:00
Andrew Tridgell c35530c362 APM: fixed wheeled takeoff with Jons new controllers 2012-08-22 17:34:01 +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 4668f8b7db APM: ensure takeoff_complete is reset 2012-08-22 16:17:55 +10:00
Andrew Tridgell 95c941664f APM: fixed bug in do_jump() navigation
this avoids a problem where the jump can cause the next command to be
reset to 0
2012-08-22 15:29:46 +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 2d5bb7c51b APM: added RSSI in raw message too 2012-08-22 13:48:09 +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 d445482ace APM: added optional use of new APM_Control library
thanks to Jon Challinger for the new controllers!
2012-08-22 12:45:14 +10:00
Andrew Tridgell 9e926eae51 APM: optional build with new controller libs 2012-08-22 12:39:07 +10:00
uncrustify 70048f3d6f uncrustify ArduPlane/Parameters.h 2012-08-21 19:19:51 -07:00
uncrustify 3bee769405 uncrustify ArduPlane/config.h 2012-08-21 19:19:51 -07:00
uncrustify d0ed723c1e uncrustify ArduPlane/planner.pde 2012-08-21 19:19:51 -07:00
uncrustify a8e5900624 uncrustify ArduPlane/system.pde 2012-08-21 19:19:51 -07:00
uncrustify 8c2d604971 uncrustify ArduPlane/test.pde 2012-08-21 19:19:51 -07:00
uncrustify d504ae680a uncrustify ArduPlane/setup.pde 2012-08-21 19:19:51 -07:00
uncrustify f7b8fecad9 uncrustify ArduPlane/GCS_Mavlink.pde 2012-08-21 19:19:51 -07:00
uncrustify 0e8a76ccdd uncrustify ArduPlane/ArduPlane.pde 2012-08-21 19:19:51 -07:00
uncrustify ff4afa767b uncrustify ArduPlane/commands.pde 2012-08-21 19:19:51 -07:00
uncrustify 43991712be uncrustify ArduPlane/radio.pde 2012-08-21 19:19:50 -07:00
uncrustify d5767ef817 uncrustify ArduPlane/Attitude.pde 2012-08-21 19:19:50 -07:00
uncrustify 0f415bbc6a uncrustify ArduPlane/Parameters.pde 2012-08-21 19:19:50 -07:00
uncrustify 39ab309b87 uncrustify ArduPlane/Log.pde 2012-08-21 19:19:50 -07:00
uncrustify b960619195 uncrustify ArduPlane/defines.h 2012-08-21 18:59:05 -07:00
uncrustify 2c56e5c690 uncrustify ArduPlane/APM_Config.h 2012-08-21 18:59:05 -07:00
uncrustify bd0146f776 uncrustify ArduPlane/GCS.h 2012-08-21 18:58:53 -07:00
uncrustify 5267ea6aad uncrustify ArduPlane/sensors.pde 2012-08-21 18:58:40 -07:00
uncrustify e212c152f7 uncrustify ArduPlane/geofence.pde 2012-08-21 18:58:31 -07:00
uncrustify 326ca1b7cd uncrustify ArduPlane/failsafe.pde 2012-08-21 18:58:24 -07:00
uncrustify 4e795d4f1e uncrustify ArduPlane/commands_process.pde 2012-08-21 18:58:17 -07:00
uncrustify 909e39d667 uncrustify ArduPlane/navigation.pde 2012-08-21 18:58:17 -07:00
uncrustify 4793162a9d uncrustify ArduPlane/commands_logic.pde 2012-08-21 18:58:11 -07:00
uncrustify 9b133019b3 uncrustify ArduPlane/events.pde 2012-08-21 18:57:59 -07:00
uncrustify 0683be294b uncrustify ArduPlane/climb_rate.pde 2012-08-21 18:57:21 -07:00
uncrustify c69772388b uncrustify ArduPlane/control_modes.pde 2012-08-21 18:57:21 -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
Andrew Tridgell bf2319a0fc AHRS: fixed reference to AHRS var_info for APM and ACM 2012-08-21 15:58:32 +10:00
Andrew Tridgell c5b77f3909 APM: reset steering PID integrator in reset_I() 2012-08-21 15:01:01 +10:00
rmackay9 11e946eb54 ArduCopter, ArduPilot: revert mavlink delay callback to be "unsigned long" 2012-08-18 20:34:41 +09:00
rmackay9 360c1198a6 ArduPlane: more "int" to "int16_t" and added cast to (int) in printf statements.
Also modified dump_log function's last_log_num to be int16_t which matches return type from DataFlash's find_last_log method.
2012-08-18 18:55:14 +09:00
rmackay9 6d489947cf ArduPlane: replaced many "int" with "int16_t", "long" with "int32_t" 2012-08-18 18:26:13 +09:00
rmackay9 9773c8ce93 ArduPlane: commented out two unused variables to remove compiler warning 2012-08-18 13:20:34 +09:00
Andrew Tridgell 0868bb76e5 APM: fixed SITL build 2012-08-17 16:28:45 +10:00
Andrew Tridgell 5e690d5680 APM: added parameter FBWB_ELEV_REV
this fixes issue 343
2012-08-17 15:04:53 +10:00
Andrew Tridgell 6300fa7399 math: more abs() fixes
abs() is 16 bit
2012-08-16 15:17:42 +10:00
Andrew Tridgell 034fb5b194 APM: fixed hil build 2012-08-16 12:53:37 +10:00
Andrew Tridgell d27e51f20a APM: allow telemetry send during parameter and waypoint fetch
this slows down telemetry by a factor of 4 during parameter or
waypoint transmit. That ensures that mode changes and gps position are
still updated during a long parameter fetch
2012-08-16 10:50:12 +10:00
Andrew Tridgell ed064b2506 MAVLink: enable fetching of single parameters
this makes it possible for the GCS to fetch a single parameter by
name, which is useful for parameters that change in flight
2012-08-16 10:14:46 +10:00
Andrew Tridgell c960db7af5 APM: allow for separate calibration of airspeed/barometer
this is useful just before takeoff, to account for temperature changes
2012-08-15 19:49:09 +10:00
Andrew Tridgell ad73c229ab APM: added LAND_FLARE_ALT and LAND_FLARE_SEC
these allow you to configure the altitude and time before touchdown to
flare the plane and lock the heading. Useful on larger planes.
2012-08-15 18:11:16 +10:00
Andrew Tridgell 1252ddfe0c APM: rename RDRSTEER to WHEELSTEER
thanks to Jon for the suggestion
2012-08-15 16:28:59 +10:00
Andrew Tridgell ffbd229841 APM: use AHRS position for geo-fence
this allows it to take account of dead-reckoning
2012-08-15 14:31:10 +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 2d7fcbd14b APM: reload airspeed and throttle after landing
this allows for restarting a mission after landing with reasonable
airspeed values
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 e26e8b3b67 APM: added RDRSTEER_ PID for steering on ground
this allows for rolling takeoff with steering, and use of rudder in
landing
2012-08-15 12:39:35 +10:00
Andrew Tridgell 52064772ee APM: report speed changes via MAVLink 2012-08-15 12:39:35 +10:00
Andrew Tridgell 817017658d APM: implement FENCE_ACTION_REPORT
when FENCE_ACTION is set to FENCE_ACTION_REPORT a fence breach is
reported, but the flight mode is not changed
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 0584017aff APM: expose change_command() and geofence_breached() to libraries
this makes a failsafe library easier
2012-08-15 12:39:34 +10:00
Andrew Tridgell ff6301fb46 APM: show waypoint number in jump message 2012-08-15 12:39:34 +10:00
Andrew Tridgell 92bdc23ab6 APM: minor formatting fix 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 5631b90222 APM: interpret zero lat/lng as being current location
this makes it easy to have a "loiter in current position" mission
element
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 3bdc7d41be INS: disable INS AP_Param table when not on APM1 hardware
this could cause overwriting of memory with default values
2012-08-11 22:06:03 +10:00
Andrew Tridgell c31eef59ae Mavlink: log wind estimation result 2012-08-11 22:06:03 +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
Andrew Tridgell 9fea3e3ac1 APM: pass airspeed sensor to AHRS 2012-08-11 08:57:44 +10:00
Andrew Tridgell 0ffc89d512 APM: support the MISSION_WRITE_PARTIAL_LIST command
this allows missions to be partially updated in flight
2012-08-09 17:13:36 +10:00
Andrew Tridgell dc47074dbd MAVLink: removed the need for Mavlink_compat.h
we have now fully transitioned to MAVLink 1.0, so we no longer need
the compatibility layer and the old names in the code
2012-08-09 12:22:46 +10:00
Andrew Tridgell 2a7b298bbc MAVLink: moved mavlink variables back to library
these were moved to the main sketches to allow for compile time
selection of MAVLink 0.9 vs 1.0. We no longer support 0.9, so we can
move it back, which simplifies some test sketches
2012-08-09 12:06:21 +10:00
Andrew Tridgell 5498d347f3 APM: Added RST_MISSION_CH option
this allows a pilot to reset the mission using a transmitter
switch. Very useful for repeating a mission during testing
2012-08-09 10:33:16 +10:00
Andrew Tridgell e2c8ec2c9e APM: removed THROTTLE_REVERSE option
Better to use RC3_REV
2012-08-09 10:04:44 +10:00
Andrew Tridgell e133900c68 APM: Added STICK_MIXING option
this replaces the compile time option. Disabling during long distance
flights when the transmitter may be out of range is useful.
2012-08-09 08:53:29 +10:00
Amilcar Lucas d34549f386 Add an optional second mount to ArduPlane and ArduCopter 2012-08-08 23:22:24 +02:00
Andrew Tridgell dc99586981 APM: removed pointless load() call 2012-08-08 16:51:23 +10:00
Andrew Tridgell dcc50b5705 AP_Airspeed: removed values passed to constructor 2012-08-08 16:38:39 +10:00
Andrew Tridgell 2114acddf1 APM: fixed default flap speed
the default of 255 translates to -1 as a AP_Int8, so use zero to mean
no flaps
2012-08-08 13:04:21 +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
Jonathan Challinger 7815e3d810 APM: fixed rounding of altitude
the cast was rounding to the nearest meter
2012-08-08 12:07:35 +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 9c1ac2d9e6 More work on ch9, 10 and 11 2012-08-04 19:44:41 +02:00
Amilcar Lucas 95f2af6d2d Implement set ROI 2012-08-04 18:44:29 +02:00
Amilcar Lucas 4ba847c449 The mount type must be updated periodically 2012-08-04 18:44:08 +02:00
Amilcar Lucas bbc4bdb729 More flexible RC support 2012-08-04 18:39:20 +02:00
Amilcar Lucas 50b5d33745 Enable camera triggering by default 2012-08-04 16:32:47 +02:00
Amilcar Lucas 82b82283be ATmega1280 does not have enough memory for mount support so disable AUTO GPS support, to allow mount support to fit.
This should almost have no side effects, because the most users use MTK anyways.
If the user defined a GPS protocol, than we will NOT overwrite it
2012-08-04 16:32:20 +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 176e6fdd68 ArduPlane: bug fix to global var_info parameter list for ahrs object. 2012-08-01 10:52:34 +09:00
Andrew Tridgell 0b49ac0ed0 APM: fixed overflow in geofence code for altitudes above 327 meters 2012-07-31 15:46:47 +10:00
Andrew Tridgell cb61c3be96 APM: fixed case of 'LAND_PITCH_CD'
mavlink parameters are uppercase by convention
2012-07-29 17:07:38 +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
rmackay9 842ce47219 ArduPlane: change to Parameters.pde to support moving var_info from AP_AHRS to AP_AHRS_DCM 2012-07-28 14:31:01 +09:00
Michael Oborne cb0eacca37 AP Fix Hil Airspeed calc in m/s 2012-07-26 20:21:17 +08:00
Andrew Tridgell 9eb05a2e1a APM: update version for 2.50 release 2012-07-26 11:36:17 +10:00
Andrew Tridgell 6bcfe913f7 APM: added a SCALING_SPEED parameter
this allows users to adjust the base speed used for scaling roll/pitch
PIDs. This can be used to make PIDs work for both airspeed and
non-airspeed control
2012-07-26 11:30:23 +10:00
Andrew Tridgell 3c2fc72654 APM: fixed HIL build 2012-07-26 10:09:07 +10:00
Andrew Tridgell 07992bc943 APM: fixed build
the SET_ROI commands are not supported yet
2012-07-26 10:03:36 +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
Andrew Tridgell 9e72d4c3f4 APM: fixed a problem with wayoints completing early
when a user forces a waypoint jump, we may need to reset prev_WP to
prevent us thinking the waypoint is complete before we have started
2012-07-21 20:32:07 +10:00
Andrew Tridgell 85465c9126 MAVLink: fixed another two places where micros() was used for a millisecond time 2012-07-20 11:57:15 +10:00
Jason Short 98237a0e00 Added Oilpan INS group object param 2012-07-18 23:07:50 -07:00
Jason Short e574f3c8cf Arduplane: Fixed unsigned int comparison warning 2012-07-18 23:07:34 -07: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
Andrew Tridgell 1cf5057c61 APM: Use g.airspeed_cruise for turn rate calculation if the airspeed sensor is disabled.
This gives our best approximation for auto flight
2012-07-19 11:50:41 +10:00
Jonathan Challinger c7da63509b APM: Removed unused YAW_DAMPENER code.
YAW_DAMPENER was defined as zero
2012-07-19 11:50:21 +10:00
Jonathan Challinger d9d055ef78 APM: Removed incorrect nav_gain_scaler from nav_roll calculation.
nav_gain_scaler was originally added due to a perceived improvement in
loiter performance, but is incorrect for navigation. Turn rate is a
function of airspeed and bank angle, ground speed has no effect on
that.
2012-07-19 11:50:06 +10:00
Amilcar Lucas 3d385c0fb4 ArduPlane parameters: re-order the files, looks like the second file gets ignored :( 2012-07-18 22:52:17 +02:00
Amilcar Lucas 8a8e11fa7f ArduPlane parameters: Add base class info as well 2012-07-18 22:39:49 +02:00
Amilcar Lucas 610fdeacc1 Support up to 11 servos in APM2
Conflicts:

	ArduPlane/ArduPlane.pde
2012-07-18 22:01:19 +02:00
Michael Oborne 636fcadde4 fix rc libray param gen 2012-07-18 07:03:39 +08:00
Jonathan Challinger fc4f111d15 Changed mavlink GLOBAL_POSITION_INT.relative_alt message to correctly return altitude above ground. 2012-07-17 16:15:11 +10:00
Andrew Tridgell de3c9ce56d Airspeed: change APM to use new AP_Airspeed library
the next step is AHRS dead reckoning
2012-07-16 11:21:50 +10:00
Michael Oborne 67ecaa9252 AP fix duplicate keys in param config 2012-07-13 07:06:01 +08:00
Amilcar Lucas dfe0983e1e Merge the changes from APM_Camera branch into ArduCopter
Conflicts:

	ArduCopter/Camera.pde
	ArduCopter/Parameters.pde
2012-07-11 00:39:13 +02:00
Andrew Tridgell c80a88766f APM: added credit for FBW altitude limit code
thanks Yuri!
2012-07-10 08:36:50 +10:00
Andreas M. Antonopoulos de64c05f8e param_parser: cosmetic
Arduplane: doc fixes
2012-07-08 21:45:26 -07:00
Andrew Tridgell 78c51b945f APM: fixed DisplayName/Description mixups in parameter docs 2012-07-07 17:40:43 +10:00
Andrew Tridgell f6d7d1bc59 APM: changed PID library to do automatic deltat calculation
this fixes a problem with the HDNG2RLL PID, which was using the wrong
time base and prevents similar bugs from happening in the future
2012-07-06 19:59:18 +10:00
Andrew Tridgell 58fd91165f APM: fixed some build warnings and type errors 2012-07-06 19:59:18 +10:00
Andrew Tridgell 5abd26a142 APM: more parameter documentation 2012-07-05 15:06:45 +10:00
Andrew Tridgell 21f06f8a39 GeoFence: fixed default return altitude units
off by 100x!
2012-07-05 15:06:44 +10:00
Andrew Tridgell 0385932afb MAVLink: added climb rate reporting 2012-07-05 13:00:46 +10:00
Andrew Tridgell 95d9569b35 Docs: fixed some units in APM parameter docs 2012-07-05 13:00:46 +10:00
Andrew Tridgell 60caaa4b04 MAVLink: remove MAVLink 0.9 protocol support
this simplifies the code a lot. We're not going back to 1.0
2012-07-05 13:00:46 +10:00
Andrew Tridgell fb66899414 APM: changed test for having completed a waypoint
the new test is that we have passed a "finish line" perpendicular to
the track between the last waypoint and the current waypoint.

The previous tests are also still used, so if we circle a waypoint or
get within the waypoint radius we also consider it completed
2012-07-04 12:42:46 +10:00
Andrew Tridgell 6ee9f1ae97 APM: use new location functions 2012-07-04 12:42:46 +10:00
Andrew Tridgell 99b11e4f19 Mount: enable mount control via eeprom parameters
this enables MNT_* parameter control of the camera mount code. It also
fixes the conversion of calculated angles between degrees and
integers, and fixes stabilised mount control when yaw control is not
available.
2012-07-03 10:21:01 +10:00
Michael Oborne b2d73d8f68 fixup sitl attribute group for planner. - causing invalid advanced/standard views 2012-07-01 21:43:32 +08:00
Andrew Tridgell 82ede937e7 AnalogSource: convert analogRead() calls to the new API
this should give us much better analog values, plus save a bunch of
CPU time
2012-07-01 15:01:05 +10:00
Andrew Tridgell 55092c25a6 SITL: enable the SIM_* parameters in ArduCopter and ArduPlane 2012-06-29 15:10:52 +10:00
Andrew Tridgell 5bccfbd94c Barometer: fixed airstart for APM
we need to re-load the ground pressure and temperature from eeprom on
and airstart
2012-06-27 16:01:50 +10:00
Andrew Tridgell 3a2594fa1a APM: ArduPlane updates for new compass interface 2012-06-27 16:01:50 +10:00
Andrew Tridgell 6639294c72 APM: update for new barometer interface
the barometer can now calibrate and return altitude values.

A 0.3 low pass filter is used on altitude to match the previous code
2012-06-27 16:01:50 +10:00
Andrew Tridgell 2934b4173b APM: set_centripetal() is now set_fly_forward()
this controls more than just centripetal correction
2012-06-27 16:01:49 +10:00
rmackay9 621e020dac ArduPlane HIL: fixed bug so g_gps->setHil calls send time as a uint32_t (was sending a float but was cast back to an uint32_t resulting in a meaningless time that never changed). 2012-06-26 22:59:24 +09:00
Amilcar Lucas b072a59843 Improve parameters descriptive text 2012-06-21 00:20:37 +02:00
Andrew Tridgell 4a50686c3e APM: prepare for 2.40 release 2012-06-16 10:11:26 +10:00
Andrew Tridgell 58379b928f MAVLink: make usage of MAVLink defines more consistent 2012-06-15 16:27:11 +10:00
Andrew Tridgell 619bcc00d9 APM: parameter enums should not be conditionally compiled 2012-06-15 11:57:00 +10:00
Andrew Tridgell 0900751bcd APM: added longer comment on k_format_version 2012-06-15 11:55:09 +10:00
Amilcar Lucas 6d2ac62006 Let's keep the same format version until CAMERA is activated by default 2012-06-13 21:28:13 +02:00
Amilcar Lucas 07a18904fc With CLI and MOUNT active, the linker says: region `text' overflowed by 3858 bytes
So disable CLI when MOUNT is active. Sorry I did not detect it before, but the APM_Camera branch worked in a different way.
2012-06-13 21:08:09 +02:00
Amilcar Lucas 1906e06b69 Added camera trigger functionality 2012-06-13 21:00:20 +02:00
Amilcar Lucas a32b7c200b Add "3 axis camera stabilization" and "point camera to 3D point" functionality
Patch by Gregory Fletcher and reviewed by me
2012-06-13 20:55:19 +02:00
Amilcar Lucas 5ffd489d87 Spellcheck 2012-06-13 20:44:35 +02:00
Jason Short 448e4d8728 Added CLI level command 2012-06-11 23:01:25 -07:00
Jason Short c804860243 Cosmetic changes only. 2012-06-10 13:10:07 -07:00
Jason Short 4e50db2f6e Added missing Manual_level config 2012-06-10 13:08:48 -07:00
Jason Short 37d8f86d33 Added missing Manual Level initializer 2012-06-10 13:08:22 -07:00
Andrew Tridgell 940d994efb GPS: Use appropiate GPS_ENGINE settings in APM, ACM and rover 2012-06-10 16:36:18 +10:00
Andrew Tridgell 99b39aef93 APM: ready for 2.40-beta 2012-06-08 18:03:21 +10:00
Andrew Tridgell a684bddbda GPS: open the GPS serial port with a 256 byte buffer
the UBLOX needs more than 128 bytes for reliable parsing
2012-06-08 16:42:03 +10:00
Andrew Tridgell 25c17a5425 re-enable the AP_Mount build 2012-06-04 19:32:11 +10:00
Andrew Tridgell e7cf643386 added mavlink09 targets
allows easier building with mavlink0.9
2012-06-04 13:14:52 +10:00
Andrew Tridgell 3af29bd84e AP_Mount: disable AP_Mount until it works with MAVLINK10 2012-06-04 13:14:51 +10:00
Michael Oborne a71ed6c5ce enable mavlink10 by default 2012-06-04 08:02:08 +08:00
Michael Oborne b4a1b03fd3 AP: add fake satellite count for hil. 2012-06-02 16:38:20 +08:00
Pat Hickey 5766afa6c8 ArduPlane: Increment format number in Parameters.h
* Force all users to reconfigure to take advantage of elevon patch
  ( 669e6867 )
2012-05-28 20:51:12 -07:00
Pat Hickey 1c00d1ffe3 ArduPlane: Fix effect of ELEVON_REVERSE
* Previously, the ELEVON_REVERSE parameter was equivelant in function to the
  ELEVON_CH1_REVERSE parameter. These parameter values are found in
  g.reverse_elevons and g.reverse_ch1_elevon, and used to map to the radio_out
  channels in ArduPlane/Attitude.pde
* It seems the author's intent was for ELEVON_REVERSE to change the sign for
  the combination of pitch & roll into ch1 & ch2, as there are already
  parameters which change just the sign of ch1 and just the sign of ch2.
* Discovered this bug because I happened to build an elevon airframe which was
  not possible to setup with the existing ELEVON_ and RCn_REV parameters.
* This will break existing elevon setups if the user used ELEVON_REVERSE
  instead of ELEVON_CH1_REVERSE, since they were previously interchangable.
2012-05-27 22:15:08 -07:00
Michael Oborne c307b69515 increase resolution on params 0.1 > 0.01 2012-05-24 06:22:57 +08:00
Andrew Tridgell d9457ecc38 MAVLink: send time of GPS fix accurately
when we send a GPS_RAW message, set the usec field to the time we got
the fix from the GPS, not the current time. This makes it possible for
aerial photo processing to be more accurate, as the usec field with
more accurately reflect the planes position/time pair
2012-05-23 17:33:33 +10:00
Andrew Tridgell 66544a5db2 Log: don't print '+' while erasing logs
we no longer do page based erase, so printing a + every 128 pages
makes no sense
2012-05-22 20:10:29 -07:00
Andrew Tridgell b3aa704c49 AirSpeed: added parameter ARSPD_USE
setting ARSPD_ENABLE to 1 and ARSPD_USE to 0 allows the airspeed
sensor to be initialised and logged without it being used for flight
control. This is very useful when initially testing an airspeed sensor
in a new plane. It also makes it possible to enable/disable the use of
the airspeed sensor during a flight at any time.
2012-05-22 20:02:23 +10:00
Andrew Tridgell 8e01bc3593 MAVlink: update ArduPlane for param fetch during DataFlash erase
same changes as for ArduCopter
2012-05-22 16:13:35 +10:00
Andrew Tridgell 251fe26875 GPS: added ublox build target
useful for 1280 APM1s
2012-05-18 22:31:50 +10:00
Andrew Tridgell 3ae1c6f9e0 APM: prepare for 2.34 2012-05-14 14:29:59 +10:00
Michael Oborne 218e70cd8b AP - fix attitude level hil mavlink 1.0 issue 2012-05-06 11:05:35 +08:00
Andrew Tridgell f43f5900bc Telemetry: make it possible to use UART2 on APM2
building with TELEMETRY_UART2=ENABLED allows you to use the solder
bridge on the APM2 to enable telemetry on UART2. This allows both USB
telemetry and a radio at the same time.
2012-05-04 10:39:44 +10:00
Michael Oborne 75f091cd9c more arduplane param info 2012-04-30 20:39:41 +08:00
Michael Oborne c1115d83c7 update some arduplane config items 2012-04-30 18:44:20 +08:00
Andrew Tridgell 8fab91e063 APM-nav: set NAV I value defaults to 0.1
a small I value is good on most planes, so I think this is a better
default than 0. Thanks to Chris for asking about this.
2012-04-30 12:27:30 +10:00
Andrew Tridgell 67afdc7485 autotest: fixes for MAVLink 1.0 in autotest 2012-04-27 15:15:53 +10:00
Andrew Tridgell b6a475f6a5 MAVLink: make APM build with MAVLink 1.0 possible with arduino GUI 2012-04-24 22:24:58 +10:00
Andrew Tridgell 95be2c5922 APM: updates for MAVLink 1.0 2012-04-24 19:54:20 +10:00
Andrew Tridgell 615defdc37 use build_all.sh to ensure we don't break the mount code 2012-04-24 10:57:43 +10:00
Andrew Tridgell 8e6fdb8981 APM: use OutputCh_current() in MAVLink servo logging
this gives a more accurate picture of what is actually happening with
the servos
2012-04-24 10:57:43 +10:00
Michael Oborne 8d797fec3c fix potential null pointer 2012-04-20 17:57:06 +08:00
Andrew Tridgell 1cc7adbac0 sitl: allow sitl build with MAVLink 1.0 2012-04-20 10:09:21 +10:00
James Goppert 5390467f3d Worked on ArduCopter cmake options. 2012-04-19 16:05:08 -04:00
James Goppert 6fae800dc2 Working on ArduPlane options. 2012-04-19 02:23:54 -04:00
James Goppert 53c143a575 Improved cmake options. 2012-04-18 23:15:29 -04:00
James Goppert 0f90164f03 Changed default cmake port for ArduPlane. 2012-04-18 21:31:46 -04:00
James Goppert 0e7e77760a Updated ArduPlane/ArduCopter cmake options. 2012-04-18 15:16:02 -04:00
James Goppert a9f0bd24d7 Switched to project specific cmake lists.
This is better since each project has very different options.
2012-04-17 23:07:20 -04:00
James Goppert fb07cddd6f Making cmake local to projects. 2012-04-17 21:31:10 -04:00
Andrew Tridgell d07b77237e AHRS: enable AHRS_ group in ArduPlane 2012-04-16 20:55:13 +10:00
Andrew Tridgell 85ba978a65 ready for 2.33 release 2012-04-09 18:16:49 +10:00
Andrew Tridgell e1270401bf MAVLink: make parameter send use adaptive stream rate
this makes it possible to fetch parameters with very low air data
rates
2012-04-02 11:18:53 +10:00
Andrew Tridgell 7b50724f60 MAVLink: allow for find grained stream rate control
streams can now be requested at any multiple of 20ms. So if you ask
for a stream at 7Hz then you will get it at close to 7Hz.
2012-04-02 11:18:53 +10:00
Andrew Tridgell e0bb7e2777 MAVLink: don't waste 100 bytes of bandwidth sending 1 byte of information
the GPS_STATUS message is a massive waste of bandwidth, but it is the
only message that tells us the number of visible satellites. So only
send it if that information changes.

This makes MAVLink work better at low baud rates
2012-03-30 17:46:20 +11:00
Andrew Tridgell 87ed39ea46 APM: use set_blocking_writes(false) when we have done ground start 2012-03-30 17:46:20 +11:00
Andrew Tridgell b4107d35e8 MAVLink: raise the serial transmit buffer size to 256 bytes
the 128 byte serial transmit buffer was causing significant problems
with queueing of mavlink messages. With 256 bytes we can fit a lot
more messages out in each pass of the code, which makes telemetry more
efficient

As we discussed on the dev call, we now have enough free ram for this
to be worthwhile
2012-03-30 17:46:20 +11:00
Andrew Tridgell 86cc7a5e1d APM: enable AP_Declination by default 2012-03-30 14:25:27 +11:00
Andrew Tridgell 168c45ab12 AP_Declination: enabled auto declination by default in APM 2012-03-30 14:25:27 +11:00
Andrew Tridgell 9d193f06c9 APM: Change version to 2.32 2012-03-29 12:50:12 +11:00
Andrew Tridgell 4c4c38f69a APM: Added MANUAL_LEVEL option
when MANUAL_LEVEL is set to 1, we don't do accelerometer levelling at
startup, and instead used the values saved in the EEPROM. This makes
it easier to do levelling on the bench, or once for a series of
flights for the day
2012-03-29 12:39:53 +11:00
Andrew Tridgell 1c934dc7ef APM: increase ArduPlane version to 2.31 2012-03-27 16:13:29 +11:00
Andrew Tridgell 34506b170f Mavlink: fixed warnings about limits on int32 values 2012-03-27 15:37:25 +11:00
Andrew Tridgell 989304fb47 APM: enable the new offset nulling in APM 2012-03-27 15:37:24 +11:00
Andrew Tridgell 458d55e5bc MAVLink: constrain variable changes to the datatype range
if someone tries to set a AP_Int16 to a value of 300000, they now get
32767 instead of -27678
2012-03-19 17:29:02 +11:00
Andrew Tridgell 8afd196907 APM: adapt ArduPlane for AHRS framework 2012-03-19 17:29:02 +11:00
Andrew Tridgell e81060a1a6 APM: removed some config file cruft
these options are now settable via MAVLink
2012-03-18 13:34:40 +11:00
Michael Oborne 3944c1e665 update AP version to 2.30 2012-03-18 10:27:49 +08:00
Amilcar Lucas 6e9ffb4249 correct small typos in comments 2012-03-11 21:30:09 +01:00
Andrew Tridgell 2a03a0584f AP_Declination: disable library when AUTOMATIC_DECLINATION is not ENABLED
unfortunately this library was causing avrdude to fail to load the hex
to my APM2. Until we work out why, it's disabled.
2012-03-11 21:46:41 +11:00
Adam M Rivera d3667faef4 AP_Declination: Added call to compass.set_initial_location if the compass is enabled when the 3D fix is obtained.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Adam M Rivera 2524f9c8df AP_Declination: Added new config value to allow the user to have the declination overwritten on every 3D fix.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Andrew Tridgell d75e883fe8 GCS: get_integrator() is now get_gyro_drift() in DCM 2012-03-10 10:34:33 +11:00
Andrew Tridgell 9a06d35772 make 'ENABLE' and 'ENABLED' mean the same things
users get this wrong far too often!
2012-03-10 10:34:33 +11:00
Andrew Tridgell 13d5839778 APM: removed quaternion special cases 2012-03-10 10:34:32 +11:00
Andrew Tridgell 371677610d APM: avoid fetching the DCM matrix twice
also no special case for quaternions
2012-03-10 10:34:32 +11:00
Andrew Tridgell 7a9b3d3388 Quaternion: show "Quaternion test" on startup if enabled 2012-03-10 10:34:29 +11:00
Andrew Tridgell e39c3cb9d2 APM: make it possible to build ArduPlane with quaternion support 2012-03-10 10:34:29 +11:00
Andrew Tridgell 367947fd33 HWSTATUS: if we don't know the voltage, report it as zero
this will tell us if board_voltage() is really working
2012-03-10 10:34:28 +11:00
Andrew Tridgell 511f65e2ef APM: fixed reset of control switch when short_fs_action is disabled
When FS_SHORT_ACTN is 0, we should not re-read the control switch
unless we changed mode on the initial short fs action
2012-03-10 10:34:28 +11:00
Andrew Tridgell b455443e2c APM: added logging of DCM, HWSTATUS and SIMSTATE 2012-03-10 10:34:27 +11:00
Andrew Tridgell b20084af7d APM: added board_voltage() function 2012-03-02 15:48:27 +11:00
Pat Hickey ff0fc26484 Cleanup: rename files with spaces in their names, replace with underscores
* Skipped /Tools/ArdupilotMegaPlanner/Resources/new...
  and /archive/Configurator/Source/Utilities/TDMS/G...
  because I don't want to mess with that.
2012-02-28 16:14:31 -08:00
rmackay9 02cf07bb6b ArduPlane - updated to use new filter library 2012-02-28 21:03:04 +09:00
rmackay9 e1114bf7f7 ArduPlane - added Filter.h to unbreak the build! 2012-02-26 17:05:56 +09:00
rmackay9 21d7a77009 ArduPlane - switch sonar to use new mode filter from filter library 2012-02-26 15:35:42 +09:00
Andrew Tridgell 0248b48d30 allow MAG_ENABLE to be changed in flight
this disables the compass in DCM if MAG_ENABLE is changed in
flight. Without this we would use a fixed yaw once the compass is
disabled

This also makes sure we don't pass the compass to DCM till we have
done a read. This ensures we have a good compass fix for the initial
DCM heading
2012-02-25 14:51:09 +11:00
Andrew Tridgell 690dc9052a GCS: force scalar type in copy_name()
this enables access to compass offsets over MAVLink
2012-02-25 11:37:20 +11:00
Andrew Tridgell 95ef9206dc DCM: renorm_sqrt_count is now called renorm_range_count 2012-02-23 08:16:08 +11:00
Andrew Tridgell df8a557630 AP_Param: update users of AP_Param for ParamToken 2012-02-19 17:05:28 +11:00
Andrew Tridgell 16009777d9 APM: expanded parameter area to match ACM
this ensures waypoints and basic eeprom layout remain in sync
2012-02-18 10:51:57 +11:00
Andrew Tridgell 718a5b70e3 AP_Param: fixed saving of sensor calibration
this fixes the saving of the accel and gyro calibration to EEPROM,
which was initially broken by the AP_Param conversion
2012-02-18 10:51:57 +11:00
Andrew Tridgell 78babd37fa APM: use set_and_save_ifchanged() for GCS stream rates
this avoids a lot of EEPROM scan operations when the groundstation
updates the stream rates
2012-02-18 10:51:57 +11:00
Phil 9242c157ee APM: Fix rudder in elevon mode.
elevon planes can have rudders too
2012-02-16 14:43:24 +11:00
Andrew Tridgell c14097ffa1 APM: changed hold_course for landing to be based on yaw_sensor
when we are in the final stages of a landing (less than 2 seconds from
landing waypoint, or less than 3m above landing altitude) we switch
the navigation to use a fixed course. The code previously used the
crosstrack_bearing for this, but this can lead to a large nav_roll in
this final stage of the approach, which can put a wing into the
runway. In autotest we were seeing a nav_roll value of -45 degrees as
we crossed the transition point for the landing, which often led to a
crash.

This changes the code to use the current yaw_sensor value instead,
which is much less likely to lead to large rolls in the final landing
stages.
2012-02-15 08:50:45 +11:00
Andrew Tridgell c662140a2b APM: report the nav_bearing as hold_course when enabled
this gives a more accurate view of the navigation code, as when
hold_course is not -1 it overrides nav_bearing
2012-02-15 08:50:45 +11:00
Andrew Tridgell 330ff5dc8b APM: added some comments related to hold_course
hold_course is either -1 (for disabled) or a course to hold for
takeoff/landing. This makes the code a bit clearer.

It also resets hold_course in all non-auto modes, to ensure it isn't
used
2012-02-15 08:50:45 +11:00
Andrew Tridgell 11835508a7 when setting airspeed and groundspeed in a mission, don't save to EEPROM
If you include airspeed, throttle or groundspeed changes in a mission
then those should not be saved to EEPROM, as otherwise if you restart
and re-fly the mission you will be starting with different parameters
to the ones you used for the first flight.

This is particularly important for setting the target airspeed when
coming in for a landing. You typically set a low target, but if you
fly again the next day I think it would be a real surprise to find
that your loiter airspeed has then changed to the value from the
landing part of your last mission.

This one can be argued either way, but I think that not saving these
changes is the more conservative choice, and better fits the
'principal of least surprise'
2012-02-14 15:20:44 +11:00
Andrew Tridgell c042ef1298 APM: fixed some build warnings 2012-02-14 08:58:56 +11:00
Andrew Tridgell 8d1729b3ba Mavlink: report the corrected pitch via MAVLink
this subtracts the TRIM_PITCH_CD from the pitch reported via
MAVLink. That gives a better indication of the true pitch in the tlog
2012-02-14 08:58:56 +11:00
Andrew Tridgell cdf296d8f6 fixed some printf casts 2012-02-14 08:34:10 +11:00
Andrew Tridgell 35badbb97d APM: the CLI fits nicely on the 1280 again now
I find the CLI very useful for testing, so enable it by default on the
1280. Logging is still off by default.
2012-02-14 08:33:49 +11:00
Andrew Tridgell ecdbfd257a token is 16 bits now 2012-02-13 16:22:53 +11:00
Andrew Tridgell d55a0c3a71 added AP_Param::show_all()
this moves the logic into common code
2012-02-13 16:22:52 +11:00
Andrew Tridgell 0f9adbdae0 token size for first()/next() is now 16 bits 2012-02-13 16:22:52 +11:00
Andrew Tridgell 617082769a go back to 1024 bytes for variables in EEPROM 2012-02-13 16:22:52 +11:00
Andrew Tridgell 0b3e3ec5c8 added group indexes to GCS_MAVLINK class 2012-02-13 16:22:52 +11:00
Andrew Tridgell e85da68fe6 expand parameter area for ArduPlane
this ensures all parameters can be saved without overflow
2012-02-13 16:22:52 +11:00
Andrew Tridgell 983192c5d5 tidy up a comment 2012-02-13 16:22:52 +11:00
Andrew Tridgell 2c3ec5de99 fixed two parameter names 2012-02-13 16:22:51 +11:00
Andrew Tridgell 676ca03977 expose mavlink stream rates as parameters 2012-02-13 16:22:51 +11:00
Andrew Tridgell f22988163e imported new Parameters code to APM 2012-02-13 16:22:51 +11:00
Andrew Tridgell e7174bc649 import new Parameters.h for AP_Param to APM 2012-02-13 16:22:51 +11:00
Andrew Tridgell 3d598c8caa implement dump of all vars in CLI using AP_Param 2012-02-13 16:22:51 +11:00
Andrew Tridgell bc0ed62aa9 adapt mainline APM code to AP_Param 2012-02-13 16:22:51 +11:00
Sandro Benigno 3200781f56 Battery monitor type 3 cannot calculate battery remaining properly, due it uses only voltage reading. This path set battery_remaining to a value out-of-band for that type of monitoring. It informs to external devices to not show that info. 2012-02-11 21:01:13 -02:00
Andrew Tridgell 1a861b3de5 allow for lower serial baud rates
not many people will use less than 9600 baud, except for those wanting
to test extreme range radios, which is what I'm trying to do :-)
2012-02-04 19:07:18 +11:00
Pat Hickey dfece8e3ff ArduPlane: Call APM_RC.enable_out for all channels in init_rc_out. 2012-01-22 12:03:11 -08:00
Michael Oborne 6b949511ca change rc norm_output to scale evenly across the entire range 2012-01-20 16:24:55 +08:00
Michael Oborne 9ca6668c1b fix SITL attitude hil 2012-01-20 16:04:49 +08:00
analoguedevices 418f5ea31e Increment version number in anticipation of a firmware hex push. 2012-01-16 22:48:46 +00:00
Doug Weibel 797e0e27a9 Additional commenting on global variables
First pass done.
2012-01-16 10:28:03 -07:00
Doug Weibel b4e58b50ee Additional commenting on global variables 2012-01-16 09:45:42 -07:00
Doug Weibel ed9f7cb1b6 Update battery monitoring code for ArduCopter
Fixes compatibility for APM2.  Also a significant update to the battery monitoring code:  We previously had monitoring modes for individual cell voltages for 3 and 4 cell lipos.  These have been removed as they were never really supported (the cell voltages were computed but were not reported or recorded anywhere).  Also, some clean-up/prep work was done for supporting monitoring 2 separate battery packs.  The CLI battery and current monitoring tests were consolidated into 1 test.
changed
2012-01-15 17:10:02 -07:00
Doug Weibel 762a5550de Remove a debugging print 2012-01-15 16:37:07 -07:00
Doug Weibel 4b24d865bf Stashing some battery monitoring ratio values in the comments for future use. 2012-01-15 16:35:46 -07:00
Doug Weibel e22a83eec0 Add a CLI setup action to reset the magnetometer offsets
Since the magnetometer offsets are not available through the MAVLink parameter interface (since they are an AP_Var vector) this little feature allows them to be reset from the CLI.  Useful if you somehow get bad offsets or if you change magnetometer.  If you have a bad set of large offset values I have seen issues with the nulling algorithm have trouble converging to the proper values.  I have never seen it have trouble converging from 0/0/0, so this could be a useful feature from time to time.
2012-01-15 16:15:08 -07:00
Doug Weibel 6e8ac99ed6 Fix airspeed sensor support for APM2.
Airspeed sensor should be attached to Analog input 0
2012-01-15 16:12:08 -07:00
Doug Weibel 0306bf97a0 Just a little more commenting work on global variables 2012-01-15 16:11:02 -07:00
Doug Weibel 69c7598db2 Update battery monitoring code for ArduPlane
Fixes compatibility for APM2.  Also a significant update to the battery monitoring code:  We previously had monitoring modes for individual cell voltages for 3 and 4 cell lipos.  These have been removed as they were never really supported (the cell voltages were computed but were not reported or recorded anywhere).  Also, some clean-up/prep work was done for supporting monitoring 2 separate battery packs.  The CLI battery and current monitoring tests were consolidated into 1 test.
2012-01-15 16:10:28 -07:00
Doug Weibel 9846822748 Bug fix for compass.
This is a fix for an interesting bug when a DCM matrix reset was added to the ground start.  This bug only showed up if (A) a ground start were performed after an air start or due to use of the "Calibrate Gryo" action, (B) if the current orientation were sufficiently different from 0/0/0, and (C.) if the particular magnetometer had sufficiently large offsets.  Why did resetting the DCM matrix to 0/0/0 pitch/roll/yaw at ground start cause a bug?  The magnetometer offset nulling determines the proper offsets for the magnetometer by comparing the observed change in the magnetic field vector with the expected change due to rotation as calculated from the rotation in the DCM matrix.  This comparison is made at 10Hz, and then filtered with a weight based on the amount of rotation to estimate the offsets. Normally it would take considerable time at normal in-flight rotation rates for the offset estimate to converge. 

If a DCM matrix reset occurs when the offset nulling algorithm is up and running, the algorithm sees the DCM reset as a instantaneous rotation, however the magnetic field vector did not change at all.  Under certain conditions the algorithm would interpret this as indicating that the offset(s) should be very large.  Since the "rotation" could also have been large the filter weighting would be large and it was possible for a large erroneous estimate of the offset(s) to be made based on this single (bad) data point.

To fix this bug methods were added to the compass object to start and stop the offset nulling algorithm.  Further, when the algorithm is started, it is set up to get fresh samples.  The DCM matrix reset method now calls these new methods to stop the offset nulling before resetting the matrix, and resume after the matrix has been reset.
2012-01-12 14:44:24 -07:00
Doug Weibel 892f24ac5c Adding comments for global variables 2012-01-11 12:37:43 -07:00
analoguedevices ee18748565 Put in commented-out APM2 # defines, to save people the trouble of having to type them in themselves. 2012-01-09 02:00:46 +00:00
Doug Weibel 44c66c2e8e Bug fix for issue 438.
The rate in a change alt command does not need to be signed.  The code will determine if the rate needs to be positive or negative
2012-01-08 18:24:55 -07:00
Michael Oborne e1a544cc78 fix relay on apm 1 AP 2012-01-05 07:51:01 +08:00
Andrew Tridgell cdd5589498 I2c: default to 5ms timeout, and faster bus speed
we will slow down the speed when we get a failure
2012-01-04 16:36:47 +11:00
Doug Weibel 4de2155845 Tweak to FBW min altitude
Patch from Yury
2011-12-31 15:44:40 -07:00
Jason Short a6c09b3ea5 Small issue with newline formatting 2011-12-29 23:02:02 -08:00
Michael Oborne cd145fd7a9 add circle to output modes 2011-12-29 18:21:32 +08:00
Andrew Tridgell cd3729d993 APM: added error checking on barometer read
if the barometer is dead and the GPS has a fix, use the GPS for
altitude
2011-12-28 20:41:53 +11:00
Andrew Tridgell 98353b7ba8 APM: added error checking on compass read 2011-12-28 20:41:53 +11:00
Andrew Tridgell 3cb96fb8af APM: convert to new I2C library 2011-12-28 20:41:53 +11:00
Andrew Tridgell a6920d603d geofence: re-breach if user changes mode outside the fence
if the user changes mode while outside the fence, and fencing is still
enabled, then declare a new breach
2011-12-28 17:28:35 +11:00
Andrew Tridgell 8d87aa41b9 APM: Update for DataFlash changes 2011-12-28 16:00:49 +11:00
analoguedevices b8917b58bd Added contributor names, removed "alpha" from firmware name 2011-12-26 17:13:37 +00:00
Andrew Tridgell f5a3eed1a7 APM: fixed some unsigned/signed warnings 2011-12-26 19:17:11 +11:00
Andrew Tridgell d81dc21dfe APM-log: fixed reading of GPS logs 2011-12-26 19:17:11 +11:00
Andrew Tridgell 3f9f3f3416 APM-log: changed to use df_NumPages
this copes with different data flash sizes on APM1 and APM2
2011-12-26 19:17:11 +11:00
Doug Weibel 8e17b8d6d4 Correct a bug in throttle failsafe feature 2011-12-24 15:34:31 -07:00
Doug Weibel a5df59eba3 Remove old debug print 2011-12-24 14:26:35 -07:00
Doug Weibel 7879efb8ae Fix scaling on "turn coordination" yaw PID so that P gain values fall in "usual" range 0.1 to 10. 2011-12-24 14:26:35 -07:00
Andrew Tridgell 5e347854c3 setup the main loop failsafe after RC library is setup 2011-12-23 11:13:01 +11:00
Andrew Tridgell 5bda871d60 added comment on using GPS ground course 2011-12-23 11:13:01 +11:00
Andrew Tridgell d0245b206a APM2: default magnetometer to enabled
all APM2s have a MAG at the moment

thanks to Chris for the suggestion
2011-12-22 17:51:14 +11:00
Andrew Tridgell c805f2a0c3 failsafe: make sure we clear any RC override in manual failsafe 2011-12-22 10:55:43 +11:00
Andrew Tridgell 26d5d3c385 fixed HIL build 2011-12-21 23:31:39 +11:00
Andrew Tridgell 29fa78214b APM: added failsafe support
we now pass all channels through at 50Hz if the main loop stops
running, regardless of why. This gives us a reasonable failsafe, as
long as the low level RC library is still working, and interrupts
don't get completely disabled.
2011-12-21 23:31:39 +11:00
Andrew Tridgell e687ce9b3d mainloop_count should be uint16_t 2011-12-21 23:31:38 +11:00
Andrew Tridgell 89561d49d0 always declare a timer_scheduler
we should always run this code
2011-12-21 23:31:38 +11:00
Andrew Tridgell 4bdc872595 APM: show temperature in airpressure test
useful for tracking down baro bugs
2011-12-19 18:52:56 +11:00
Andrew Tridgell c14d702912 geofence: send fence status messages on fence events
this ensures the fence status goes out as soon as possible, which
means the messages arrive in a sane order on the GCS
2011-12-19 11:25:59 +11:00
Andrew Tridgell e99db6526f APM: added RST_SWITCH_CH parameter
This is useful for switching back to the mode indicated by the control
switch after a failsafe or fence breach. I was just changing modes
each time, but it is far more elegant to have a spring loaded switch
for "I am ready to take control again", rather than continually
changing modes.
2011-12-19 11:25:59 +11:00
Andrew Tridgell 71c911f65d Log: fixed logging dependence on compiler arg eval order 2011-12-18 17:31:45 +11:00
Andrew Tridgell f25ee899f3 APM: run mavlink loop while erasing logs 2011-12-18 10:19:52 +11:00
Andrew Tridgell fc20aa9602 geofence: enable return to old control mode via FENCE_CHANNEL
if you disable fencing with the fence channel switch while still in
GUIDED mode to the return point, then reset the control mode back to
the transmitter control mode
2011-12-18 10:00:44 +11:00
Andrew Tridgell df094ce463 fixed airspeed sensor for ArduPlane on APM2
we were trying to use a non-existant ADC chip!
2011-12-17 07:29:09 +11:00
Andrew Tridgell f6f808357c removed AperiodicProcess code
this code was never being used, and was more complex than it was
worth.
2011-12-17 07:29:09 +11:00
Andrew Tridgell b9a88aac32 geofence: added FENCE_TRIGGERED_PIN
this allows for a digital pin to be set high when the geofence
triggers. This pin can be connected to an external failsafe device
2011-12-17 07:29:08 +11:00
Michael Oborne 28d280562a apm 1280 disables 2011-12-16 22:26:39 +08:00
Andrew Tridgell 42522baf9f geofence: store fence points as int32_t
this keeps maximum precision in fence boundaries
2011-12-16 20:11:51 +11:00
Andrew Tridgell fc495ce6a7 geofence: added fence status reporting and faster altitude check 2011-12-16 20:11:51 +11:00
Andrew Tridgell 64ae2ebec5 geofence: don't trim control surfaces on geo-fence breach
the user input is likely to be bad
2011-12-16 20:11:51 +11:00
Andrew Tridgell 3b148c87d5 geofence: main geo-fence code
this implements the primary logic of geo-fencing
2011-12-16 20:11:51 +11:00
Andrew Tridgell 82b615df50 geofence: added geo-fencing control parameters 2011-12-16 20:11:51 +11:00
Andrew Tridgell 960d6ee38a removed an unused variable 2011-12-16 20:09:49 +11:00
Andrew Tridgell 84a694efb9 only check for "enter 3 times" in first 20s after boot
we don't want stray bytes on serial3 to make us enter the CLI during
flight!
2011-12-16 20:09:32 +11:00
Doug Weibel ca89857854 Changes to logging file system to avoid problems with 0 and 1 page logs 2011-12-13 20:09:07 -07:00
Andrew Tridgell 1998908a05 DCM: reset the DCM matrix after a ground start 2011-12-13 21:33:07 +11:00
Andrew Tridgell 8cd13749bd MAVLink: fixed link flood on waypoint upload 2011-12-13 20:39:04 +11:00
Andrew Tridgell dd9f3a3fa6 fixed a hang on 2nd run of IMU test
we should not try to initialise the ISR handlers twice
2011-12-13 18:28:50 +11:00
Andrew Tridgell 483bef35e5 IMU: update ACM and APM for flash_leds change in IMU init 2011-12-13 18:19:41 +11:00
Andrew Tridgell 888d6226b2 fixed two more CONFIG_HARDWARE #ifdef bugs 2011-12-13 17:05:48 +11:00
Andrew Tridgell 07dba4eff7 desktop: fixed Wire.begin() build problem 2011-12-12 15:14:55 +11:00
Andrew Tridgell 78e8fbff9c fixed hardware config check for barometer 2011-12-12 15:14:55 +11:00
Andrew Tridgell 1b1c629167 added sitl build target 2011-12-12 15:14:55 +11:00
Andrew Tridgell 2bd18e937c throttle: only use throttle slew in auto throttle modes
we don't want STABILISE and FBWA to have throttle change limits
2011-12-12 15:14:55 +11:00
Andrew Tridgell 0a7332b6e3 airspeed: smooth the airspeed value a bit more
the value is very noisy in my tests. A bit more smoothing may help
2011-12-12 15:14:55 +11:00
Andrew Tridgell 011110e1dd airspeed: use floating point values and better averaging in zero_airspeed()
this makes the calibration of airspeed a bit more accurate, and
prevents truncation of airspeed values
2011-12-12 15:14:55 +11:00
Andrew Tridgell d5c23c83cf apm2: fixed for new barometer code 2011-12-11 15:21:10 -08:00
Pat Hickey a99a1dbc9a ArduPlane: update AP_Baro construtors and initializers 2011-12-11 15:21:10 -08:00
Pat Hickey f3ad7f3af8 Wire and SPI Init: move to sketch system.pde from libraries
* Wire.begin removed from AP_Baro_BMP085::init()
* SPI.begin  removed from AP_Baro_MS5611::init()
* SPI.begin  removed from AP_InertialSensor_MPU6000::hardware_init()

* Both Wire.begin and SPI.begin added very early in init_ardupilot in
  ArduCopter/system.pde and ArduPlane/system.pde
2011-12-11 15:21:10 -08:00
Pat Hickey d7f77aec93 ArduCopter & ArduPlane: Added support for apm2beta build via APM2_BETA_HARDWARE define
* This enables the BMA085 driver for compatibility with beta boards.
* The CLI_SLIDER_ENABLED=DISABLED line does not need to be in the makefile.
  config.h takes care of this default.
2011-12-11 15:21:09 -08:00
Pat Hickey 1b2ebdff44 ArduPlane: added config.h and defines.h to support CONFIG_BARO 2011-12-11 15:21:09 -08:00
Pat Hickey 04ea979331 ArduPlane: Rename APM_BMP085 classes to AP_Baro_BMP085 classes 2011-12-11 15:21:09 -08:00
Pat Hickey f2652d23bf ArduPlane: calibrate accel with imu.init_accel after imu.init
* complements commit 73418559, where init_accel was eliminated
  from AP_IMU_INS::init cold start.
2011-12-10 13:32:47 -08:00
Doug Weibel 2ef4c79a7c Minimum ground speed patch from Claudio Natoli. Thanks Claudio!
This patch will boost the target airspeed as necessary to keep the ground speed above a parameter value - param_min_groundspeed.  Airspeed is still limited to FBW-max.  Setting min_groundspeed to zero (default) disables the feature.
2011-12-09 16:43:25 -07:00
Doug Weibel 2f962fe6da Augment failsafe gcs_send_text message 2011-12-09 09:11:45 -07:00
Doug Weibel 502a98dda1 Add hook to dump log filesystem index for debugging 2011-12-07 08:13:30 -07:00
Andrew Tridgell 39a36fe946 fixed the "reboot on GPS lock" bug
the problem was that with APM2 we may not have a 2nd GCS instance. The
"gps alt: xxx" message was being unconditionally sent to both GCS
instances, which caused a crash
2011-12-04 09:06:58 +11:00
Andrew Tridgell 4a057aefa0 test: removed the broken gyro test and merge it into the imu test
the gyro test assumed APM1 hardware, and would hang on APM2. The imu
test can just as easily display gyro and accelerometer data as well as
roll/pitch/yaw, so combine it in one test
2011-12-03 14:08:20 +11:00
Doug Weibel 88ab4f7d70 Fix for intermittent bug of log #1 starting on page 2 and confusing file system 2011-11-28 19:43:10 -07:00
Doug Weibel b03de3095e Add DataFlash.Init before doing a forced log erase on eeprom reset.
Add progress indication during log erase
2011-11-28 19:42:27 -07:00
Andrew Tridgell 2cabb11307 mavlink: don't force CLI and HIL with mavlink10 build 2011-11-28 16:22:33 +11:00
Andrew Tridgell 838c57cd1a mavlink: paranoia setting of failsafe when forcing AUTO mode
this shouldn't be needed, but will do no harm, and I thought I saw
this fail in a test
2011-11-28 16:22:33 +11:00
Andrew Tridgell 4036604fb7 mavlink: move Mavlink_compat.h to common code
this will allow it to be used by ArduCopter
2011-11-28 13:53:57 +11:00
Andrew Tridgell 5ae929ace9 build: CLI_SLIDER_ENABLED doesn't need to be forced off in apm2 build
this is handled by config.h now
2011-11-28 13:53:57 +11:00
Doug Weibel 7960e7963c Add Guided mode to failsafe handling 2011-11-26 21:10:53 -07:00
Andrew Tridgell a048709828 Logs: don't print hundreds of bogus log boundaries
this can take quite a long time
2011-11-26 17:02:55 +11:00
Pat Hickey ab56a764d3 ArduPlane: rev version number from 2.26 to 2.27 Alpha 2011-11-25 20:00:19 -08:00
Pat Hickey f7a9b8a563 ArduPlane: LED digital writes use LED_OFF and LED_ON 2011-11-25 20:00:19 -08:00
Andrew Tridgell 86927ac0a5 ArduPlane: rename purple to APM2 2011-11-25 20:00:19 -08:00
Andrew Tridgell 7def0e98e8 USB-MUX: auto-switch telemetry port based on UXB mux for ArduPlane
when USB is unplugged, switch baud rate to the SERIAL3_BAUD rate from
EEPROM
2011-11-25 20:00:19 -08:00
Andrew Tridgell ffba37d599 desktop: first version of register level SITL support
this adds register level emulation of the ADS7844 and the RC
input/output hardware on the APM1, allowing for SITL testing without
enabling HIL in the code
2011-11-25 20:00:18 -08:00
Andrew Tridgell 3a0b1d1903 purple: there are no dipswitches on the purple board 2011-11-25 20:00:18 -08:00
Andrew Tridgell 6093db948b compass: added AP_COMPASS_APM2_SHIELD
this makes the orientation clearer
2011-11-25 20:00:18 -08:00
Andrew Tridgell 649da8e05d purple: adc test not useful if no ADC 2011-11-25 20:00:18 -08:00
Andrew Tridgell 40459653b5 purple: fixed LED and IO pin defintitions 2011-11-25 20:00:18 -08:00
Andrew Tridgell ca76f6d0ec purple: add the remaining hw defines for purple hardware 2011-11-25 20:00:18 -08:00
Andrew Tridgell 1e41b4b2b0 timer_scheduler doesn't exist in HIL_MODE_ATTITUDE 2011-11-25 20:00:18 -08:00
Andrew Tridgell a3701e521a build: added hlsensors target 2011-11-25 20:00:18 -08:00
Andrew Tridgell 1c20efe4b8 re-organiser sensor declarations
this tries to make the #ifdef nesting easier to understand
2011-11-25 20:00:17 -08:00
Andrew Tridgell 3d175c449e adc.Init() takes timer_scheduler 2011-11-25 20:00:17 -08:00
Andrew Tridgell 03c7d7bfb6 purple: always declare timer_scheduler 2011-11-25 20:00:17 -08:00
Pat Hickey 1895458dbf purple: added new parameters to Init() functions
this adapts the test code for the purple API changes
2011-11-25 20:00:17 -08:00
Pat Hickey f9d6facdda test: added new passthru test
this passes radio inputs direct to servo outputs, which is useful for
hardware testing
2011-11-25 20:00:17 -08:00
Pat Hickey bad177bfdc removed old commented out code 2011-11-25 20:00:17 -08:00
Pat Hickey ad0cac670c purple: added new parameters needed for new library APIs
new APIs pass in timer_scheduler. We also to init the isr_registry
2011-11-25 20:00:17 -08:00
Pat Hickey 4015cb0a40 purple: fixed APM_RC.Init() to add isr_registry parameter 2011-11-25 20:00:17 -08:00
Pat Hickey 9e47536924 purple: declare sensors for purple library rework
we need some different declarations to match the new APIs
2011-11-25 20:00:17 -08:00
Pat Hickey 08675a91d8 purple: added config options for purple/APM1 hardware 2011-11-25 20:00:17 -08:00
Pat Hickey 3300032a89 purple: added hardware defines for ArduPlane 2011-11-25 20:00:17 -08:00
Pat Hickey cc67062442 build: added new command line build targets
this makes it more convenient to build common options
2011-11-25 20:00:16 -08:00
Andrew Tridgell 89d2f0f849 mod barometer.Init() based on hardware 2011-11-25 20:00:15 -08:00