Andrew Tridgell
2fb6113098
Plane: use AP:PerfInfo class
2018-02-10 10:50:22 +11:00
Michael du Breuil
43972f8e56
Plane: Move battery logging code to AP_BattMonitor
2018-02-06 00:11:32 +00:00
Tom Pittenger
39a200b83f
Plane: allow control_mode enum to be in arbitrary order
...
never use control_mode >= BLAH. This requires the order to be important which greatly increases chance for unexpected behavior
Closes https://github.com/ArduPilot/ardupilot/issues/4656
2018-01-09 17:05:04 -08:00
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