Commit Graph

320 Commits

Author SHA1 Message Date
Peter Barker c4c6b3cc70 Plane: AP_AHRS no longer requires GPS in constructor 2017-12-27 00:58:02 +00:00
Andrew Tridgell 30e224e705 Plane: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Tom Pittenger 512b327cd4 Plane: failsafe events to use enums instead of magical numbers : Non-functional change 2017-12-07 00:19:32 -08:00
Tom Pittenger 3d6cc59a6b Plane: cleanup geofence warnings 2017-11-27 18:35:49 -08:00
Michael du Breuil 1a3ca43e86 Plane: Don't check FS_SHORT_TIMEOUT if it's disabled
Also renames the check_minimum_altitude() to reflect that it's only used
for FBWB.
2017-11-24 09:58:01 -08:00
Tom Pittenger 7271586a47 Plane: invert auto_state.no_crosstrack flag to be auto_state.crosstrack. Non-functional change 2017-11-23 09:25:18 -08:00
Peter Barker ee5f550475 Plane: AP_Camera uses GPS singleton 2017-11-16 15:28:37 +00:00
Michael du Breuil e63e39c411 Plane: Don't broadcast PWM value that tripped throttle failsafe 2017-11-02 16:46:08 -07:00
Michael du Breuil d52f5155f0 Plane: Rename rc failsafe state members 2017-11-02 16:46:08 -07:00
Peter Barker d49be616da Plane: call ins's periodic function 2017-10-27 16:33:45 +11:00
Peter Barker 7feef72b34 Plane: improve failsafe notifications 2017-10-24 09:28:13 +11:00
Lucas De Marchi a2b67ed615 ArduPlane: use static method to construct AP_Landing 2017-09-26 03:01:21 +01:00
Lucas De Marchi e10c60e492 ArduPlane: use static method to construct controllers 2017-09-26 03:01:21 +01:00
Lucas De Marchi 05c870a4d4 ArduPlane: use static method to construct AP_TECS 2017-09-26 03:01:21 +01:00
Lucas De Marchi bfd13dfe87 global: use static method to construct AP_AHRS_DCM 2017-09-26 03:01:21 +01:00
Lucas De Marchi beabae6a98 global: use static method to construct AP_AHRS_NavEKF 2017-09-26 03:01:21 +01:00
Lucas De Marchi c9fbf7b722 global: use static method to construct AP_NavEKF3 2017-09-26 03:01:21 +01:00
Lucas De Marchi e2fe36357a global: use static method to construct AP_NavEKF2 2017-09-26 03:01:21 +01:00
Lucas De Marchi 6781a44046 global: use static method to construct AP_Avoidance_* 2017-09-26 03:01:21 +01:00
Lucas De Marchi 6d009cdf6e global: use static method to construct AP_ADSB 2017-09-26 03:01:21 +01:00
Lucas De Marchi cf6ea9642e global: use static method to construct AP_Terrain 2017-09-26 03:01:21 +01:00
Lucas De Marchi 31db77e47b global: use static method to construct AP_Parachute 2017-09-26 03:01:21 +01:00
Lucas De Marchi eadd650d78 global: use static method to construct AP_RSSI 2017-09-26 03:01:21 +01:00
Lucas De Marchi b05610870c global: use static method to construct AP_Rally 2017-09-26 03:01:21 +01:00
Lucas De Marchi 18aa88b329 global: use static method to construct AP_Mount 2017-09-26 03:01:21 +01:00
Lucas De Marchi c3647f0185 global: use static method to construct AP_Camera 2017-09-26 03:01:21 +01:00
Lucas De Marchi cc53e7bc4b global: use static method to construct AP_ServoRelayEvents 2017-09-26 03:01:21 +01:00
Lucas De Marchi 13d7f58036 global: use static method to construct AP_Relay 2017-09-26 03:01:21 +01:00
Lucas De Marchi 9ce6019138 global: use static method to construct AP_Frsky_Telem 2017-09-26 03:01:21 +01:00
Lucas De Marchi b022c02029 global: use static method to construct AP_BattMonitor 2017-09-26 03:01:21 +01:00
Lucas De Marchi 69b6d95cb2 global: use static method to construct AP_Board_Config{,_CAN} 2017-09-26 03:01:21 +01:00
Lucas De Marchi a74e700006 global: use static method to construct RCMapper 2017-09-26 03:01:21 +01:00
Lucas De Marchi 72fd2d6f05 global: use static method to construct AP_SerialManager 2017-09-26 03:01:21 +01:00
Lucas De Marchi fbe0d9761c global: use static method to construct AP_OpticalFlow 2017-09-26 03:01:21 +01:00
Lucas De Marchi 2d2876a226 ArduPlane: use static method to construct AP_Arming_Plane 2017-09-26 03:01:21 +01:00
Lucas De Marchi b36a5919f5 global: use static method to construct AP_Mission
This also move the initialization to be in the header for those that
weren't already to maintain consistency.
2017-09-26 03:01:21 +01:00
Lucas De Marchi de5e044b02 global: use static method to construct AP_RPM 2017-09-26 03:01:21 +01:00
Lucas De Marchi 40fd1b346c global: remove rangefinder from AP_AHRS_NavEKF
AP_AHRS_NavEKF doesn't use the rangefinder, it just delegates the
calls to the right estimator.

For libraries/AP_AHRS/examples/AHRS_Test/AHRS_Test.cpp the initialization
order has also been modified to match the order on vehicles. It's more
correct since it passes a reference when EKF2/EKF3 are already
constructed, while thos constructors use a pointer.  Ideally these
should be moved to an init() method though, or use a get_instance().
2017-09-26 03:01:21 +01:00
Lucas De Marchi 9027a55696 global: use static method to construct RangeFinder 2017-09-26 03:01:21 +01:00
Lucas De Marchi 62ac0ab8aa global: use static method to construct AP_Notify 2017-09-26 03:01:21 +01:00
Lucas De Marchi de680dac5b global: use static method to construct AP_Scheduler 2017-09-26 03:01:21 +01:00
Lucas De Marchi 8094482f21 global: use static method to construct AP_GPS 2017-09-26 03:01:21 +01:00
Lucas De Marchi 87b30b4552 global: use static method to construct AP_InertialSensor 2017-09-26 03:01:21 +01:00
Lucas De Marchi c1a957fbf3 global: use static method to construct Compass 2017-09-26 03:01:21 +01:00
Lucas De Marchi 91feec0e14 global: use static method to construct AP_Baro 2017-09-26 03:01:21 +01:00
Lucas De Marchi 18ff17e22c ArduPlane: move version to a static member
We should never include version.h or ap_version.h headers directly
on a header since this will trigger a complete rebuild of the
codebase when we commit to the repository. The ap_version.h header
is auto-generated containing information from the current commit.

If we include it in a header, every other file that ends up including
that header (directly or indirectly) will need to be rebuilt. No
ccache's cache beats having to do nothing when the header is just
not included.

version.h contains information that is kept on a struct inside
each vehicle. Rather than using the macros from each vehicle,
the getter should be preferred, which returns an AP_FWVersion
referente.
2017-09-23 21:37:45 -07:00
Randy Mackay 3d7b6ddc40 Plane: support SET_GPS_GLOBAL_ORIGIN message 2017-09-19 10:30:15 +09:00
Peter Barker aee939f891 Plane: move gcs_out_of_time into GCS object 2017-09-12 18:28:07 +01:00
Andrew Tridgell 37220e1568 Plane: removed unused prototypes 2017-09-10 17:15:18 +10:00
Peter Barker c15c1b84a4 Plane: add constant structure holding firmware version 2017-08-30 15:54:46 +01:00
Peter Barker 8eeae45300 Plane: use GCS_MAVLINK subclasses to handle set_mode 2017-08-16 11:58:10 +10:00
Peter Barker 1a665280e9 Plane: remove CLI 2017-08-14 10:23:50 +09:00
Peter Barker 089f6f4650 Plane: move try_send_message send_hwstatus up 2017-08-03 14:33:37 +01:00
Peter Barker fee9e83881 Plane: move try_send_message mission handling up 2017-08-03 14:24:47 +01:00
Andrew Tridgell fedd2c558c Plane: added AETR log message
this makes debugging mixers much easier
2017-08-01 08:25:32 +10:00
Andrew Tridgell 5d91e29cea Plane: fixed px4_mixer for new function based mixing
this fixes the OVERRIDE_CHAN functionality to work correctly with the
new function based mixing code

It isn't a perfect match for ArduPilot mixing, but it is very close
for the key control surfaces, including mixed surfaces
2017-08-01 08:25:32 +10:00
Andrew Tridgell 0266168e69 Plane: removed old elevon and vtail mixers
now only use the function based mixing, and auto-convert on startup
2017-08-01 08:25:32 +10:00
Peter Barker 2fb46a67dd Plane: camera is responsible for taking distance-based-images and logging 2017-07-28 14:27:53 +01:00
Peter Barker fa39f315c6 Plane: move starting of new logs into DataFlash 2017-07-19 16:37:28 +01:00
Michael du Breuil b8e6ad7476 Plane: Document loop max time as being in microseconds 2017-07-15 17:27:04 +09:00
Peter Barker a250f47f13 Plane: remove unneeded telemetry_delayed parameter 2017-07-12 17:01:36 +01:00
Peter Barker 250f315678 Plane: eliminate gcs_send_mission_item_reached wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 3b0a7703c4 Plane: eliminate gcs_send_message wrapper 2017-07-11 23:45:16 +01:00
Peter Barker 5a8f01c19c Plane: use send_text method on the GCS singleton 2017-07-09 17:17:29 -04:00
Eugene Shamaev b95ebadf8b ArduPlane: move of CAN parameters into separate group 2017-07-03 11:44:32 +01:00
Andrew Tridgell 984e887d1d Plane: changed differential spoilers to scaled outputs
this matches new elevon, vtail and flaperon code
2017-07-03 11:17:42 +10:00
Peter Barker 5b70b688cb Plane: handle knowledge of in_log_download in DataFlash 2017-06-27 03:10:43 +01:00
Pierre Kancir 0bc9d294fb ArduPlane: change rangefinder msg for common one 2017-06-08 01:31:52 +01:00
Andrew Tridgell 92f88e9b33 Plane: fixed climb rate for quadplanes in CRUISE
the high loop rate of quadplanes led to less than 1cm/loop change in
height, which got truncated to zero. Adjusting height at 10Hz fixes
that.

Thanks to Marco for reporting this!
2017-05-10 08:03:23 +10:00
Andrew Tridgell 954905e0eb Plane: allow battery failsafe with usb connected
some people connect USB to allow connections from a companion
computer. The arming check is sufficient to prevent unwanted battery
failsafes when bench testing
2017-04-28 16:33:49 +10:00
Andrew Tridgell 516bf26719 Plane: fixed QRTL change when coming from loiter
the nav controller can think we have already reached the loiter target
if we were last in a LOITER when we switch to RTL. In that case it
would switch to QRTL immediately

found by Leonard (thanks!)
2017-04-24 16:28:59 +10:00
Andrew Tridgell b4ffcfa6bd Plane: added support for elevon and vtail servo functions
these make trimming and limiting servo movement easier
2017-04-24 16:26:08 +10:00
Eugene Shamaev ca84ab36be Plane: AOA and SSA estimations are added to parameters and data logs 2017-04-19 20:48:42 +10:00
Michael du Breuil 876ffa351b Plane: Update L1 constructor for new arguments 2017-04-06 08:26:04 +10:00
Andrey Kolobov 35d406aeab Plane: added a soaring controller to Arduplane 2017-03-14 08:53:10 +11:00
Randy Mackay c0f155fd27 Plane: use only downward facing rangefinder 2017-02-27 15:18:25 +09:00
Tom Pittenger 4ccd59f394 Plane: allow exiting loiter_to_alt in cases where you get stuck
- check for scenarios where updrafts can keep you from loitering down indefinitely.
2017-02-23 05:15:49 -08:00
Andrew Tridgell b3380ecfa7 Plane: support twin-engine planes
with differential thrust for yaw
2017-02-18 17:26:43 +11:00
Peter Barker 1d7994e9ba Plane: create GCS_Plane subclass 2017-02-13 17:03:06 +11:00
Peter Barker 49bf336539 Plane: Support for a GCS singleton 2017-02-13 09:32:01 +11:00
Peter Barker d060670ba3 Plane: rename gcs[] to gcs_chan[]
Wish to use gcs() to return the gcs singleton
2017-02-13 09:32:01 +11:00
Michael du Breuil 29b16dbafd Plane: Refactor to request relative altitudes from AHRS
Removes the need for plane to do the math for finding the relative height.

Also caches the value at the same time we update current_loc, which is a
non behaviour change as that was the only time you could see a change in
the relative height propegate through the system anyways
2017-02-13 09:23:14 +11:00
Randy Mackay fad2ba608f Plane: send flight mode string to Notify 2017-01-23 15:07:21 -08:00
Randy Mackay 7cc8b7232c Plane: rename arming_checks to AP_Arming 2017-01-17 11:45:08 +09:00
Peter Barker fc28beacea Plane: AP_Arming: use callback in place of variable reference for home state 2017-01-17 11:45:08 +09:00
Andrew Tridgell b83f50be0f Plane: use new SRV_Channels API 2017-01-12 17:39:37 +11:00
Peter Barker af9729c126 Plane: correct compilation when parachute disabled 2017-01-02 20:39:03 -08:00
Tom Pittenger c286ceba43 Plane: move enum FlightStages to AP_Vehicle::FixedWing 2016-12-30 23:50:03 -08:00
priseborough 38a0e8a6ae ArduPlane: Add EKF3 and remove EKF1 2016-12-19 08:07:09 +11:00
Randy Mackay d95baf51c9 Plane: include AP_Beacon 2016-11-30 17:57:01 +09:00
Peter Barker f712dd5d7e Plane: add arming check for logging actually started 2016-11-29 15:14:09 -08:00
Peter Barker 17f5ef4610 Plane: inform dataflash of vehicle arm state 2016-11-28 09:42:09 -08:00
Tom Pittenger 9f184a1490 Plane: migrate aparm "LAND_" params from plane to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger 1b0a263761 Plane: remove landing.cpp entirely 2016-11-25 19:07:30 -08:00
Tom Pittenger fc2f518f31 Plane: revert auto_state.checked_for_autoland back to Plane 2016-11-25 19:07:30 -08:00
Tom Pittenger db42252168 Plane: port the rest of plane/landing.cpp to AP_Landing 2016-11-25 19:07:30 -08:00
Tom Pittenger 9a79b79f1e AP_Landing: port more from plane 2016-11-25 19:07:30 -08:00
Tom Pittenger 10027b21d6 Plane/AP_Landing: port setup_landing_glide_slope() 2016-11-25 19:07:30 -08:00
Tom Pittenger d2376b7c8b Plane: migrate two helper functions to AP_Landing
- move functions restart_landing_sequence() and jump_to_landing_sequence() to AP_Landing
- NOTE: jump_to function can not set mode, so it is now done externally in vehicle
2016-11-25 19:07:30 -08:00
Tom Pittenger 896b931a7c Plane: Move auto_state variables to AP_landing members 2016-11-25 19:07:30 -08:00