Commit Graph

9197 Commits

Author SHA1 Message Date
Lucas De Marchi
55e1d60b54 AP_HAL_Linux: Use from() method for downcast in Util class 2015-09-24 15:31:32 +10:00
Michael du Breuil
cf6e6b7e82 DataFlash: Remove stale UBX3 message 2015-09-23 20:42:42 -07:00
Michael du Breuil
75c0644b9a AP_GPS: Use state.instance instead of trying to track instance numbers inside of the ublox driver 2015-09-23 20:42:42 -07:00
Andy Piper
5adb6d2b89 AP_GPS: Support UBX messages for dual UBLOX GPS setups.
Add extra DOP information to UBX precision messages.
2015-09-23 20:41:50 -07:00
mirkix
eee9522ca5 AP_Compass: Add MPU9250 multiple instance support 2015-09-24 13:11:38 +10:00
mirkix
840f583d23 AP_InertialSensor: Add MPU9250 multiple instance support 2015-09-24 13:11:38 +10:00
dgrat
15b3717d89 AP_HAL_Linux: Move RPi version check to util class
- Moved the version check functions to util.
 - Removed a redundant version check.
 - Removed redundant version check functions from RCInput.
2015-09-24 13:04:18 +10:00
dgrat
2590db378a AP_HAL_Linux: remove extra spaces in RCInput_Navio 2015-09-24 13:04:18 +10:00
dgrat
e96a1bae8a AP_HAL_Linux: cleanup pointer casts in RCInput_Navio
Although RPi is 32 bits, use uintptr_t and friends for casts.
2015-09-24 13:04:18 +10:00
Paul Riseborough
80e182f827 AP_NavEKF2: Update EKF2 data logging 2015-09-24 12:58:44 +10:00
Paul Riseborough
86ad1e6e66 DataFlash: Update EKF2 data logging 2015-09-24 12:58:44 +10:00
Paul Riseborough
f77bdd90fc AP_AHRS: Update EKF2 data logging 2015-09-24 12:58:44 +10:00
Paul Riseborough
4acd6c129a AP_NavEKF2: Update parameters 2015-09-24 12:58:43 +10:00
Paul Riseborough
9c5e48e7e9 AP_NavEKF2: Remove unused variables and improve variable names 2015-09-24 12:58:43 +10:00
Paul Riseborough
4a7714e15d AP_NavEKF2: Remove unused parameters and improve naming consistency 2015-09-24 12:58:43 +10:00
Paul Riseborough
8afb26087d AP_NavEKF2: Remove unused function 2015-09-24 12:58:43 +10:00
Paul Riseborough
02408861a1 AP_NavEKF: Remove unused function 2015-09-24 12:58:43 +10:00
Andrew Tridgell
fe76662faf AP_NavEKF2: added set_enable() API 2015-09-23 18:55:12 +10:00
Andrew Tridgell
ba8e63d8e7 DataFlash: handle unitialised EKF2 in logging 2015-09-23 18:54:46 +10:00
Andrew Tridgell
dde8330077 AP_AHRS: rename using_EKF to active_EKF_type()
thanks to Randy for the suggestion
2015-09-23 17:53:44 +10:00
Paul Riseborough
f270573acc AP_NavEKF2: Use library functions for quaternion corrections 2015-09-23 17:48:48 +10:00
Andrew Tridgell
f9348887c5 AP_AHRS: added getLastYawResetAngle() and resetHeightDatum() 2015-09-23 17:46:51 +10:00
Andrew Tridgell
0677c2c80c AP_AHRS: run astyle for formatting 2015-09-23 17:31:00 +10:00
Andrew Tridgell
cbc62238a9 AP_NavEKF2: run astyle for reformatting 2015-09-23 17:29:28 +10:00
Andrew Tridgell
7a3b59652f GCS_MAVLink: show EKF2 status via AHRS3 message 2015-09-23 12:22:54 +10:00
Andrew Tridgell
ce9fa45b3a DataFlash: added logging of EKF2 2015-09-23 12:09:48 +10:00
Andrew Tridgell
13f72e5ba9 AP_AHRS: expose EKF2 for logging 2015-09-23 12:09:36 +10:00
Andrew Tridgell
760dafbb9d AP_NavEKF2: added enabled() function 2015-09-23 12:09:26 +10:00
Andrew Tridgell
7ba45444a2 AP_AHRS: added selection of EKF type using AHRS_EKF_TYPE 2015-09-23 11:57:18 +10:00
Andrew Tridgell
ed25c85d21 AP_AHRS: added NavEKF2 to constructor 2015-09-23 11:56:42 +10:00
Andrew Tridgell
b4555f30a5 AP_NavEKF2: added frontend calls to core code 2015-09-23 11:56:42 +10:00
Andrew Tridgell
3ac75aeffb AP_NavEKF2: added EK2_ENABLE parameter 2015-09-23 11:56:42 +10:00
Paul Riseborough
f500474a86 AP_NavEKF2: initial import of new maths EKF 2015-09-23 09:51:14 +10:00
Tom Pittenger
583c1fc229 GCS_MAVLink: Add "Abort Alt" description to NAV_LAND mission item p1.
This abort Alt value is the altitude used to climb to if a land is aborted.
2015-09-23 09:25:46 +10:00
Julien BERAUD
3b5d73b1fe AP_Baro_MS5611: Fix state machine in case of error
If there is a read error, reading from the adc will return 0 but moreover,
we need to re-initiate a read or else we are stuck forever.

From MS5611-01BA03 datasheet, p. 10, CONVERSION SEQUENCE:
"After the conversion, using ADC read command the result is clocked out with the MSB first.
If the conversion is not executed before the ADC read command, or the ADC read command is
repeated, it will give 0 as the output result."
2015-09-23 09:19:22 +10:00
Lucas De Marchi
0ed7f94bfc AP_HAL_SITL: use method for downcast
Instead of just doing a static cast to the desired class, use a method
named "from". Pros:

  - When we have data shared on the parent class, the code is cleaner in
    child class when it needs to access this data. Almost all the data
    we use in AP_HAL benefits from this

  - There's a minimal type checking because now we are using a method
    that can only receive the type of the parent class
2015-09-23 09:01:29 +10:00
Lucas De Marchi
6c19f741df AP_BattMonitor: use method for downcast
Instead of just doing a static cast to the desired class, use a method
named "from". Pros:

  - When we have data shared on the parent class, the code is cleaner in
    child class when it needs to access this data. Almost all the data
    we use in AP_HAL benefits from this

  - There's a minimal type checking because now we are using a method
    that can only receive the type of the parent class
2015-09-23 09:01:29 +10:00
Lucas De Marchi
294298ea34 AP_InertialSensor: use method for downcast
Instead of just doing a static cast to the desired class, use a method
named "from". Pros:

  - When we have data shared on the parent class, the code is cleaner in
    child class when it needs to access this data. Almost all the data
    we use in AP_HAL benefits from this

  - There's a minimal type checking because now we are using a method
    that can only receive the type of the parent class
2015-09-23 09:01:29 +10:00
Lucas De Marchi
54c2c5f682 AP_HAL_Linux: use method for downcast
Instead of just doing a static cast to the desired class, use a method
named "from". Pros:

  - When we have data shared on the parent class, the code is cleaner in
    child class when it needs to access this data. Almost all the data
    we use in AP_HAL benefits from this

  - There's a minimal type checking because now we are using a method
    that can only receive the type of the parent class
2015-09-23 09:01:29 +10:00
Andrew Tridgell
0d26252bdb AP_Terrain: don't allocate cache array when terrain not enabled
this makes it easy to save 22k of ram when running other experiments
2015-09-23 08:31:17 +10:00
Tom Pittenger
e2fde36ec6 AP_NavEKF: index out of range due to incorrect assignment 2015-09-22 11:41:51 +09:00
Jonathan Challinger
d2b103b323 AP_SmallEKF: replace incorrect quaternion rotations with library call 2015-09-22 11:15:05 +10:00
Andrew Tridgell
eabdee2b3c DataFlash: only log two rangefinders
this prevents a array index build error on PX4
2015-09-22 09:24:55 +10:00
Andrew Tridgell
5800f0c884 AP_RangeFinder: default to two rangefinders
and fixed documentation strings for rangefinder 3 and 4 if enabled
2015-09-22 09:04:47 +10:00
Paul Riseborough
5c32bb8858 AP_NavEKF: Add pre-flight check for gyro quality 2015-09-21 17:06:31 +09:00
Randy Mackay
73e7e64bb8 AP_Arming: remove unused set_skip_gyro_cal 2015-09-21 17:06:29 +09:00
Randy Mackay
87cada1d54 Scheduler: remove INS start style from example sketch 2015-09-21 17:06:25 +09:00
Randy Mackay
b5e1ad89b3 AHRS: remove INS start style from example sketch 2015-09-21 17:06:23 +09:00
Randy Mackay
ada26082ca InertialSensor: remove INS start style from example sketch 2015-09-21 17:06:20 +09:00
Randy Mackay
ec82aa68c4 InertialSensor: add GYR_CAL to control when gyro calibration occurs 2015-09-21 17:06:16 +09:00
mirkix
038ad31f81 AP_HAL_FLYMAPLE: Add support for using SPI devices of the same type. 2015-09-18 09:15:09 +10:00
mirkix
07d50b5fbb AP_HAL_Empty: Add support for using SPI devices of the same type. 2015-09-18 09:15:09 +10:00
mirkix
f48bdc281f AP_HAL: Add support for using SPI devices of the same type. 2015-09-18 09:15:09 +10:00
mirkix
93941c3349 AP_HAL_Linux: Add support for using SPI devices of the same type. 2015-09-18 09:15:09 +10:00
Peter Barker
8f1471c137 DataFlash: leave room in buffer for non-startup messages 2015-09-18 09:13:45 +10:00
Peter Barker
63a45000b4 DataFlash: take log messages after putting FMTs out 2015-09-18 09:13:45 +10:00
raspilot
1b5e6849d9 AP_Compass: fix milligauss code in LSM303D driver 2015-09-16 16:52:17 +09:00
Randy Mackay
ce6fe0e746 AP_RSSI: add enabled method 2015-09-16 16:41:41 +09:00
Randy Mackay
f633733b3b AP_RSSI: make parameters private 2015-09-16 16:41:38 +09:00
Randy Mackay
9a648117a7 AP_RSSI: use is_zero and add break for avoid compile warning 2015-09-16 16:41:36 +09:00
Randy Mackay
1369179046 AP_RSSI: formatting fixes 2015-09-16 16:41:33 +09:00
Stewart Loving-Gibbard
4dcf6b8dc3 DataFlash: Adding Logging of RSSI data. 2015-09-16 16:41:31 +09:00
Paul Riseborough
8cfde42e15 AP_NavEKF: Ensure bad mag data cannot cause the heading to reset too often 2015-09-16 15:13:37 +09:00
Paul Riseborough
930f730612 AP_NavEKF: Reset mag and heading states to try and pass pre-flight checks 2015-09-16 15:13:36 +09:00
Randy Mackay
fff5ec09eb AP_Compass: fix consistent check for less than three compasses
Also use vector functions where available
Use get_field_milligause instead of just get_field
2015-09-16 15:11:01 +09:00
Jonathan Challinger
87bbf1a487 AP_Compass: add consistent() function 2015-09-16 15:10:27 +09:00
Randy Mackay
39340e70f8 Math: add Vector2 is_zero method 2015-09-16 15:10:25 +09:00
Andrew Tridgell
094b9cb35e AP_TECS: reformat using astyle 2015-09-16 14:24:45 +10:00
Andrew Tridgell
36432e6515 AP_TECS: use climb rate filter consistently between DCM and EKF
we should use baro height not hgt_afe for the climb rate filter. This
makes the climb rate consistent with the one from the EKF. The lidar
correction comes in with the demanded height, not the observed height
2015-09-16 14:24:44 +10:00
Randy Mackay
bc06d67645 AP_Camera: fix configure command id sent to components
Also removed unnecessary setting of target system, component and
confirmation and minor formatting fix
2015-09-16 13:06:46 +09:00
squilter
8391764c60 AP_Camera: add support for do_digicam_x via command_long 2015-09-16 13:06:44 +09:00
Grant Morphett
b2751d876c AP_AHRS: Fixed spelling error in parameter desc. 2015-09-16 09:33:30 +09:00
Grant Morphett
417188d7eb APM_Control: Fixed spelling error in parameter desc. 2015-09-16 09:33:27 +09:00
Julien BERAUD
5602e4055b AP_Compass_AK8963: Fix Rotation on the Bebop 2015-09-15 14:45:17 +09:00
Andrew Tridgell
fa9ff5b604 AP_Compass: added parameter for compass calibration fitness threshold 2015-09-14 17:01:14 +10:00
Andrew Tridgell
eea54c9e09 DataFlash: fixed flymaple build 2015-09-14 16:44:45 +10:00
Andrew Tridgell
5aa54be718 GCS_MAVLink: send SCALED_PRESSURE3 for 3 baros 2015-09-14 14:27:42 +10:00
Andrew Tridgell
afe1fce94e GCS_MAVLink: regenerate headers 2015-09-14 14:27:42 +10:00
Andrew Tridgell
91623322f9 GCS_MAVLink: added SCALED_PRESSURE3 2015-09-14 14:27:41 +10:00
Andrew Tridgell
a5462fec0b AP_Baro: allow selection of primary barometer and add 3rd baro
this is useful for external I2C barometers on a PH2
2015-09-14 14:27:41 +10:00
Andrew Tridgell
61441ab35d HAL_Linux: fixed apm2 build 2015-09-14 14:22:16 +10:00
Andrew Tridgell
bf001f19ff HAL_Linux: don't panic on runtime failures 2015-09-14 14:22:16 +10:00
Andrew Tridgell
582318448f AP_HAL: make new GPIO functions optional
not available on all boards
2015-09-14 14:22:16 +10:00
Andrew Tridgell
e0db1ad93e AP_Notify: added support for raspilot LED 2015-09-14 14:22:16 +10:00
raspilot
9f91eb020e AP_HAL_Linux: new files for raspilot 2015-09-14 14:22:16 +10:00
raspilot
30a2fe0857 AP_HAL_Linux: added scheduler hooks for raspilot 2015-09-14 14:22:16 +10:00
raspilot
25cddbcbaa AP_HAL_Linux: added SPI support for raspilot 2015-09-14 14:22:16 +10:00
raspilot
7d329205ec AP_HAL_Linux: added tonealarm support for raspilot 2015-09-14 14:22:16 +10:00
raspilot
a6736d8e61 AP_HAL_Linux: fixed ublox debug message 2015-09-14 14:22:16 +10:00
raspilot
444081d38d AP_HAL_Linux: added support for raspilot objects 2015-09-14 14:22:16 +10:00
raspilot
f057fe3d02 AP_HAL_Linux: added support for raspilot GPIO 2015-09-14 14:22:15 +10:00
raspilot
9a73df1bea AP_HAL_Linux: added support for raspilot RCInput 2015-09-14 14:22:15 +10:00
raspilot
1421cf600a AP_InertialSensor: added support for raspilot 2015-09-14 14:22:15 +10:00
Lucas De Marchi
309e75f9ac AP_Compass: LSM303D: use c++11 initializer to avoid Wreorder 2015-09-14 14:22:15 +10:00
Lucas De Marchi
3a017c8702 AP_Compass: LSM303D: rename members to follow convention
Make the members have similar names as HMC5843 driver and prepend
underscore on private fields.
2015-09-14 14:22:15 +10:00
raspilot
19b4f5559a AP_Compass: added LSM303D driver 2015-09-14 14:22:15 +10:00
raspilot
6df83f46c5 AP_HAL: new GPIO APIs 2015-09-14 14:22:15 +10:00
raspilot
dcc7cf2739 AP_HAL: raspilot board type 2015-09-14 14:22:15 +10:00
Andrew Tridgell
76aa1a9704 SITL: ensure zero rotor speed with ignition off in gas heli 2015-09-14 12:46:04 +10:00
Andrew Tridgell
6fbe88ba3a AP_GPS: improved fake ublox to give enough for EKF health 2015-09-14 11:36:15 +10:00
Andrew Tridgell
e87139eb32 AP_GPS: fixed a build warning 2015-09-14 11:36:10 +10:00
Andrew Tridgell
43ac3f86c5 DataFlash: added RNFD logging and 3 baros 2015-09-13 11:29:59 +10:00
Andrew Tridgell
8538aa9840 AP_Rangefinder: allow for up to 4 rangefinders 2015-09-13 11:29:56 +10:00
Daniel Nugent
58b7bf1588 AC_PrecLand: add companion computer implementation 2015-09-11 20:56:08 +09:00
Daniel Nugent
2f92876865 AC_PrecLand: remove const from get_angle_to_target 2015-09-11 20:56:07 +09:00
Daniel Nugent
21ac12f1c3 AC_Precland: bug fix to update ef angles only with new readings 2015-09-11 20:56:05 +09:00
Daniel Nugent
db8f28f2aa GCS_MAVLink: version update after generating LANDING_TARGET 2015-09-11 20:56:04 +09:00
Daniel Nugent
3aa0063f31 GCS_MAVLink: generate after updating LANDING_TARGET msg 2015-09-11 20:56:03 +09:00
Daniel Nugent
eba8dcffde GCS_MAVLink: update LANDING_TARGET from upstream mavlink 2015-09-11 20:56:02 +09:00
Andrew Tridgell
d07d2f3a46 AP_GPS: removed UBX3 message
replaced by GPA and GPA2 messages
2015-09-09 15:01:45 +10:00
Andrew Tridgell
c5cd310818 DataFlash: added GPA and GPA2 messages for GPS accuracy
this reverts the GPS format to the old format, thus fixing log
analysers
2015-09-09 14:53:11 +10:00
Andrew Tridgell
c59bdc12df AP_Compass: fix the milligauss handling
the previous approach assumed a 1:1 mapping between compass backends
and compass instances, which isn't true on PX4.

It also only setup milligauss offsets on a set_and_save call, which is
not the only way offsets change

this adds a milligauss_ratio per instance, which is considerably
simpler
2015-09-09 14:53:11 +10:00
Andrew Tridgell
3699932417 AP_Compass: fixed SITL compass 2015-09-09 14:53:11 +10:00
Randy Mackay
f1322252ae GPS: fix GNSS_MODE param descriptions
Thanks to Michael DuBreuil for noticing the problem and providing the correction
2015-09-09 13:40:32 +09:00
Buzz
684dfaf26f DataFlash: fix OSX build 2015-09-09 13:09:01 +09:00
Michael Oborne
88cf710f94 AP_GPS_SBF: add accuracy estimates 2015-09-09 12:28:25 +10:00
Peter Barker
60010e794e DataFlash: ensure 10% free space when initialising logging 2015-09-09 12:22:35 +10:00
Angus Peart
95c66a794e AP_Notify: sync oreoleds before a reboot 2015-09-09 10:39:54 +09:00
Angus Peart
a887c1d1f2 AP_Notify: fix oreoled race causing startup flicker 2015-09-09 10:39:53 +09:00
Angus Peart
d48f1b0ccf AP_Notify: oreoled - remove dangerous send_bytes 2015-09-09 10:39:52 +09:00
Angus Peart
662a3aa4cb AP_Notify: oreoled - always use full brightness 2015-09-09 10:39:51 +09:00
Jonathan Challinger
d205de2d7e AP_Notify: use new macros for white/red pattern 2015-09-09 10:39:51 +09:00
Randy Mackay
872e6769b0 Notify: change firmware_update event to flag 2015-09-09 10:39:50 +09:00
Jace A Mogill
068cdfe6a3 Notify: workaround for OREOLED problems 2015-09-09 10:39:49 +09:00
Michael du Breuil
a88e10d3a0 DataFlash: Log vDOP with GPS messages.
Due to the description string getting to long HDop was renamed as EPH with VDop as EPV (Which is the same terimnology  used to describe the MAVLink side). Status was shortened to stat as well.
2015-09-09 11:38:12 +10:00
Michael du Breuil
9f02834f6d AP_GPS: Broadcast vDOP data over mavlink 2015-09-09 11:38:12 +10:00
Michael du Breuil
0e3a188f6f AP_GPS: Read the vdop information from a ublox GPS 2015-09-09 11:38:12 +10:00
Peter Barker
f9a1102e96 DataFlash: correct compilation for new DataFlash signature 2015-09-09 10:58:27 +10:00
Peter Barker
a2f1bf581a DataFlash: fix test for SITL and linux 2015-09-09 10:58:27 +10:00
unknown
b1ce6136c4 DataFlash_test:make it works with pixhawk2 2015-09-09 10:58:26 +10:00
Staroselskii Georgii
bd7c313bee AP_Compass: fixed Compass::get_raw_field()
It seems as if it were a copy-paste error. A statis analyzer would
definetely be angry.
2015-09-09 10:38:17 +10:00
Staroselskii Georgii
375724b319 Arming: use milligauss as compass units 2015-09-09 10:38:16 +10:00
Staroselskii Georgii
4b948f5bb1 AP_AHRS: make DCM use milligauss 2015-09-09 10:38:16 +10:00
Staroselskii Georgii
b5b6d767bd AP_NavEKF: make EKF use milligauss 2015-09-09 10:38:16 +10:00
Staroselskii Georgii
e93ff44a97 AP_Compass: make a transition to milligauss in Compass library 2015-09-09 10:38:16 +10:00
Staroselskii Georgii
693613aa0f AP_Compass: convert AK8963 measurements to uT
AK8963 is configured in 16-bit ADC mode which implies sensitivity of 0.15 uT/LSb. Knowing this fact we can convert the measurements to the proper units. The change will make users recalibrate their compasses.
2015-09-09 10:38:16 +10:00
Staroselskii Georgii
c207d8c6a8 AP_Compass: add milligauss counterparts to get_field() and get_offsets()
From now on there's a pair get_field_milligauss() and
get_offsets_milligauss() that can make the transition to the common
units across all compasses easier.
2015-09-09 10:38:16 +10:00
Víctor Mayoral Vilches
6d762f62b3 AP_InertialSensor: ERLEBOARD legacy support
This config referred to the legacy Erle-Board
https://erlerobotics.com/blog/product/erle-board/
The configuration is preserved to support the
existing boards.
2015-09-09 10:31:55 +10:00
Víctor Mayoral Vilches
728921f7c5 AP_HAL_Linux: ERLEBOARD legacy support
This config referred to the legacy Erle-Board
https://erlerobotics.com/blog/product/erle-board/
The configuration is preserved to support the
existing boards.
2015-09-09 10:31:55 +10:00
Víctor Mayoral Vilches
b87fd58214 AP_HAL: ERLEBOARD legacy support
This config referred to the legacy Erle-Board
https://erlerobotics.com/blog/product/erle-board/
The configuration is preserved to support the
existing boards.
2015-09-09 10:31:55 +10:00
Grant Morphett
122e88dbed RC_Channel: remove the unused test function get_failsafe 2015-09-09 10:28:02 +10:00
Valmantas Palikša
d4daf19151 AP_Math: Move simple math function implementations to header for better
compile time optimization

Functions like sq() are better moved to the header file as inline.
Compiler can then optimize these out when used in code, this saves cpu
cycles with stack push, pop during function calls.
2015-09-09 09:57:51 +10:00
Tom Pittenger
cb20325593 AP_Mission: added flight stage FLIGHT_LAND_ABORT
- add get_prev_nav_cmd_with_wp_index(). This is different than get_prev_nav_cmd_index() in that it only stores the index if there is a valid lat/lng (+1 squashed commits)
- added mission item command to NAV_LAND which is the abort takeoff altitude. If 0 then use last takeoff if available, else use 50m
2015-09-09 09:04:24 +10:00
Tom Pittenger
46a83c7ae9 AP_TECS: added flight stage FLIGHT_LAND_ABORT
- do what TAKEOFF does in tecs, push the throttle up
2015-09-09 09:04:24 +10:00
Tom Pittenger
0961e1d907 AP_SpdHgtControl: added flight stage FLIGHT_LAND_ABORT 2015-09-09 09:04:24 +10:00
Fredrik Hedberg
d9a4b6b089 AP_HAL_Linux: Allow PCA9685 to be used on non-default I2C addresses. 2015-09-09 08:43:22 +10:00
Fredrik Hedberg
9d9e6d0b34 AP_HAL_Linux: Only use enable pin for PCA9685 if we need to. 2015-09-09 08:43:22 +10:00
Fredrik Hedberg
21b9f96ce3 AP_HAL_Linux: Enable use of all 16 channels for non-Navio PCA9685. 2015-09-09 08:43:22 +10:00
Tom Pittenger
4771d19073 AP_Math: added locations_are_same(loc1,loc2) helper
returns true if lat and lng are the same, ignores alt and options
2015-09-08 17:05:54 +10:00
Tom Pittenger
1026e7df45 AP_Mission: updated comment
altitude and lat/lng are all used
2015-09-08 17:05:54 +10:00
Andrew Tridgell
6afb3895c0 AP_RangeFinder: added doc strings for new rangefinder types 2015-09-08 16:46:52 +10:00
Andrew Tridgell
cbd43ee6ea HAL_PX4: added hal.i2c support on PX4 boards
this allows I2C based devices to use in-tree drivers
2015-09-08 16:46:52 +10:00
Andrew Tridgell
80c85a2c3f AP_SerialManager: added enum for serial lidar 2015-09-08 16:46:52 +10:00
Andrew Tridgell
7d30ce2e36 AP_RangeFinder: added lightware serial rangefinder 2015-09-08 16:46:52 +10:00
Andrew Tridgell
0ca534bfab AP_NavEKF: only call calcGpsGoodToAlign if we need to
avoid calling it once we have an origin. This avoids some calculations
and string operations
2015-09-08 16:07:33 +10:00
Andrew Tridgell
7e13edd4c7 AP_Arming: use prearm_failure_reason() 2015-09-08 16:07:33 +10:00
Andrew Tridgell
c10ce3ffbd AP_NavEKF: added prearm_failure_reason() 2015-09-08 16:07:33 +10:00
Andrew Tridgell
c18c6d894e AP_AHRS: added prearm_failure_reason() 2015-09-08 15:50:22 +10:00
Andrew Tridgell
d7a7741d15 APM_OBC: added severities to send_statustext_all 2015-09-08 14:29:45 +10:00
Andrew Tridgell
b65739a8cc AP_Arming: added severities to send_statustext_all 2015-09-08 14:29:33 +10:00
Andrew Tridgell
bc4d37c91e GCS_MAVLink: added severity to send_statustext_all() 2015-09-08 14:29:22 +10:00
Andrew Tridgell
c48bef1552 AP_Arming: removed the need for the GCS print function 2015-09-08 13:54:25 +10:00
Andrew Tridgell
f3e8819d1e GCS_MAVLink: make send_statustext_all() take a format string
this allows for formatted messages to all groundstations in libraries
2015-09-08 13:53:58 +10:00
Grant Morphett
bec21a51a4 AP_RangeFinder: Just fixing the parameter name in the description 2015-09-07 17:48:37 +09:00
Leonard Hall
c8872e082d AC_AttControl: rename set_throttle_out parameter
No functional change
2015-09-07 15:10:15 +09:00
Leonard Hall
5ab2a19173 AC_WPNav: loiter limits lean angle for alt loss 2015-09-07 15:10:11 +09:00
Leonard Hall
cf5db31053 AC_PosControl: allow limiting lean angle to avoid alt loss 2015-09-07 15:10:10 +09:00
Leonard Hall
29ff5035b4 AC_AttControl: limit lean angle from throttle 2015-09-07 15:10:09 +09:00
Randy Mackay
1024790633 MotorsMulti: add throttle_max accessor 2015-09-07 15:10:02 +09:00
Leonard Hall
b58cc7ea8d AC_PosControl: move accel constraint to accel_to_lean_angles 2015-09-07 14:51:43 +09:00
Michael Oborne
993904f01c AP_GPS_SBF: add init string and increase union size 2015-09-07 12:11:47 +10:00
Julien BERAUD
a057a8a009 AP_HAL_Linux: Add Support for RCInput_UDP
very simple protocol to receive RC cmds via UDP
Add support for it on the bebop
2015-09-07 12:10:08 +10:00
Grant Morphett
3b1844d5c9 AP_Arming: Moved the plane centric arming code into plane
Needed to move the plane centric arming code out of the AP_Arming
library and into the plane vehicle code.
2015-09-07 11:54:21 +10:00
Gustavo Jose de Sousa
305ec7b08a AP_InertialSensor: MPU6000: publish sample rate
So that vibration and clipping may be calculated.
2015-09-07 11:14:43 +10:00
Gustavo Jose de Sousa
eb480e959c AP_InertialSensor: MPU9250: publish sample rate
That enables the default vibration calculation.
2015-09-07 11:14:42 +10:00
Gustavo Jose de Sousa
a76eb9c15f AP_InertialSensor: MPU9250: use macros for sample rate
Instead of hardcoded values.
2015-09-07 11:14:42 +10:00
Gustavo Jose de Sousa
a0b1337646 AP_InertialSensor: PX4: publish sample rate
By publishing the sample rate, the vibration and clipping are magically
calculated.
2015-09-07 11:14:42 +10:00
Gustavo Jose de Sousa
77a4f10d89 AP_InertialSensor: PX4: don't call calc_vibration_and_clipping()
That calculation will be unified.
2015-09-07 11:14:42 +10:00
Gustavo Jose de Sousa
6aa973dd47 AP_InertialSensor: Backend: calculate vibration and clipping on new raw sample
This is a good way of letting each implementation easily calculate vibration
and clipping: all they need to do is publish their sample rate and they don't
need to worry about the call for calculation.
2015-09-07 11:14:42 +10:00
Gustavo Jose de Sousa
e06627dfcb AP_InertialSensor: Backend: add hook for new raw accel samples
That hook will eventually do necessary things when a new accelerometer raw
sample arrives (like calculating vibration levels).
2015-09-07 11:14:42 +10:00
Gustavo Jose de Sousa
5329e63742 AP_InertialSensor: allow publishing sample rate to frontend
That information will be used for a "centralized" vibration calculation.
2015-09-07 11:14:42 +10:00
Gustavo Jose de Sousa
ac3a677626 AP_InertialSensor: remove param rotate_and_correct from publish functions
Once that parameter is always false.
2015-09-07 11:14:42 +10:00
Gustavo Jose de Sousa
a56c8deaee AP_InertialSensor: Oilpan: apply correction on each new sample
These changes are for enabling unified accelerometer vibration and clipping
calculation. For that, we need the values "rotated and corrected" before they
are filtered and the calculation must be called as soon as a new sample arrives
as it takes the sample rate into account.

Thus, move code that applies "corrections" to be executed as soon as accel data
arrive and call _publish_accel() passing rotate_and_correct parameter as false.
Also, do the same for gyro so we can keep it consistent.
2015-09-07 11:14:42 +10:00
Gustavo Jose de Sousa
fc38691e0b AP_InertialSensor: MPU9250: apply correction on each new sample
These changes are for enabling unified accelerometer vibration and clipping
calculation. For that, we need the values "rotated and corrected" before they
are filtered and the calculation must be called as soon as a new sample arrives
as it takes the sample rate into account.

Thus, move code that applies "corrections" to be executed as soon as accel data
arrive and call _publish_accel() passing rotate_and_correct parameter as false.
Also, do the same for gyro so we can keep it consistent.
2015-09-07 11:14:42 +10:00
Gustavo Jose de Sousa
b844b220c3 AP_InertialSensor: MPU9150: apply correction on each new sample
These changes are for enabling unified accelerometer vibration and clipping
calculation. For that, we need the values "rotated and corrected" before they
are filtered and the calculation must be called as soon as a new sample arrives
as it takes the sample rate into account.

Thus, move code that applies "corrections" to be executed as soon as accel data
arrive and call _publish_accel() passing rotate_and_correct parameter as false.
Also, do the same for gyro so we can keep it consistent.
2015-09-07 11:14:42 +10:00
Gustavo Jose de Sousa
487135afa2 AP_InertialSensor: MPU6000: apply correction on each new sample
These changes are for enabling unified accelerometer vibration and clipping
calculation. For that, we need the values "rotated and corrected" before they
are filtered and the calculation must be called as soon as a new sample arrives
as it takes the sample rate into account.

Thus, move code that applies "corrections" to be executed as soon as accel data
arrive and call _publish_accel() passing rotate_and_correct parameter as false.
Also, do the same for gyro so we can keep it consistent.
2015-09-07 11:14:42 +10:00
Gustavo Jose de Sousa
f946f48dce AP_InertialSensor: LSM9DS0: apply correction on each new sample
These changes are for enabling unified accelerometer vibration and clipping
calculation. For that, we need the values "rotated and corrected" before they
are filtered and the calculation must be called as soon as a new sample arrives
as it takes the sample rate into account.

Thus, move code that applies "corrections" to be executed as soon as accel data
arrive and call _publish_accel() passing rotate_and_correct parameter as false.
Also, do the same for gyro so we can keep it consistent.
2015-09-07 11:14:41 +10:00
Gustavo Jose de Sousa
0963159bb8 AP_InertialSensor: Flymaple: apply correction on each new sample
These changes are for enabling unified accelerometer vibration and clipping
calculation. For that, we need the values "rotated and corrected" before they
are filtered and the calculation must be called as soon as a new sample arrives
as it takes the sample rate into account.

Thus, move code that applies "corrections" to be executed as soon as accel data
arrive and call _publish_accel() passing rotate_and_correct parameter as false.
Also, do the same for gyro so we can keep it consistent.
2015-09-07 11:14:41 +10:00
Gustavo Jose de Sousa
2ea8f1de3f AP_InertialSensor: L3G4200D: apply correction on each new sample
These changes are for enabling unified accelerometer vibration and clipping
calculation. For that, we need the values "rotated and corrected" before they
are filtered and the calculation must be called as soon as a new sample arrives
as it takes the sample rate into account.

Thus, move code that applies "corrections" to be executed as soon as accel data
arrive and call _publish_accel() passing rotate_and_correct parameter as false.
Also, do the same for gyro so we can keep it consistent.
2015-09-07 11:14:41 +10:00
Andrew Tridgell
6991a1b9e9 AP_Compass: ensure we have payload space to send MAG_CAL messages 2015-09-07 08:58:11 +10:00
Andrew Tridgell
2baa0ac2f2 AP_Compass: disable COMPASS_LEARN when mag calibration used 2015-09-07 08:07:17 +10:00
Andrew Tridgell
745a5998f2 AP_Camera: added CAM_RELAY_ON parameter
allows for camera that trigger low
2015-09-07 08:07:17 +10:00
Randy Mackay
fa0aa6f5c9 Mount: remove support for do-mount-configure as command long
Also fix bug in do-mount-control so that do-mount-control can switch mount into retract mode

Also removes ability to set which axis are stabilized through
ardupilotmega mount_configure message
2015-09-06 16:01:18 +09:00
squilter
cc58ec917c Mount: add support for do_mount_control via command_long 2015-09-06 16:01:12 +09:00
Andrew Tridgell
079161ef3a AP_Compass: fixed raw_field init in AK8963 driver
thanks to Peter for spotting this
2015-09-03 21:27:22 +10:00
Andrew Tridgell
5710697847 DataFlash: fixed some build warnings 2015-09-03 20:25:14 +10:00
Michael Oborne
cce46cf0c5 AP_GPS_SBF: add support for Septentrio gps 2015-09-03 19:43:31 +10:00
Michael Oborne
52577e4105 DataFlash: add sbf event message 2015-09-03 19:43:31 +10:00
Michael Oborne
b861233677 AP_HAL_SITL: add file based gps 2015-09-03 19:43:31 +10:00
Lucas De Marchi
0000ff45cb AP_HAL_Linux: RCOutput_PCA9685: remove trailing whitespace 2015-09-03 18:43:21 +10:00
Lucas De Marchi
18321a77c4 AP_HAL_Linux: rename RCOutput_Navio to RCOutput_PCA9685
The RCOutput_Navio is now generic enough to be used by other boards.
Rename it to use the name of the chip, PCA9685.
2015-09-03 18:43:21 +10:00
Lucas De Marchi
e1f0284df2 AP_HAL_Linux: PCA9685: build on all Linux boards 2015-09-03 18:43:21 +10:00
Fabio Mello
c0caed1b64 AP_HAL_Linux: RCOutput_Navio: allow to use internal clock
It's possible to use the internal clock in PCA96895 if we account for
the drift it contains. This is a bit different from solutions in other
projects like the Adafruit library and the PX4 firmware: instead of
applying a correction to the final frequency we apply the correction to
the clock since this is the source of the error.

With this fix we arrived to much better results across different lots of
sensors.

The Navio board continues to use the external clock and should have no
difference behavior.
2015-09-03 18:43:21 +10:00
Lucas De Marchi
6c042b6666 AP_HAL_Linux: RCOutput_Navio: allow to have other offset 2015-09-03 18:43:21 +10:00
Lucas De Marchi
3beaf34aa1 AP_HAL_Linux: RCOutput_Navio: allow to have other OE pin
While at it also rename enable_pin to follow the convention of starting
with underscore for private members.
2015-09-03 18:43:21 +10:00
Andrew Tridgell
e4b2fc711d AP_Compass: added message for compass cal when armed 2015-09-03 16:59:22 +10:00
Andrew Tridgell
f4cdf57d8f AP_Compass: added handling of compass calibration mavlink messages 2015-09-03 16:59:14 +10:00
Siddharth Bharat Purohit
1ffbffa0e7 AP_Math: check if failed to allocate memory 2015-09-03 16:59:14 +10:00
Siddharth Bharat Purohit
75829f5533 AP_Compass: remove extra compass field correction 2015-09-03 16:59:14 +10:00
Siddharth Bharat Purohit
3abdf85796 AP_Compass_Calibrator: remove unrequired variables 2015-09-03 16:59:14 +10:00
Siddharth Bharat Purohit
c126017035 AP_Compass: reduce to if healthy check from if-else 2015-09-03 16:59:14 +10:00
Siddharth Bharat Purohit
2fb002798c generate.sh 2015-09-03 16:59:14 +10:00
Siddharth Bharat Purohit
63973bff31 AP_Compass_AK8963: move variable declarations before goto 2015-09-03 16:59:14 +10:00
Siddharth Bharat Purohit
3fc47b33e8 message_definition: add autoreboot option for mag cal 2015-09-03 16:59:14 +10:00
Siddharth Bharat Purohit
6a603eb594 Compass_cal: implement the concept of auto and mandatory user reboot after cal 2015-09-03 16:59:13 +10:00
Gustavo Jose de Sousa
46774136a6 AP_Compass: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-09-03 16:59:13 +10:00
Siddharth Bharat Purohit
cdd8bae6ac AP_Compass: publish raw and unfiltered field for HMC5843 compass 2015-09-03 16:59:13 +10:00
Siddharth Bharat Purohit
8cdc9748b3 AP_Compass: publish raw and unfiltered field for AK8963 compass 2015-09-03 16:59:13 +10:00
Siddharth Bharat Purohit
f085e274c7 AP_Compass: add explaination for sample acceptance based on angular distance 2015-09-03 16:59:13 +10:00
Jonathan Challinger
f108383c11 AP_Compass: initialize CompassCalibrator _sample_buffer to NULL 2015-09-03 16:59:13 +10:00
Jonathan Challinger
358736a592 AP_Compass: correct calibrator sample acceptance math 2015-09-03 16:59:13 +10:00
Jonathan Challinger
bff9b9065e AP_Compass: CompassCalibrator comment update 2015-09-03 16:59:13 +10:00
Jonathan Challinger
1c100498d4 AP_Math: use is_zero instead of defining our own epsilon 2015-09-03 16:59:13 +10:00
Siddharth Bharat Purohit
137bd25220 AP_Compass: add info about compass calibrator procedure 2015-09-03 16:59:12 +10:00
Siddharth Bharat Purohit
f5fbc2fac1 AP_Compass: use AP_Math inverse library 2015-09-03 16:59:12 +10:00
Siddharth Bharat Purohit
b654b1c21b AP_Math: add inverse matrix to math library 2015-09-03 16:59:12 +10:00
Jonathan Challinger
0edf1df28e AP_Compass: loosen calibration acceptance tolerance 2015-09-03 16:59:12 +10:00
Jonathan Challinger
987f55387e AP_Compass: style cleanup 2015-09-03 16:59:12 +10:00
Jonathan Challinger
5ef713f3db AP_Compass: set AP_Notify::compass_cal_failed 2015-09-03 16:59:12 +10:00
Jonathan Challinger
5a12991d29 CompassCalibrator: remove dependence on AP_Notify 2015-09-03 16:59:12 +10:00
Jonathan Challinger
de600ca3da AP_Compass: configured() only checks compasses with _USE set 2015-09-03 16:59:12 +10:00
Jonathan Challinger
53fe649016 GCS_MAVLink: add MSG_MAG_CAL_PROGRESS and _REPORT 2015-09-03 16:59:11 +10:00
Jonathan Challinger
72c8d0f530 AP_Compass: add samples to calibrator when published 2015-09-03 16:59:11 +10:00
Jonathan Challinger
cc36401b7c AP_Compass: add calibration interface 2015-09-03 16:59:11 +10:00
Jonathan Challinger
28ee63c855 AP_Notify: add events.compass_cal_canceled 2015-09-03 16:59:11 +10:00
Jonathan Challinger
adef826a42 AP_Notify: play tones for compass cal 2015-09-03 16:59:11 +10:00
Jonathan Challinger
89007c13cb AP_Notify: add compass_cal flags 2015-09-03 16:59:11 +10:00
Jonathan Challinger
05d3616e0d AP_Compass: fix sitl build 2015-09-03 16:59:11 +10:00
Jonathan Challinger
7cb9fa8898 AP_Compass: Correct parameter checks in compass cal 2015-09-03 16:59:11 +10:00
Jonathan Challinger
6d45660568 AP_Compass: refactor run_fit_chunk logic 2015-09-03 16:59:11 +10:00
Jonathan Challinger
f2acf2cb88 AP_Compass: more parameter checks in compass calibrator 2015-09-03 16:59:11 +10:00
Jonathan Challinger
929ddb5685 AP_Compass: fix a math error in the compass calibrator 2015-09-03 16:59:10 +10:00
Jonathan Challinger
328cf82c3d CompassCalibrator: update AP_Notify on failure 2015-09-03 16:59:10 +10:00
Jonathan Challinger
bfdbb55528 AP_Compass: make compasscalibrator running() public 2015-09-03 16:59:10 +10:00
Jonathan Challinger
d31d385490 AP_Compass: changes and fixes to LMA-based compass calibrate 2015-09-03 16:59:10 +10:00
bugobliterator
c66bfc95e1 Compass: Add Levenberg-Marquadt for ellipsoid fit 2015-09-03 16:59:10 +10:00
bugobliterator
7711dde2ad Compass: implement 9 parameter ellipsoid fit 2015-09-03 16:59:10 +10:00
bugobliterator
35555c7b21 Compass: Add math for 9 parameter fitting 2015-09-03 16:59:10 +10:00
bugobliterator
7295537e8a Compass: decrease sphere coverage to 1/3rd
for faster sample collection
2015-09-03 16:59:10 +10:00
bugobliterator
a2bd4e8997 Compass: Add less complex equations to calculate jacobians 2015-09-03 16:59:10 +10:00