Commit Graph

337 Commits

Author SHA1 Message Date
Andrew Tridgell 0a3476bbf1 Copter: change to new board_voltage() API 2014-02-14 21:50:59 +11:00
Randy Mackay 89b222f1cf Copter: only report gps glitch when usb disconnected 2014-02-11 11:43:24 +09:00
Dneault f48e106271 Copter: add coax heli support
Motors should be attached to RCOutputs 1 and 2, Flaps should be connected
to RC outputs 3 and 4
2014-02-07 12:36:04 +09:00
Andrew Tridgell e8b8cc1a5d Copter: converted to AP_ServoRelayEvents 2014-01-20 17:06:29 +11:00
Randy Mackay 8a29d63d89 Copter: faster baro calibration when arming
using update_calibration() instead of the full calibrate() cuts
1.5seconds of the arming time
2014-01-15 23:28:24 +09:00
Randy Mackay 67c2bc7d0b Copter: add support for MAV_CMD_DO_SET_SERVO 2014-01-15 14:03:04 +09:00
Andrew Tridgell 4f2ce31cb7 Copter: log PX4 and NuttX versions in logs 2014-01-14 15:38:51 +11:00
Andrew Tridgell e52f8d6598 Copter: prevent log corruption during log creation 2014-01-14 14:37:48 +11:00
Michael Oborne 757dd228d2 Copter: BugFix DO_SET_ROI returns Lat,Lon,Alt to GCS 2014-01-03 16:14:44 +09:00
Andrew Tridgell 97df2f64c9 Copter: use common available_memory() 2013-12-28 16:02:32 +11:00
Andrew Tridgell 7f100ebe31 Copter: removed common functions 2013-12-17 12:00:46 +11:00
Andrew Tridgell 7642208c1a Copter: support MAVLink log download 2013-12-17 11:51:36 +11:00
Andrew Tridgell e5f098c37c Copter: removed some unnecessary fields in GCS.h
save some memory
2013-12-17 11:51:34 +11:00
Andrew Tridgell 28d98414e7 Copter: fixed some build warnings 2013-12-11 10:21:20 +11:00
Andrew Tridgell d265e54043 Copter: changes for compass healthy API 2013-12-09 17:47:22 +11:00
Andrew Tridgell f8e0f5c4f1 Copter: report both sets of sensors in MAVLink 2013-12-09 17:34:07 +11:00
Andrew Tridgell ffdcb715c3 Copter: updates for compass API change 2013-12-09 17:34:06 +11:00
Ben Nizette 58735ac1aa Copter: Use AHRS heading in GLOBAL_POSITION_INT message
The definition of the heading field for GLOBAL_POSITION_INT is the
compass heading, and so it is used for Plane and Rover.  Copter
however uses the GPS course over ground in this field.

My personal beef with this is simply that the mapping display in
MAVProxy is wrong for Copter.  The question is: Do any GCS currently
rely on this field for GPS course rather than getting it from
GPS_RAW_INT as they should?
2013-12-03 20:30:02 +09:00
Randy Mackay a744658b47 Copter: combine nav_roll and control_roll
Control_roll, control_pitch now always hold the desired lean angle
whether it be from the pilot or autopilot.
2013-11-27 23:11:30 +09:00
Randy Mackay a8929cd746 Copter: more complete RC output reporting to GCS
Radio outputs are pulled from hal.rcout instead of from motors library
which provides more complete reporting because it includes output from
sources like the camera and mount libraries.
2013-11-27 20:31:21 +09:00
Andrew Tridgell 9c812d5028 Copter: added SERIAL2_BAUD and rename SERIAL3_BAUD to SERIAL1_BAUD 2013-11-26 13:05:32 +11:00
Andrew Tridgell 49062d8a37 Copter: removed extra features of copter telemetry merge 2013-11-26 13:05:32 +11:00
Andrew Tridgell a49710f20e Copter: added uartD support
this also brings GCS_Mavlink.pde closer to the plane implementation
2013-11-26 13:05:32 +11:00
Andrew Tridgell 21eac34cd1 Copter: log system ID if available 2013-11-26 13:00:03 +11:00
ssq870424 07d3f2a3c5 Copter: add support for singlecopter airframe
this is the newest singlecopter airframe programme.
This kind of aerial vehicles include Honeywell T-hawk and Goldeneye.
2013-11-12 23:40:27 +09:00
Andrew Tridgell 6b1f59372c Copter: show git and firmware version in tlog 2013-11-09 10:09:20 +11:00
Andrew Tridgell b41f4898e0 Copter: report INS health 2013-11-07 12:48:17 +11:00
Randy Mackay 65980ace68 Copter: remove some commented out send_text code 2013-10-30 13:44:56 +09:00
Andrew Tridgell 2016bf1f31 Copter: fixed HIL build 2013-10-28 18:35:39 +11:00
Andrew Tridgell a44e3191df Copter: fixed baro-only preflight cal
this was causing a full level, which mucked up the INS calibration
2013-10-28 16:54:32 +11:00
Tobias 7564cc02af Copter: use const refs instead of unneeded copies 2013-10-27 13:41:06 +09:00
Randy Mackay d86ac9041e Copter: report RC receiver health to GCS 2013-10-24 16:32:55 +09:00
Andrew Tridgell 92bf4b9c89 Copter: added MAVLink SYSTEM_TIME message 2013-10-24 14:22:47 +11:00
Randy Mackay 8ea3e68620 Copter: bug fix for loading missions while armed 2013-10-23 14:12:03 +09:00
Michael Oborne 78c4e03fd5 sensor hil fix 2013-10-19 23:04:22 +09:00
Randy Mackay 32f53624d6 Copter: rename low_battery to failsafe.battery 2013-10-13 13:52:52 +09:00
Andrew Tridgell 3b9566bc09 Copter: support MAV_CMD_DO_SET_CAM_TRIGG_DIST 2013-10-11 21:40:57 +11:00
Randy Mackay 09de917b27 Copter: mavlink ext status to use abs pressure 2013-10-04 13:20:58 +09:00
Randy Mackay a33060b66d Copter: mavlink extended status gps bit not-healthy when glitching
add optflow health to extended status
mavlink heartbeat status to critical on any failsafe
extended status msg to use SYS_STATUS_SENSOR enum
2013-10-03 22:11:55 +09:00
Randy Mackay 3c5797c479 Copter: sent current as -1 to GCS when can't be monitored 2013-10-03 11:16:31 +09:00
Randy Mackay dab4f032f9 Copter: integrate BattMonitor 2013-10-03 11:16:28 +09:00
Randy Mackay e295d4555d Copter: send frame type in mavlink heartbeat msg 2013-09-27 14:35:13 +09:00
Randy Mackay 7cc8a9038f Copter: move failsafe flags into structure 2013-09-26 19:37:15 +09:00
Randy Mackay 284aa2217f Copter: remove old comments 2013-09-24 21:45:43 +09:00
Andrew Tridgell 3ffeff04a7 Copter: removed logging of MAVLink parameter changes
not much point to this
2013-09-23 18:10:22 +10:00
Andrew Tridgell 35e3c887d2 Copter: use new baro API 2013-09-21 21:30:54 +10:00
Andrew Tridgell b6a0577723 Copter: only send RC_CHANNELS_SCALED in HIL
saves a bit of telemetry bandwidth
2013-09-21 09:30:30 +10:00
Andrew Tridgell 46688454c4 Copter: removed flash_leds() calls 2013-09-19 18:38:28 +10:00
Andrew Tridgell 754bdbd25f Copter: use new usb_connected() HAL function 2013-09-19 16:24:23 +10:00
Kevin Hester 240a9ccaf0 AC: if vehicle is !flying show hb state as MAV_STATE_STANDBY
This helps GCSes determine the appropriate UI for the current vehicle
mode.
2013-09-09 20:51:54 +09:00
Randy Mackay 1d55fa6818 Copter: add arm check of GPS hdop when in Loiter 2013-09-09 14:03:40 +09:00
Andrew Tridgell 979636936d Copter: support reboot to bootloader 2013-09-04 11:59:02 +10:00
Andrew Tridgell 25d517f5d6 Copter: updates for new notify API 2013-08-30 13:01:35 +10:00
Andrew Tridgell d5e28e72cc Copter: support new RADIO_STATUS msg 2013-08-24 17:59:13 +10:00
Andrew Tridgell 01e19a32fe Copter: use the new scheduler load_average() call
this also simplifies the main loop
2013-08-02 18:46:34 +10:00
Randy Mackay 7ea971d948 Copter: check set_mode for failure
Previously if set_mode failed it would return the copter to stabilize
mode.  With this commit set_mode returns a true/false indicating whether
it succeeded or not so the caller can make the decision as to the
appropriate response which could be to stay in the current flight mode
or try another flight mode.
2013-07-20 11:01:10 +09:00
Randy Mackay 47ab02d686 Copter: bug fix to ROI to pull target from conditional command queue 2013-07-14 17:37:06 +09:00
Randy Mackay 5a40ee7a38 Copter: fix to gps present check in mavlink extended status 1 msg 2013-07-13 10:27:50 +09:00
Randy Mackay 66d7f7b026 Copter: GCS_mavlink only send waypoints to gcs3 if initialised
Also Load parameter defaults at initialisation (although defaults are
all zero anyway so should have no effect)
2013-07-13 10:12:01 +09:00
Andrew Tridgell da4137b731 Copter: changes for GPS field changes 2013-07-10 14:04:22 +10:00
Randy Mackay 0460147a15 Copter: guided mode yaw fix
Nose of copter now points at next guided point if it is more than 10m
away
2013-06-02 11:25:35 +09:00
Andrew Tridgell 30df8796ce Copter: fixed loading of waypoints
copter code assumes that command_total includes the home waypoint
2013-05-29 21:44:08 +10:00
Andrew Tridgell 903d5636bb Copter: added support for partial mission load
this allows individual waypoints to be updated in missions
2013-05-29 16:25:05 +10:00
Randy Mackay 1dbe98b566 Copter: display reason for pre-arm-check failures in GCS 2013-05-20 13:03:18 +09:00
Randy Mackay d10e3bc75f Copter: send_text_P bug fix for short messages 2013-05-20 12:52:20 +09:00
Randy Mackay 28c37dd798 Copter: do pre-arm checks when arming from GCS 2013-05-17 11:22:32 +09:00
Andrew Tridgell 9feb46c834 Copter: use new accel cal interact over MAVLink 2013-05-08 16:19:26 +10:00
Andrew Tridgell b6e3e59bc3 Copter: simplify setHIL for baro 2013-05-02 15:26:54 +10:00
Andrew Tridgell db57c8d7c5 Copter: removed the deprecated HIL sensors interface
must use the new HIL_STATE message now
2013-05-02 15:00:50 +10:00
Andrew Tridgell 172d9724df Copter: use new HIL compass API 2013-05-02 15:00:07 +10:00
Andrew Tridgell 25c576cad7 Copter: replaced constrain() with constrain_float() 2013-05-02 10:26:49 +10:00
Randy Mackay bab9fa25e5 Copter: add GCS failsafe 2013-04-29 21:30:22 +09:00
Randy Mackay 58d1da2d80 Copter: integrate AC_Fence in place of limits
Lesser functionality than limits but saves more than 150 bytes and it
works
2013-04-27 11:14:07 +09:00
Andrew Tridgell a0708460a4 Copter: convert to new logging system 2013-04-20 13:52:37 +10:00
Andrew Tridgell 67484a2ea1 Copter: make copter code compatible with the new logging system
not fully converted yet
2013-04-20 13:52:36 +10:00
Randy Mackay d2bd818b2d Copter: bug fix for auto_armed logic
Zero throttle when switching into an auto flight mode would cause the
motors to stop.
2013-04-17 21:28:42 +09:00
Randy Mackay 1ee825ee9a Copter: move alt and wp checking to AC_WPNAV
RTL fix so that if it starts rtl-ing from above 80m it returns home
while descending instead of descending at initial position.
add get and set_target_alt_for_reporting
2013-04-14 10:39:23 +09:00
Randy Mackay 58ed8cd544 Copter: replace set_next_WP with direct call to wp_nav 2013-04-14 10:37:55 +09:00
Randy Mackay 1dcd46bffc Copter: reduce compiler warnings 2013-04-05 22:25:58 +09:00
Michael Oborne 541fa13291 cleanup comments 2013-03-31 17:14:54 +08:00
Michael Oborne e80f2c094e HIL fix location, alt, mag from hil state message 2013-03-31 16:42:16 +08:00
Andrew Tridgell b280857025 Copter: use common angle wrap code 2013-03-29 13:14:31 +11:00
Randy Mackay f7d977fe37 Copter: add support for GPS fix type 2D 2013-03-27 11:41:47 +09:00
Andrew Tridgell d22a7c64c9 Copter: 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:56:02 +11:00
Andrew Tridgell ce8313e8fb Copter: only allow CLI within 20s of startup and when motors not armed 2013-03-21 17:34:11 +11:00
Randy Mackay dcf21eee8f Copter: only allow entering the CLI within 30 seconds of start-up 2013-03-21 11:54:04 +09:00
Randy Mackay a17421da27 Copter: scale HIL accels consistently with Plane code 2013-03-19 15:07:15 +09:00
Randy Mackay b4b9d80c2f Copter: bug fix to accept HIL accel values correctly 2013-03-19 11:33:58 +09:00
Andrew Tridgell 952c56e990 Copter: fixed barometer init in HIL sensors mode 2013-03-18 16:20:25 +11:00
Andrew Tridgell ac06b5e62d Copter: remove unused function 2013-03-18 16:20:25 +11:00
Randy Mackay 597a4b912a Copter: fix to allow building HIL_MODE_SENSORS 2013-03-18 13:41:52 +09:00
Randy Mackay 61e29173e3 Copter: remove unused crosstrack variables and parameters
Cross track is still calculated internally to the wpnav controller so we
should move this to a library and still report it to the ground station
2013-03-17 16:46:31 +09:00
Randy Mackay f9539384a1 Copter: rename failsafe to failsafe_radio
Makes way for separation of failsafes for throttle, gps and gcs
2013-03-16 17:14:21 +09:00
Randy Mackay cb84ec9d9b Copter: add current based compass compensation 2013-03-03 23:02:36 +09:00
Randy Mackay 6601bd37cf Copter: integrate automatic roll and pitch trims 2013-02-19 12:51:24 +09:00
Michael Oborne 61e5b09f28 Send FS state to gcs for AC 2013-02-09 10:11:36 +08:00
Pat Hickey d418197898 ArduCopter: fixed memory unsafe member access in GCS_MAVLINK
* Smokey, this is not 'Nam. this is bowling. there are rules
2013-02-02 22:43:56 -08:00
Andrew Tridgell 47cc247046 Copter: limit number of bytes read per GCS check 2013-01-23 09:34:54 +11:00
Andrew Tridgell ae5f46abc9 Copter: fixed mavlink fetch of 16 character parameter 2013-01-21 16:52:01 +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
Randy Mackay 177da0ca74 ArduCopter: fixed minor bug in logging of parameter changes to dataflash
It is questionable whether we should even bother writing these to the
dataflash as there is no way to recognise which parameter has been
affectded
2013-01-13 00:15:34 +09:00
Andrew Tridgell dcb181d2d8 Copter: use new AP_Scheduler library 2013-01-12 12:02:57 +11:00
Andrew Tridgell a237b6cc7b Copter: update for new AP_Param API 2013-01-09 13:30:58 +11:00
Andrew Tridgell 860f4b2605 Copter: merge the latest 2.9 changes into master 2013-01-08 14:37:40 -08:00
Andrew Tridgell 647b3b09b6 Copter: ensure we process deferred mavlink messages 2013-01-07 11:07:39 +11:00
Andrew Tridgell d952ccf968 Copter: added main_loop_ready() function
this tells us when the main loop is ready to run. MAVLink won't send a
message if the main loop could run.
2013-01-07 11:07:34 +11:00
Andrew Tridgell b079a96eaf Copter: removed GPS_STATUS message
this message is huge, and completely pointless now that we have
num_satellites in GPS_RAW_INT
2013-01-05 20:39:31 +11:00
rmackay9 861a66e26e ArduCopter: remove @brief from GCS_MAVLINK class's comments because they mess up the mission planner's parsing of parameter descriptions 2013-01-03 00:34:10 +09:00
rmackay9 4ef7e7b1c6 ArduCopter: add parameter descriptions for GCS_Mavlink objects 2013-01-02 23:36:48 +09:00
Andrew Tridgell 94e3322e24 Copter: fixed build on px4 2013-01-02 22:09:02 +11:00
Andrew Tridgell ead38f917f Copter: use GRAVITY_MSS 2013-01-02 14:45:08 +11:00
rmackay9 68b62abd38 ArduCopter with the new Camera and Relay classes for APM1 and APM2.
All changes by Sandro Benigno
2013-01-02 09:55:37 +11:00
rmackay9 e77b54c7dc ArduCopter: bug fix to GUIDED mode. Now checks that desired altitude was reached before deciding the waypoint is complete. 2013-01-02 09:24:31 +11:00
rmackay9 331a73c4ac ArduCopter: remove duplicate (?) send of MSG_EXTENDED_STATUS1 2013-01-02 09:20:08 +11:00
rmackay9 6baddf4aee ArduCopter: remove unused variable last_5hz 2013-01-02 09:20:08 +11:00
rmackay9 1f5fdcdaa8 ArduCopter: remove unnecessary "Initialising APM message..." 2013-01-02 09:20:08 +11:00
rmackay9 d926360e81 ArduCopter: move gcs updates to run only when there are 4ms of spare time before the next 100hz iteration starts 2013-01-02 09:14:31 +11:00
rmackay9 6da68c53a5 ArduCopter: bug fix so AP_Limits does not use up memory if it is disabled 2013-01-02 09:13:42 +11:00
rmackay9 0ab82f8c4e ArduCopter: clear ahrs roll and pitch trims after an accel level command 2013-01-02 09:12:17 +11:00
Andrew Tridgell 9931009db2 Math: use pythagorous2() in some more places 2012-12-20 15:16:18 +11:00
Pat Hickey 1878290510 ArduCopter: fixes for AP_InertialSenor_UserInteract 2012-12-20 14:53:23 +11:00
Pat Hickey 2ad4fed8cd Rover/Copter/Plane: change from vsnprintf to vsnprintf_P 2012-12-20 14:52:38 +11:00
Pat Hickey 54b98c0a7c ArduPlane: use hal's vsnprintf 2012-12-20 14:52:37 +11:00
Andrew Tridgell 9e986801c9 Copter: fixed SITL for ArduCopter 2012-12-20 14:52:34 +11:00
Pat Hickey 7af03127f6 ArduCopter: more work 2012-12-20 14:52:28 +11:00
Pat Hickey d9e0bbbbab ArduCopter: first pass at AP_HAL porting
* changed all the byte types to uint8_t
* fixed up much of the serial stuff
2012-12-20 14:52:27 +11:00
rmackay9 9dd978576b ArduCopter: auto yaw changes to allow pilot override of yaw during missions
Added set_yaw_mode to better control of yaw controller changes and variable initialisation.
Replaced AUTO_YAW mode with separate yaw controllers YAW_LOOK_AT_NEXT_WP, YAW_LOOK_AT_LOCATION, YAW_LOOK_AT_HEADING.
Pilot manual override of yaw causes yaw to change to YAW_HOLD (i.e. manual yaw) until next waypoint is reached.
Added get_yaw_slew function to control how quickly autopilot turns copter
Changed YAW_LOOK_AHEAD to use GPS heading and moved to new get_look_ahead_yaw function in Attitude.pde
Renamed variables: target_bearing->wp_bearing, original_target_bearing->original_wp_bearing.
Removed auto_yaw_tracking and auto_yaw variables and update_auto_yaw function as they are no longer needed.
Simplified MAV_CMD_CONDITION_YAW handling (do_yaw).  We lose ability to control direction of turn and ability to do long panorama shots but it now works between waypoints and save 20bytes.
2012-12-08 14:23:32 +09:00
Michael Oborne 68aa5e4682 AC add ability to start new accel_scale via mavlink 2012-11-28 21:38:58 +08:00
Andrew Tridgell 2949d58b71 Copter: re-enable sending of GLOBAL_POSITION_INT message
this gives important raw GPS velocity information, plus relative and
absolute height
2012-11-28 11:26:19 +11:00
Andrew Tridgell 5818aaad42 Copter: fixed build error
thanks to Marco for pointing this out
2012-11-24 20:39:35 +11:00
Andrew Tridgell f6ec932d63 Copter: added reboot in CLI and over MAVLink
useful for getting out of CLI
2012-11-24 18:20:37 +11:00
Andrew Tridgell cd07d965a7 Copter: ported RSSI_PIN option from ArduPlane
this is useful for OSD users
2012-11-22 20:59:33 +11:00
Andrew Tridgell dbdb3e1194 ACM: allow fetch of parameters by index
this makes it more efficient to re-fetch parameters that are missing
2012-11-22 00:16:57 +11:00
Andrew Tridgell bcae83c4f6 ACM: make it possible to run CLI on radio port in ArduCopter 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 bcf740a82f ACM: support 16 character parameter names 2012-11-20 21:38:58 +11:00
Andrew Tridgell 69fbcc8683 MAVLink: fixed accel and gyro sensor offsets in MAVLink 2012-11-20 18:32:26 +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 bcb9519fd7 ArduCopter: renamed system bitmap to ap_system to resolve desktop compile issues 2012-11-11 22:42:10 +09:00
rmackay9 95f6357d35 ArduCopter: fix APM2 build 2012-11-10 22:06:23 +09:00
Jason Short d2a5928c06 Ap state updates 2012-11-09 22:15:15 -08:00
rmackay9 a1b4ec6d0e ArduCopter: move to use new INS library instead of IMU library 2012-11-07 19:21:09 +09:00
Andrew Tridgell e8ab62f6e5 ACM: switch to GPS velocity numbers in GLOBAL_POSITION_INT
these numbers are much more useful than the redundent rotated ground
speed. They tell us exactly what the GPS is giving to AHRS
2012-11-05 15:23:41 +11:00
Pat Hickey bbc7f050e5 ArduCopter GCS_MAVLink: COMMAND_LONG for arm/disarm motors
Date: Wed, 26 Sep 2012 15:56:43 -0700
Subject: ArduCopter arm/disarm command consensus
From: Pat Hickey
To: Michael Oborne
Cc: "Craig J. Elder", arducopter
<arducopter@googlegroups.com>,
    mavelous <mavelous@googlegroups.com>

    Michael,

    Per our discussion today,

    In a MAVLINK_MSG_ID_COMMAND_LONG
    A MAV_CMD of type MAV_CMD_COMPONENT_ARM_DISARM
    with component id MAV_COMP_ID_SYSTEM_CONTROL = 250,
    uses param index 1 to specify an arm/disarm motors event: 1 to arm,
    0 to disarm

    Thanks for working this out with me. Sorry to get it so completely
    wrong the first time around!

    Best
    Pat
2012-10-10 18:59:55 +08: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
Jason Short e8e8c27db4 ACM Mavlink - fixed comparison of unsigned to signed int by casting to uint8_t 2012-09-10 20:22:57 -07:00
Andrew Tridgell e8d928cca4 ACM: added TELEM_DELAY to ArduCopter 2012-08-30 09:03:01 +10:00
uncrustify f7a748d43b uncrustify ArduCopter/GCS_Mavlink.pde 2012-08-21 18:56:01 -07:00