Michael du Breuil
c85f8c7bf5
Rover: Simplify radio trimming, improve MAVLink report
2018-06-11 16:29:36 -07:00
Randy Mackay
b69155793f
Rover: add Log_Write_Depth
2018-06-12 08:29:08 +09:00
Randy Mackay
d34c87a457
Rover: alphabetise Log_Write methods
2018-06-12 08:29:08 +09:00
Randy Mackay
c51b38cd1c
Rover: rename Log_Arm_Disarm to Log_Write_Arm_Disarm
2018-06-12 08:29:08 +09:00
Randy Mackay
10d89f1315
Rover: remove unimplemented Log_Write_Performance declaration
2018-06-12 08:29:08 +09:00
Peter Barker
cf1f2f9aeb
Rover: move motors_active to be motors.active
...
This will help when we come to subclass the Motors library.
2018-06-08 08:51:18 +09:00
Peter Barker
65b7ca3fbb
Rover: factor out a do_aux_function_change_mode
...
Less code is good
2018-06-08 08:50:08 +09:00
Peter Barker
36705af8ff
Rover: create an enumeration to hold vehicle mode constants
...
This gives us type-safety on the mode numbers. This is advantageous as
some of these symbols exist with different values elsewhere in the code.
2018-06-08 08:41:16 +09:00
Ammarf
26c25daa36
Rover: add support for lateral control input
2018-05-31 13:48:17 +09:00
Randy Mackay
73bdc3be09
Rover: set ahrs flyforward if thr over 15% for 2 seconds
...
or if throttle is positive and desired speed over 0.5m/s
2018-05-29 16:37:31 +09:00
Peter Barker
9d83ee8cc7
Rover: move sending of vfr_hud up
2018-05-29 13:00:40 +10:00
Peter Barker
8101f2b573
Rover: move sending of simstate up
2018-05-23 18:36:50 +10:00
Randy Mackay
24dd9a1c2c
Rover: update GPS at 50hz
2018-05-23 17:17:29 +09:00
Peter Barker
1ecd371cd0
Rover: move sending of GLOBAL_POSITION_INT up to GCS_MAVLINK
2018-05-17 15:48:06 +01:00
Peter Barker
3799a13bc3
Rover: move send_attitude up to GCS_MAVLINK
2018-05-17 18:28:43 +10:00
Peter Barker
0d3051e46a
Rover: handle setting of ekf origin in GCS_MAVLink
2018-05-17 10:13:42 +10:00
Peter Barker
a52f3d8f70
Rover: move Log_Write_Home_And_Origin into AP_AHRS
2018-05-17 10:13:42 +10:00
Peter Barker
a78fe0896f
Rover: make scheduler track whether it has called the delay callback
2018-05-09 16:15:38 +10:00
Peter Barker
9e1811027d
APMrover2: move try_send_message handling of RC_CHANNELS_RAW up
2018-05-08 12:33:32 +01:00
Randy Mackay
c6638f66de
Rover: Loiter mode for boats
2018-05-06 16:58:00 +09:00
night-ghost
2aee8d1018
APMrover2: devo telemetry support (RX705/707)
2018-04-24 10:44:28 +10:00
Peter Barker
63e8fffbe4
Rover: Baro does its own dataflash logging now
2018-04-12 19:12:12 +01:00
Michael du Breuil
05173f24c6
Rover: Use RC_Channels instead of hal.rcin
2018-04-11 21:47:07 +01:00
Peter Barker
e74d07ff15
Rover: remove wrapper for Log_Write_Beacon
2018-04-04 16:20:33 +09:00
Peter Barker
a45e3cba15
Rover: factor vehicle's mavlink send_heartbeat
2018-04-03 13:05:19 +01:00
Peter Barker
c10f404b12
Rover: tidy handling of barometer calibrations
2018-04-02 23:25:05 +01:00
Michael du Breuil
b761a57da3
Rover: Support new battery interface
2018-03-27 22:12:21 +01:00
Peter Barker
9d0da4a71f
Rover: move home state into AP_AHRS
2018-03-19 10:32:37 +09:00
Peter Barker
ceb64fb7d9
Rover: use ins singleton
2018-03-16 00:37:35 -07:00
Peter Barker
81ba037582
Rover: use baro singleton
2018-03-08 21:20:05 -08:00
Peter Barker
90d26a5100
Rover: eliminate perf_update scheduler table shim
2018-02-13 17:15:05 +11:00
Peter Barker
d9bb546048
Rover: use AP_Scheduler's loop() function
2018-02-13 17:15:05 +11:00
Peter Barker
211e7416a9
Rover: use scheduler ticks in place of mainloop_count
2018-02-13 17:15:05 +11:00
Peter Barker
9511e72113
Rover: use PerfInfo for performance monitoring
2018-02-13 17:15:05 +11:00
Peter Barker
df304c5e6b
Rover: remove shims used in scheduler table
2018-02-12 15:39:26 +09:00
Michael du Breuil
2e9e91b3a3
Rover: Move battery logging to AP_BattMonitor
2018-02-06 00:11:32 +00:00
Randy Mackay
489c42bdff
Rover: add avoidance library
2018-01-22 17:18:41 +09:00
khancyr
5503a0069d
Rover: add proximity library
2018-01-22 17:18:41 +09:00
khancyr
c3fb985ec5
Rover: add fence support
2018-01-22 17:18:41 +09:00
Peter Barker
7cf2712bf1
Rover: AP_AHRS no longer requires GPS in constructor
2017-12-27 00:58:02 +00:00
Peter Barker
bce9a40ab5
Rover: remove unimplemented methods
2017-12-15 13:27:14 +09:00
Andrew Tridgell
482ae876fb
Rover: 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
Randy Mackay
f6f40afcda
Rover: rename control_mode_from_num to mode_from_mode_num
2017-12-12 10:39:26 +09:00
Randy Mackay
9710b16cac
Rover: THR dataflash logging replaces CTUN
2017-12-09 12:18:49 +09:00
Randy Mackay
8eb991b610
Rover: boats say active at destination in auto
...
previously the user would use the LOITER_UNLIMITED or LOITER_TIME mission commands to specify that the vehicle should remain active at the destination. This was cumbersome and not the best way to specify this behaviour because these two commands are valid for regular rovers that should not try to remain active at the destination.
2017-12-08 08:48:05 +09:00
Randy Mackay
aa38239629
Rover: add FRAME_CLASS to differentiate boats from rovers
2017-12-08 08:48:05 +09:00
Peter Barker
1d2ec9054b
Rover: tighten return types of mavlink functions and variables
2017-12-01 17:01:10 +00:00
Peter Barker
e38cefea8a
Rover: add SmartRTL mode
...
called at 3hz from scheduler
2017-12-01 09:28:56 +09:00
Peter Barker
45d76bdf25
Rover: add name4() to Mode and use it for AP_Notify calls
2017-11-29 14:03:43 +09:00
Randy Mackay
04e9228fa0
Rover: add Acro mode
...
ACRO_TURN_RATE allows user control of maximum turn rate
2017-11-29 14:03:43 +09:00
Peter Barker
c00a4f3bb2
Rover: AP_Camera uses GPS singleton
2017-11-16 15:28:37 +00:00
Peter Barker
2d0a23fcc8
Rover: call ins's periodic function
2017-10-27 16:33:45 +11:00
Lucas De Marchi
e98ccb9ae6
ArduRover: use static method to construct controllers
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
eadd650d78
global: use static method to construct AP_RSSI
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
5ec1430726
APMrover2: use static method to construct AP_Arming_Rover
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
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
0c49b7a973
APMrover2: 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
894bf2a23f
Rover: support SET_GPS_GLOBAL_ORIGIN message
2017-09-19 10:30:15 +09:00
Peter Barker
25a32c93f2
Rover: move gcs_out_of_time into GCS object
2017-09-12 18:28:07 +01:00
Peter Barker
d98c427514
Rover: add constant structure holding firmware version
2017-08-30 15:54:46 +01:00
Randy Mackay
1600823b12
Rover: aux switch to learn cruise throttle and speed
2017-08-25 14:05:23 +09:00
Randy Mackay
14c74a5967
Rover: remove learning mode
...
saving waypoints can be done in manual or steering mode
2017-08-25 14:05:23 +09:00
Randy Mackay
524fe4cd82
Rover: aux switch saves waypoint in manual or steering modes
...
Also refactor aux switch methods
rename LEARN_CH to AUX_CH
2017-08-25 14:05:23 +09:00
Randy Mackay
82e61d7198
Rover: remove unused throttle_failsafe_active method
2017-08-25 14:05:23 +09:00
khancyr
4ab11027a7
Rover: remove unused mavlink_delay(uint32_t ms)
2017-08-24 20:41:16 +09:00
khancyr
ed19db7188
Rover: set_mode arg name to match implementation
...
definition and implementation used different argument name
2017-08-17 09:46:19 +09:00
Randy Mackay
492fe40f93
Rover: re-organise private member declarations
...
declarations are grouped by file (which are in turn organised alphabetically) and in the order they appear within each file
non-functional change
2017-08-15 20:47:19 +09:00
Randy Mackay
6c7db05207
Rover: re-organise includes
...
non-functional change
2017-08-15 20:47:19 +09:00
Randy Mackay
0b917cfd36
Rover: mode auto guided and rtl slow before destination
...
new mode class member _desired_speed_final holds target speed at destination
main vehicle code passes heading to next waypoint into auto mode.
we do not provide heading when delaying at waypoint which signals we wish
auto-mode calculates final speed at destination which allows vehicle to
make turn within value of WP_OVERSHOOT parameter assuming vehicle turns at
maximum lateral acceleration.
2017-08-15 20:47:19 +09:00
Randy Mackay
d99108f3bc
Rover: use AR_AttitudeControl for throttle control
...
also direct throttle nudge replaced with speed nudge
calc_speed_max estimates vehicle's top speed based on cruise-speed and
cruise-throttle
steering mode now provides total target speed instead of using speed plug
throttle nudge
motor limits provided to attitude control to stop i-term buildup
uses negative desired speed instead of reversed flag
reporting to GCS uses new throttle controller
braking is simply enabled and allows a reverse motor output regardless of vehicle
speed
2017-08-15 20:47:19 +09:00
Randy Mackay
9097269d6d
Rover: use AR_AttitudeControl for steering control
2017-08-15 20:47:19 +09:00
Peter Barker
fa2b500e93
Rover: remove CLI
2017-08-14 10:23:50 +09:00
Randy Mackay
59a1f260d1
Rover: remove unused compat.h
2017-08-12 14:46:46 +09:00
Randy Mackay
bff74115bc
Rover: remove unused distance_past_wp
2017-08-12 13:05:01 +09:00
Randy Mackay
30852d4713
Rover: auto-reversed moved to mode
2017-08-05 11:20:58 +09:00
Randy Mackay
66f1437e4f
Rover: remove unused throttle variable
2017-08-05 11:20:58 +09:00
Randy Mackay
e88b1572b6
Rover: remove navigate
2017-08-05 11:20:58 +09:00
Randy Mackay
fe6465b748
Rover: remove next_WP, wp_distance, navigate
...
Also remove prev_WP, wp_totalDistance which are all handled within mode class
2017-08-05 11:20:58 +09:00