Commit Graph

20350 Commits

Author SHA1 Message Date
Siddharth Bharat Purohit 11b82474de waf: generate mavlink headers for waf build 2016-01-15 07:28:47 +11:00
Siddharth Bharat Purohit dd65495668 mk: generate mavlink headers using mavlink module files 2016-01-15 07:28:47 +11:00
Siddharth Bharat Purohit 9a534da18c modules: add mavlink submodule 2016-01-15 07:28:47 +11:00
Randy Mackay d989cf29e2 Copter: cancelling no-gps-land switches to AltHold
Previously it could switch to Loiter
2016-01-14 15:22:02 +09:00
Randy Mackay dc2ec5db18 Copter: add Bitmask param description for PILOT_THR_BHV 2016-01-14 15:21:59 +09:00
Randy Mackay 2c5f9422d4 Copter: log event if pilot cancels land
Also add definition for throttle value that cancels land
2016-01-14 15:21:57 +09:00
Jonathan Challinger 8965185587 Copter: add "high throttle cancels landing" option 2016-01-14 15:21:54 +09:00
Randy Mackay 9e0cd7a5cf Copter: allow arming in Drift and Sport modes 2016-01-14 10:13:45 +09:00
Derek Ma 3751dbef91 ArduCopter: include precision landing sensor in mavlink system status
Set MAV_SYS_STATUS_SENSOR_VISION_POSITION bit in onboard_control_sensors_present, onboard_control_sensors_enabled and onboard_control_sensors_health based on the status of precision landing sensor.
2016-01-14 09:36:24 +09:00
Julien BERAUD 25de3c74c5 README: add github for Julien BERAUD 2016-01-13 19:18:37 -02:00
Julien BERAUD b8aef20ee8 Frame_Params: Fix bebop compass orient
Without COMPASS_EXTERNAL set to 1, COMPASS_ORIENT wasn't taken
into account, leading to bad data
2016-01-13 19:17:27 -02: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
khancyr 360d9fafb6 waf: force linking of phtread with gbenchmark
There is an issue with gbenchmark and waf on Ubuntu (15.04 and 15.10, ). Waf doesn't link pthread to gbenchmark and linking failed : 

````
[1652/1652] Linking build/linux/libraries/AP_Math/benchmarks/benchmark_matrix.linux
/home/khancyr/Workspace/APM/ardupilot/build/linux/gbenchmark/lib/libbenchmark.a(benchmark.cc.o): dans la fonction « benchmark::RunSpecifiedBenchmarks(benchmark::BenchmarkReporter*) »:
benchmark.cc:(.text+0x2e21): référence indéfinie vers « pthread_create »
/usr/bin/ld generated: référence indéfinie vers « pthread_create »
collect2: error: ld returned 1 exit status

Waf: Leaving directory `/home/khancyr/Workspace/APM/ardupilot/build/linux'
Build failed
 -> task in 'benchmark_matrix.linux' failed (exit status 1): 
    {task 139784788162576: cxxprogram benchmark_matrix.cpp.1.o -> benchmark_matrix.linux}
['/usr/lib/ccache/g++', '-Wl,--gc-sections', 'libraries/AP_Math/benchmarks/benchmark_matrix.cpp.1.o', '-o', '/home/khancyr/Workspace/APM/ardupilot/build/linux/libraries/AP_Math/benchmarks/benchmark_matrix.linux', '-Wl,-Bstatic', '-L.', '-lap', '-Wl,-Bdynamic', '-L/home/khancyr/Workspace/APM/ardupilot/build/linux/gbenchmark/lib', '-lm', '-lpthread', '-lrt', '-lbenchmark']
`````

Adding 'pthread' to env.LIB_GBENCHMARK solve the issue

see https://github.com/diydrones/ardupilot/pull/3460 and https://github.com/diydrones/ardupilot/issues/3461
2016-01-12 18:05:46 -02:00
Linus 81fc4ec838 SITL: add NFSC flying club location 2016-01-12 20:05:41 +09:00
Randy Mackay 97725c3187 Copter: add DISALLOW_GCS_MODE_CHANGE_DURING_RC_FAILSAFE to APM_Config.h
This makes it easier for us to find the definition without searching through the code
2016-01-12 19:51:43 +09:00
Jonathan Challinger cc1f27ad95 Copter: add DISALLOW_GCS_MODE_CHANGE_DURING_RC_FAILSAFE option 2016-01-12 19:49:17 +09:00
Jonathan Challinger 5cc969f01b Copter: simplify battery and radio failsafe logic 2016-01-12 18:23:01 +09:00
squilter 91187899fd Copter: initialize capabilities earlier 2016-01-12 18:13:15 +09:00
Randy Mackay 89c147184f Copter: log guided mode targets 2016-01-12 18:04:59 +09:00
Gustavo Jose de Sousa d5e7b321f6 waf: add most linux boards 2016-01-11 16:31:59 -02:00
Gustavo Jose de Sousa e21d41afe3 waf: enable fully static linking
Some boards (e.g. bebop) require fully statically linked binaries.
2016-01-11 16:31:59 -02:00
Gustavo Jose de Sousa c90b0e8659 waf: add static_linking tool
Some platforms (e.g. bebop) might need to create fully statically linked
binaries. This serves to force a program to be statically linked. It has only
been tested on GNU compilers, other compilers may have unexpected behavior.
2016-01-11 16:31:59 -02:00
Gustavo Jose de Sousa 41e2a8cf1e waf: gbenchmark: disable cross-compilation
That's a temporary solution to allow cross compilation for the common binaries.
We can enable cross compilation of benchmark later.
2016-01-11 16:31:59 -02:00
Gustavo Jose de Sousa e7312a1f81 waf: add toolchain tool for cross-compiling 2016-01-11 16:31:59 -02:00
Gustavo Jose de Sousa 7aa43d36d2 waf: process board and project configuration before toolchain
Several boards require cross compilation. The objective of this change is to
allow to specify the target architecture in the board definition, so that the
correct toolchain is selected. The cross compilation mechanism will be
implemented in the next commits.
2016-01-11 16:31:59 -02:00
Gustavo Jose de Sousa 82a33399ef waf: gbenchmark: call _configure_cmake() in waf configuration
The cmake checks for gbenchmark need to run some code. Calling
_configure_cmake() only during build can potentially fail build. That would
happen in some cross-compilations for example.
2016-01-11 16:31:59 -02:00
Gustavo Jose de Sousa a31816c039 waf: gbenchmark: move cmake configuration to a separate function 2016-01-11 16:31:59 -02:00
Gustavo Jose de Sousa 7e8d25a56a waf: gbenchmark: use dict for cmake variables
That makes it easy to add new variables for the build system generation
command.
2016-01-11 16:31:59 -02:00
Gustavo Jose de Sousa 7d94095497 travis: unset CXX and CC at the beginning
Those environment variables are set by default by Travis. That fails cross
compilation with waf. There is a GitHub issue open related to that behavior at
https://github.com/travis-ci/travis-ci/issues/4682 .  This change can be
reverted if eventually that is fixed.
2016-01-11 16:31:59 -02:00
Lucas De Marchi 237a7207fc README: add Pritam as raspilot maintainer 2016-01-11 16:06:51 -02: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
Lucas De Marchi be2af0877c AP_HAL_Linux: AnalogIn_IIO: formatting fixes
- remove trailing whitespaces
  - use pragma 0 for header guard
2016-01-11 15:44:24 -02:00
Víctor Mayoral Vilches 8195631fac HAL_Linux: AnalogIn_IIO update reopen_pin 2016-01-11 15:44:24 -02:00
Víctor Mayoral Vilches b9c83da8c6 HAL_Linux: AnalogIn_IIO, replace reopen by select
A new select_pin method has been implemented and
set that changes solely the file descriptor (avoids
reopening the file every time we call set_pin).
2016-01-11 15:44:24 -02:00
Víctor Mayoral Vilches da1b529415 HAL_Linux: AnalogIn_IIO add init_pins
initializes all the available analog
sources and stores the corresponding file descriptors
in fd_analog_sources.
2016-01-11 15:44:24 -02:00
Víctor Mayoral Vilches 546fbd1f25 HAL_Linux: mv AnalogIn_PXF to AnalogIn_IIO
Initial implementation used for the PXF moved for
a wider use. The implementation uses the Linux Industrial
I/O Subsystem (IIO) to get Analog Input.
2016-01-11 15:44:24 -02:00
Víctor Mayoral Vilches 4820e0b2c7 HAL_Linux: AnalogIn_PXF changes in AnalogIn
Recent changes in AP_HAL::AnalogIn have made the previous
code not valid anymore. This commit fixes the init()
method and adds common headers.
2016-01-11 15:44:24 -02:00
pkancir c117b41188 AP_BattMonitor: add PXF default pins 2016-01-11 15:44:24 -02:00
pkancir 506db4eaf5 AP_HAL_Linux: add ADC support for PXF cape 2016-01-11 15:44:24 -02:00
Lucas De Marchi 0817fe6033 AP_HAL_Linux: default USE_FRAM to 0 for all boards
This disables FRAM usage in PXF and erleboard. The reason is it's
failing and not being used. Right now we get this on startup:

	root@beaglebone:~# ./ArduCopter.elf
	FRAM: Online
	Storage: FRAM is getting reset to default values
	Failed to read FRAM

Testing with valgrind also reveals some invalid memory reads. Let's
disable it for now to be common with other boards.
2016-01-11 15:44:24 -02:00
Lucas De Marchi 2a33b6bf33 AP_HAL_Linux: OpticalFlow: remove unneeded panic
There's already a panic() below.
2016-01-11 15:34:14 -02:00
Ricardo de Almeida Gonzaga 7adbccac9a AP_HAL_Linux: add support for OpticalFlow to MinnowBoardMax
This commit adds support for OpticalFlow to MinnowBoardMax trying to
leave the OpticalFlow implementation as generic as it already is.

We had to add some format conversion and software crop to the cameras that
do not have this features.
2016-01-11 15:31:27 -02:00
Ricardo de Almeida Gonzaga 8aded390e7 AP_HAL_Linux: add yuyv_to_grey() and crop_8bpp() to VideoIn
Most cameras do not support NV12 or GREY formats, we are adding in this commit
a conversion from YUYV format, that seems pretty common in cameras, to GREY
format (since we do not use Cb and Cr data on OpticalFlow).

Also we are adding a software crop for 8bpp images, such as GREY format. For
the same reason, most cameras do not have support for overlaying (crop, resize
and so on).

These functions are being added in order to be used in the next commits,
where we will add support for OpticalFlow on MinnowBoardMax.
2016-01-11 15:31:27 -02:00
Ricardo de Almeida Gonzaga 27f909319e AP_HAL_Linux: add get_pixel_formats() to VideoIn
This function is being added in order to be used in the next commits,
where we will add support for OpticalFlow on MinnowBoardMax.
2016-01-11 15:31:26 -02:00
Julien BERAUD 979184607d OpticalFlow_Onboard: fix comment
Copy-paste mistake
2016-01-11 14:54:51 -02:00