Commit Graph

10438 Commits

Author SHA1 Message Date
Tom Pittenger
4bc30f6479 AP_SpdHgtControl: add new flight stage LAND_PREFLARE and reorder them all 2016-02-09 14:18:02 +11:00
Tom Pittenger
f20841f491 SITL: add reverse thrust to Plane Sim 2016-02-09 14:18:01 +11:00
Tom Pittenger
1f714ed75d SITL: handle negative throttle
- negative throttle was causing negative offsets
2016-02-09 14:18:01 +11:00
Tom Pittenger
f695f37ca3 AP_HAL_SITL: handle negative throttle
- negative throttle was causing negative voltage offsets
2016-02-09 14:18:01 +11:00
Lucas De Marchi
b55294920b AP_Compass: AK8963: remove logging on fail to get semaphore
This is the only driver doing this, using the system_initializing() from
scheduler to log selectively. Remove the check together with removal of
unused wrapper methods to semaphore.
2016-02-08 13:28:32 -02:00
Lucas De Marchi
27999b339d AP_HAL_Linux: Scheduler: include cleanups
While at it also remove some wrong whitespaces.
2016-02-08 13:28:31 -02:00
Randy Mackay
adfa03ce69 PID: add parameter descriptions
These actually aren't referred to from anywhere but it makes this class more consistent with other PID classes
2016-02-08 20:42:35 +09:00
mirkix
d1babdb0fb AP_OpticalFlow: Enable optical flow onboard for BBBMINI 2016-02-08 08:52:10 -02:00
mirkix
5b8de06beb AP_HAL_Linux: Enable optical flow onboard for BBBMINI 2016-02-08 08:52:10 -02:00
mirkix
f777a25de8 AP_HAL: Enable optical flow onboard for BBBMINI 2016-02-08 08:52:10 -02:00
Andrew Tridgell
d820eeaec6 SITL: use AP_Motors conventions for multicopters
this makes it easier to add a simulated vehicle to match a
MotorsMatrix frame type
2016-02-08 10:58:56 +11:00
Andrew Tridgell
5efe98a814 SITL: allow quadplane simulator to simulate other frame types 2016-02-08 09:17:22 +11:00
Daniel Frenzel
b01406e671 AP_Limits: Remove unused module 2016-02-04 09:43:29 +09:00
Lucas De Marchi
2296139516 AP_HAL_Linux: remove unused constant 2016-02-01 14:18:51 -02:00
Lucas De Marchi
5ba20b1763 AP_Notify: sanitize includes
Due to the way the headers are organized changing a single change in
an AP_Notify driver would trigger a rebuild for most of the files in
the project. Time could be saved by using ccache (since most of the
things didn't change) but we can do better, i.e. re-organize the headers
so we don't have to re-build everything.
2016-02-01 14:18:51 -02:00
Lucas De Marchi
0e09975fa6 AP_HAL_SITL: fix typo 2016-02-01 14:18:51 -02:00
Lucas De Marchi
21b2d5d34c AP_HAL_Linux: AnalogIn_Raspilot: rename classes to follow other names 2016-02-01 14:18:51 -02:00
Lucas De Marchi
87e7704b1c AP_HAL_Linux: ADS1115: rename classes to follow other names
While at it, remove some dead/commented-out code.
2016-02-01 14:18:51 -02:00
Lucas De Marchi
4562c0cffc AP_ADC: ADS1115: coding style fixes
- Clean trailing whitespaces
  - Fix switch
  - Use pragma once
2016-02-01 14:18:51 -02:00
Lucas De Marchi
c1d19fa4dc AP_InertialSensor: LSM9DS0: sanitize whitespaces 2016-02-01 14:18:51 -02:00
Lucas De Marchi
9c6bd38e91 AP_InertialSensor: sanitize includes
Due to the way the headers are organized changing a single change in an
inertial sensor driver would trigger a rebuild for most of the files in
the project. Time could be saved by using ccache (since most of the
things didn't change) but we can do better, i.e. re-organize the headers
so we don't have to re-build everything.

With this patch only AP_InertialSensor/AP_InertialSensor.h is exposed to
most users. There are some corner cases to integrate with some example
code, but most of the places now depend only on this header and this
header doesn't depend on the specific backends.

Now changing a single header, e.g. AP_InertialSensor_L3G4200D.h triggers
a rebuild only of these files:

	$ waf copter
	'copter' finished successfully (0.000s)
	Waf: Entering directory `/home/lucas/p/dronecode/ardupilot/build/minlure'
	[ 80/370] Compiling libraries/AP_InertialSensor/AP_InertialSensor.cpp
	[ 84/370] Compiling libraries/AP_InertialSensor/AP_InertialSensor_L3G4200D.cpp
	[310/370] Linking build/minlure/ArduCopter/libArduCopter_libs.a
	[370/370] Linking build/minlure/bin/arducopter
	Waf: Leaving directory `/home/lucas/p/dronecode/ardupilot/build/minlure'
2016-02-01 14:18:51 -02:00
Lucas De Marchi
1ca03006ad AP_InertialSensor: MPU9150: remove driver
This is not used by any board and has a lot of commented out code. For
example, the compass is not enabled.  The comment in the beginning of
the driver says it should serve as an example, but we should rather use
a working driver as an example. If this was at least a bit simpler and
that worked in the past we could refactor it to the new I2CDevice API.
This is not the case.
2016-02-01 14:18:51 -02:00
Lucas De Marchi
22f2a2ee09 AP_InertialSensor: L3G4200D: fix coding style
- remove trailing and leading whitespaces
  - remove unecessary void from functions taking no parameters
2016-02-01 14:18:51 -02:00
Lucas De Marchi
637b53f4ce AP_InertialSensor: L3G4200D: sanitize includes 2016-02-01 14:18:51 -02:00
Lucas De Marchi
5088dca072 AP_InertialSensor: MPU60x0: coding style fixes 2016-02-01 14:18:51 -02:00
Lucas De Marchi
ed653f8dbb AP_InertialSensor: MPU60x0: add comment about 8G/16G 2016-02-01 14:18:51 -02:00
Lucas De Marchi
56e4de0bdd AP_Baro: MS56XX: remove initialization to 0 from constructor 2016-02-01 14:18:50 -02:00
Lucas De Marchi
5bb2716081 AP_HAL_Linux: add name to SPI device table
A string name allows to more easily expand the table: the board is
responsible for the name and doesn't have to declare it as a enum or
define. It's also easier to add 2 sensors of the same type.
2016-02-01 14:18:50 -02:00
Lucas De Marchi
9d5fb97819 Global: rename enum SPIDevice to SPIDeviceType
Free the SPIDevice name so to have a consistent name for I2C/SPI device
classes.
2016-02-01 14:18:50 -02:00
Paul Riseborough
8630874ef3 AP_NavEKF2: Send correct data over mavlink status message 2016-02-01 10:02:22 +09:00
Paul Riseborough
1950008248 AP_NavEKF: Send correct data over mavlink status message 2016-02-01 10:02:20 +09:00
Peter Barker
f21774d3e8 AP_Vehicle: define vehicle type APM_BUILD_Replay 2016-01-30 12:52:51 -02:00
Peter Barker
f0c165f0e4 AP_HAL: ensure CONFIG_MAIN_WITHOUT_ARGC_ARGV is always defined 2016-01-30 12:48:51 -02:00
Peter Barker
ede7ffedfc AP_GPS: correct #if from UBLOX_DEBUG to UBLOX_DEBUGGING 2016-01-30 12:48:39 -02:00
Peter Barker
afafcbc4f3 AP_BattMonitor: correct names of #defines 2016-01-30 12:48:19 -02:00
Peter Barker
09525e8568 AP_Mount: remove redundant include dependant on bad #define 2016-01-30 12:48:05 -02:00
Peter Barker
4548466701 DataFlash: correct use of #defines
HIL_BOARD_AVR_SITL was renamed
Move use of define to after include where it is defined
2016-01-30 12:46:25 -02:00
Andrew Tridgell
e62d6711c3 SITL: added very simple tiltrotor simulation
uses channel 9 to control tilt of rotors
2016-01-30 09:45:43 +11:00
Tom Pittenger
eeb77c3413 AP_TECS: updated TECS_LAND_SPDWGT param description 2016-01-30 07:31:10 +11:00
Andrew Tridgell
6f59c4ae53 DataFlash: added GPSAlt to CAM and TRIG log messages
useful for people with RTK GPS
2016-01-29 10:01:51 +11:00
Andrew Tridgell
dc998a2eaf AP_Camera: make AP_Camera::control() return bool for picture trigger
this allows a picture to be logged if it is requested
2016-01-29 09:31:40 +11:00
Andrew Tridgell
2099f40d89 AP_Camera: added CAM_FEEDBACK_POL option
allows selection of trigger polarity
2016-01-29 09:19:44 +11:00
Andrew Tridgell
0be28999ea AP_Camera: updated docs for timing of trigger pin 2016-01-29 09:19:44 +11:00
Andrew Tridgell
061ee5e4fd AP_Camera: use timer for faster camera trigger pin detection 2016-01-29 09:19:43 +11:00
Jaime Machuca
1001e53140 DataFlash: added TRIGGER message to Logs
DataFlash.h: added support for Trigger MSG, supressed TAB separations
and file reorganized LogFile.cpp: included Trigger packet
2016-01-29 09:19:43 +11:00
Dario Lindo Andres
2f3510023d AP_Camera: Support for camera feedback signal
Added _feedback_pin;
Added _camera_triggered;
Included FEEDBACK_PIN parameter and his default definition
2016-01-29 09:19:43 +11:00
mirkix
b5cb48ba6d AP_BattMonitor: Add BBBMINI defaults 2016-01-28 13:44:44 -02:00
mirkix
c622ff1539 AP_HAL_Linux: Enable AnalogIN_IIO for BBBMINI 2016-01-28 13:44:43 -02:00
mirkix
fe404c8a5d AP_HAL_Linux: AnalogIIO: Remove unused code, add scaling for BBBMINI, rework 2016-01-28 13:44:43 -02:00
Jonathan Challinger
9a09a86bb8 AP_Motors: add AP_MOTORS_DENSITY_COMP_DISABLED option 2016-01-27 09:18:09 +09:00
Andrew Tridgell
68cf1b6956 HAL_QURT: automatically find broadcast address for UDP network 2016-01-25 19:43:55 +11:00
Jonathan Challinger
ac3b5a4400 GCS_MAVLink: add messages to routing switch statement 2016-01-23 10:35:44 +09:00
Jonathan Challinger
5b834330cb AP_Mount: merge SoloGimbal from solo master 2016-01-23 10:35:40 +09:00
Jonathan Challinger
eabede692e AP_SmallEKF: move to AP_Mount/SoloGimbalEKF and merge solo version 2016-01-23 10:35:38 +09:00
Jonathan Challinger
02d8b28fa3 DataFlash: add GMB1, GMB2, GMB3 2016-01-23 10:35:37 +09:00
Jonathan Challinger
cbf2309023 AP_AHRS: add get_mag_field_NED and get_mag_field_correction 2016-01-23 10:35:36 +09:00
Jonathan Challinger
4c2e6af6ee AP_InertialSensor: statically register with AP_AccelCal 2016-01-23 10:35:34 +09:00
Jonathan Challinger
49ad2d26c6 AP_AccelCal: make client list static 2016-01-23 10:35:33 +09:00
Randy Mackay
081beacb8d AP_InertialSensor: replace sqrt with safe_sqrt to resolve compiler warning
Also add suppressing comment for missing break at end of switch
2016-01-23 10:10:17 +09:00
Gustavo Jose de Sousa
c2e3f05dbf waf: ardupilotwaf: prefix build context methods with ap_
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
a2d2661765 waf: use methods from bld instead of ardupilotwaf for the remaining 2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
3d22490397 waf: examples: use methods from bld instead of ardupilotwaf 2016-01-22 20:10:29 -02:00
mirkix
2d9b230be1 AP_RangeFinder: Load .data section for HC-SR04 PRU driver used by BBBMINI
This adds .data section loading to the HC-SR04 range finder driver used by
BBBMINI. The firmware is running inside a PRU. It is necessary to develop more
complex driver software inside the PRU.
2016-01-21 14:02:41 -02:00
Andrew Tridgell
5da6082d78 GCS_MAVLink: raise the waypoint receive timeout to 8s
this fixes a timeout in autotest
2016-01-20 17:23:36 +11:00
Andrew Tridgell
6baae735de SITL: updated fixed wing model based on last_letter skywalker_2013
many thanks to Georacer for this code!
2016-01-20 17:23:36 +11:00
Andrew Tridgell
bc5210d6f2 AP_Arming: don't reporting IMU inconsistencies if IMU not enabled 2016-01-19 18:05:08 +11:00
Andrew Tridgell
24d8610013 AP_InertialSensor: use SIM_GYR_SCALE in SITL 2016-01-19 15:29:08 +11:00
Andrew Tridgell
a828db792e SITL: added SIM_GYR_SCALE_{X,Y,Z}
allows testing of gyro scale factor learning in EKF2
2016-01-19 15:28:53 +11:00
mirkix
86e335b6b6 AP_HAL_Linux: Prevent buffer overflow 2016-01-19 00:14:48 -02:00
Víctor Mayoral Vilches
5d28fbfa1b Compass: Erle-Brain 2 and PXFmini fix 2016-01-18 23:59:25 -02:00
Andrew Tridgell
640332113c AP_L1_Control: calculate dt for crosstracking 2016-01-19 11:05:56 +11:00
Andrew Tridgell
4f9927beda AP_TECS: added set_pitch_max_limit() API 2016-01-19 11:05:56 +11:00
Andrew Tridgell
acb4885989 AP_NavEKF2: use get_delta_angle_dt() API 2016-01-19 09:50:22 +11:00
Andrew Tridgell
ee453783eb AP_InertialSensor: added get_delta_angle_dt() API 2016-01-19 09:50:21 +11:00
Lucas De Marchi
2d3a62eae3 AP_HAL_Linux: RCInput_RPI: revert PWM support
This reverts support for RCInput via PWM. This is causing trouble in
some RPI-based boards, receiving a SIGSEGV. Let's revert it for now and
retry this later.

This reverts commit 5629f38b2c.
This reverts commit 51fd0b3d55.
This reverts commit 79d56073f7.
2016-01-18 20:07:42 -02:00
Lucas De Marchi
c8947c3e9c AP_HAL_Linux: RCInput_RPI: provide signal information
Otherwise it's difficult to know what signal is causing the program to
exit.
2016-01-18 19:20:44 -02:00
Lucas De Marchi
5629f38b2c AP_HAL_Linux: RCInput_RPI: fix use of uninitiliazed value
../../libraries/AP_HAL_Linux/RCInput_RPI.cpp: In member function ‘virtual void Linux::RCInput_RPI::_timer_tick()’:
../../libraries/AP_HAL_Linux/RCInput_RPI.cpp:489:127: warning: ‘x’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     counter = circle_buffer->bytes_available(curr_pointer, circle_buffer->get_offset(circle_buffer->_virt_pages, (uintptr_t)x));
                                                                                                                               ^
2016-01-18 19:19:36 -02:00
Julien BERAUD
45d668df47 AP_Compass_AK8963: support for timesliced timers
fallback in case the current scheduler doesn't support it
2016-01-18 16:57:48 -02:00
Julien BERAUD
d15097f3fc AP_Baro_MS5611: Support for timesliced timers
fallback if current scheduler doesn't support it
2016-01-18 16:57:48 -02:00
Julien BERAUD
4acc121bd6 AP_HAL_Linux: support for timesliced timers
In order for lower frequency timers not to be called at the same iteration
of the main timer loop. This improves scheduling.
2016-01-18 16:57:48 -02:00
Julien BERAUD
d5c4917bcd AP_HAL: add default support for timesliced timers
To keep compatibility
2016-01-18 16:57:48 -02:00
Don Gagne
c13cf70163 GCS_MAVLink: system id output as severity INFO 2016-01-18 09:40:00 +09:00
Gustavo Jose de Sousa
d281067bcc waf: make example binaries be placed in 'examples' dir
This commit makes examples' wscripts use ardupilotwaf.example() instead of
ardupilot.program().
2016-01-15 16:46:41 -02:00
Ricardo de Almeida Gonzaga
4c60dd5e44 AP_HAL_Linux: improve yuyv_to_grey() performance
Based on gbenchmark metrics.

Before:
Benchmark             Time(ns)    CPU(ns) Iterations
----------------------------------------------------
BM_YuyvToGrey/4k          3109       3114     233334
BM_YuyvToGrey/75k        55777      55857      12353
BM_YuyvToGrey/300k      231829     232227       3043

After:
Benchmark             Time(ns)    CPU(ns) Iterations
----------------------------------------------------
BM_YuyvToGrey/4k          1713       1716     411765
BM_YuyvToGrey/75k        32124      32152      21875
BM_YuyvToGrey/300k      128530     128753       5385
2016-01-15 16:43:52 -02:00
Ricardo de Almeida Gonzaga
3748760ead AP_HAL_Linux: improve crop_8bpp() performance
Based on gbenchmark metrics.

Before:
Benchmark             Time(ns)    CPU(ns) Iterations
----------------------------------------------------
BM_Crop8bpp/64/64         3206       3197     198113
BM_Crop8bpp/240/240      38166      38181      18421
BM_Crop8bpp/640/480     193589     193317       3621

After:
Benchmark             Time(ns)    CPU(ns) Iterations
----------------------------------------------------
BM_Crop8bpp/64/64         2652       2657     232103
BM_Crop8bpp/240/240      33532      33506      20792
BM_Crop8bpp/640/480     187848     188201       3684
2016-01-15 16:43:52 -02:00
Ricardo de Almeida Gonzaga
210c90e784 AP_HAL_Linux: add benchmark for crop_8bpp() and yuyv_to_grey()
We had to check for board subtypes in the benchmark since VideoIn.cpp
does these checks.
2016-01-15 16:43:52 -02:00
Julien BERAUD
43307d95c8 OpticalFlow_Onboard: fix body rate calculation
The correct integral of the body rate is (rate + last_rate)/2*dt
and not rate * dt
2016-01-15 16:11:19 -02:00
Ricardo de Almeida Gonzaga
753f7d864a AP_HAL_Linux: add a shrink by software option in OpticalFlow
This shrink must be used when the output camera sizes doesn't fit
the expected output.

We don't need to crop it even when the camera sizes aren't squared since
the shrink_8bpp() function shrinks a selected area.
2016-01-15 16:05:47 -02:00
Ricardo de Almeida Gonzaga
553d36c860 AP_HAL_Linux: add shrink_8bpp() to VideoIn
This function shrinks a selected area on a 8bpp image.

The focus in this function was the performance, so this may not be the
clearer or the most understandable way to write it. The performance
was measured using GoogleBenchmark[1].

[1] - https://github.com/google/benchmark.git
2016-01-15 16:05:47 -02:00
Lucas De Marchi
51fd0b3d55 AP_HAL_Linux: RCInput_RPI: fix coding style
- Remove trailing whitespaces
 - Remove some uneeded comments
 - Fix indentation
 - Replace some breaks inside the loop by checking in the loop itself
2016-01-15 00:16:14 -02:00
Aaron Wang Shi
79d56073f7 AP_HAL_Linux: support PWM input for BH hat 2016-01-15 00:16:14 -02:00
Julien BERAUD
f449107563 AP_HAL_Linux: Add Perf Lttng
Support for perf api using lttng.
Some additional build tricks needed for bebop because lttng uses dl_open
which is not compatible with a static link on a different libc as used
on the bebop
2016-01-14 19:13:35 -02:00
bugobliterator
d7fcc7cd85 GCS_MAVLink: remove obsolete files from GCS_MAVLink dir 2016-01-15 07:28:47 +11:00
Paul Riseborough
287ebe8e6a AP_NavEKF2: Fix bug in application of sensor bias corrections
Sensor bias corrections were being applied to the incoming IMU data using the wrong delta time.
This was what was driving the different tuning between plane and copter for gyro bias process noise so the same gyro bias process noise default tuning value can now be used for all platform types.
Sensor bias corrections were being applied a a second time to the output observer inertial data.
2016-01-13 08:05:39 +11:00
Paul Riseborough
20923da23a AP_NavEKF2: Allow tuning of non-GPS mode
Eliminate the use of horizontal position states during non-aiding operation to make it easier to tune.
Explicitly set the horizontal position associated Kalman gains to zero and the coresponding covariance entries to zero after avery fusion operation.
Make the horizontal velocity observation noise used during non-aiding operation adjustable.
Use a fixed value of velocity noise during initial alignment so that the flight peformance can be tuned without affecting the initial alignment.
2016-01-13 08:05:39 +11:00
Paul Riseborough
23038e7243 AP_NavEKF2: Use measurement uncertainties to initialise covariance 2016-01-13 08:05:39 +11:00
Lucas De Marchi
a3cac102cd AP_HAL_Linux: AnalogIn_Raspilot: rename misleading variables
We are not doing any dma here, it's just an SPI transaction. Name them
only rx/tx (although io_packet_tx/io_packet_rx could be another option).
This also zero-initialize the struct to keep valgrind happy about not
calling ioctl() with uninitialized variables.
2016-01-11 16:03:28 -02:00
Lucas De Marchi
0cff40ed7b AP_HAL_Linux: AnalogIn_Raspilot: remove unused debug 2016-01-11 15:58:49 -02:00
Pritam Ghanghas
60636c1653 AP_HAL_Linux: rename RaspilotAnalogIn.cpp to AnalogIn_Raspilot.cpp 2016-01-11 15:56:20 -02:00
Lucas De Marchi
1fde473afc AP_HAL_Linux: AnalogIn_IIO: normalize names
Use same name for file and classes, preferring AnalogIn_IIO over
IIOAnalogIn.
2016-01-11 15:44:24 -02:00