Commit Graph

9072 Commits

Author SHA1 Message Date
Lucas De Marchi
f1e53a9bdd AP_HAL_AVR: remove unused write method 2015-09-29 11:53:40 +09:00
Lucas De Marchi
666dc3e440 AP_HAL: RCOutput: remove unused write method
This method is not used anymore since the introduction of channel map and
allowing motors to be enabled/disabled in AP_Motors.

Later we may introduce a method to write multiple values with a default
implementation that supports the channel and enable maps rather than
requiring all subclasses to implement this method.
2015-09-29 11:53:38 +09:00
Lucas De Marchi
a5cc0be531 AP_HAL_FLYMAPLE: remove the only user of multiwrite
This is the only place where this variant of RCOutput::write() is
called. Remove it so to use the common interface. It can be added back
later when there's support for asynchronous write.
2015-09-29 11:53:36 +09:00
Andrew Tridgell
b9aad88d17 SITL: moved ignition to channel 6 2015-09-29 10:59:41 +10:00
Andrew Tridgell
232fc8a64d AP_AHRS: added send_ekf_status_report() 2015-09-29 10:58:54 +10:00
Lucas De Marchi
7ba6f92eb5 AP_Common: give some type safety to ARRAY_SIZE macro
Now that most places in the code use the ARRAY_SIZE macro instead of
coding it by hand, let's use some type safety in its definition. This is
a C++ version of similar macros used in kmod, Linux kernel and the
source of them, ccan.

A C++ version like this is used in V8 (the JS engine) and other open
source projects.

The main benefit of this version is that you get a compile error if you
pass in a variable that's not an array. For example,

     Bla y[10];
     Bla *y_ptr = y;

     void foo(Bla x[])
     {
         // build error since x[] decay to a pointer in function
         // parameter
         for (int i = 0; i < ARRAY_SIZE(x); i++) {
             ...
         }

         // build error since y_ptr is not an array
	 for (int i = 0; i < ARRAY_SIZE(y_ptr); i++) {
             ...
	 }
     }

I added the additional specialization to allow arrays of size 0.
2015-09-28 18:20:14 +10:00
stew@lovinggibbard.com
9ed6e6afa4 Copy paste errors and naming issues in documentation help. 2015-09-28 18:17:07 +10:00
Andrew Tridgell
e0810c2e54 AP_RSSI: fixed doc prefixes for RSSI variables 2015-09-25 22:00:22 +10:00
Paul Riseborough
53e58f1075 AP_NavEKF2: Update default parameters
Updates from preliminary tuning in Replay
2015-09-25 19:22:56 +10:00
Paul Riseborough
73686dfa89 DataFlash: fix error in NKF descriptor 2015-09-25 19:20:52 +10:00
Paul Riseborough
2fb72b6e6a AP_NavEKF2: Clean up loss of GPS logic 2015-09-25 19:20:52 +10:00
Paul Riseborough
df0eb9d9d7 AP_NavEKF2: Don't run GPS checks when not required 2015-09-25 19:20:52 +10:00
Paul Riseborough
1986af021f AP_NavEKF2: Remove un-used flight mode and duplicate variable 2015-09-25 19:20:52 +10:00
Paul Riseborough
7230472516 AP_NavEKF2: Adjust parameter defaults 2015-09-25 19:20:52 +10:00
Paul Riseborough
8bcedb228b AP_NavEKF2: Bring pre-flight GPS checks up to date with EKF1 2015-09-25 19:20:52 +10:00
Andrew Tridgell
f22a1d3e6d AP_Motors: display message in heli parameter_check() 2015-09-25 12:30:34 +10:00
Andrew Tridgell
9da2b2b430 AP_Motors: added H_GYR_GAIN_ACRO 2015-09-25 12:30:33 +10:00
Andrew Tridgell
ac363c5447 AP_RPM: added RPM_MAX parameter
attempt to avoid noise in the pulses
2015-09-25 12:05:43 +10:00
Andrew Tridgell
e3f7b002c2 AC_AttitudeControl: use non-flybar leaky I handling
The standard leaky-I handling works fine on a flybar, so better not to
have a special case that isn't needed
2015-09-25 12:05:43 +10:00
Randy Mackay
9f59b6f7b5 AP_AHRS: getLastYawResetAngle returns reset time 2015-09-24 16:57:41 +09:00
Randy Mackay
015f700bc0 AP_NavEKF2: getLastYawResetAngle returns last reset time 2015-09-24 16:57:38 +09:00
Randy Mackay
b5c49e0792 AP_NavEKF: minor comment fix
No functional change
2015-09-24 16:57:36 +09:00
Jonathan Challinger
51fb13a329 AP_NavEKF: fix getLastYawResetAngle to return yaw reset system time 2015-09-24 16:57:33 +09:00
Andrew Tridgell
06c0ad987e AP_AHRS: fixed divide by zero in SITL
fixes issue#2875
2015-09-24 16:49:22 +10:00
Lucas De Marchi
fc2a1d27b4 AP_HAL_Linux: fix build for raspilot after Util change
Make sure raspilot also builds after making the Util class common for
RPI-based boards.
2015-09-24 15:31:32 +10:00
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