Commit Graph

866 Commits

Author SHA1 Message Date
Lorenz Meier 7652a3737c Update ECL 2017-01-15 01:57:38 -08:00
Lorenz Meier 557a57d51a Coverity: Fix RC tests 2017-01-14 07:47:03 -08:00
BharathR 8c7f810cc2 Fixed build error in eagle_legacy_default mode (px4muorb.h generation issue) 2017-01-11 17:12:27 -08:00
bharathr ee0b0f2a3e Fixed build error in Snapdragon Flight legacy driver mode (partially) 2017-01-11 17:12:27 -08:00
Daniel Agar 67975d68bb tailsitter_recovery initialize yaw_ff 2017-01-04 16:08:20 -05:00
Daniel Agar b1d537c603 launchdetection initiailize motorDelayCounter 2017-01-04 16:08:20 -05:00
Lorenz Meier 36ba5eb741 Control lib: Fix string handling corner cases
strncpy() does not enforce NUL-termination, but snprintf() does. So we need to ensure all strings are terminated. Another issue was the use of the wrong length parameter for these functions, resulting in the limiting arguments not being applied to the right length.
2017-01-04 10:14:25 +01:00
Daniel Agar d5082251d9 controllib decrease blockNameLengthMax to 40 2017-01-04 10:04:30 +01:00
Daniel Agar b3c741715a controllib block use consistent name length
- coverity CID 12524, 12542, 12548, 12550
2017-01-04 10:04:30 +01:00
Lorenz Meier 1a1522d3ff Fix RC unit test 2017-01-03 14:44:45 +01:00
Lorenz Meier 72eafe7e72 Fix DSM debug statement. From @firwar 2016-12-25 21:55:23 +01:00
Dennis Mannhart d00750c22e updated ECL submodule to include snapdragon compile fix 2016-12-23 11:34:31 +01:00
Beat Küng 0c7e9b0e6d version CMakeLists.txt: add ver_gen dependency
Necessary so that build_git_version.h is generated before version.c is
compiled.

Error before:
../src/lib/version/version.c:152:31: error: 'PX4_GIT_TAG_STR' undeclared (first use in this function)
  return version_tag_to_number(PX4_GIT_TAG_STR);
2016-12-21 16:59:32 +01:00
Beat Küng 5e9bdff205 version: remove FW_GIT & FW_BUILD_URI, use the correct methods instead
This is cleanup after rebasing
2016-12-21 11:35:10 +01:00
Beat Küng 41dc34204c version cleanup: move all version information into version.c and use a common API
The provided versioning information is the same, except for some additions,
like OS version (which still need to be implemented on NuttX).
2016-12-21 11:35:10 +01:00
Beat Küng c662113527 board_name.c: remove the file and HW_ARCH macro, use px4_board_name() instead
boards define BOARD_NAME, so board_name() is not necessary. HW_ARCH was
just a wrapper around board_name().

This patch simplifies to having only one common method px4_board_name().
2016-12-21 11:35:10 +01:00
David Sidrane dec46927f7 RAND_MAX properly defined in upstream NuttX 2016-12-21 08:34:21 +01:00
David Sidrane d09cd77777 Adding hardfault logging application 2016-12-21 08:34:20 +01:00
Lorenz Meier 1e625d024c Updated ECL to include a minor compile fix 2016-12-21 08:11:05 +01:00
Julian Oes d62520e26b Update DriverFramework and build lib/rc 2016-12-20 14:38:28 +01:00
Julian Oes 45ff2d026d dsm: only close valid fds 2016-12-20 14:38:28 +01:00
Julian Oes f184e642c9 dsm: fix definition 2016-12-20 14:38:28 +01:00
Julian Oes 97fe56a4e7 dsm: add deinit function
This implements closing of the serial port which previously was not
taken care of.
2016-12-20 14:38:28 +01:00
Lorenz Meier 6e32d0b52b Update ECL to include data validator fixes 2016-12-19 20:34:52 +01:00
Lorenz Meier b91b0463d2 Update ECL lib to include failover fix for one sensor case 2016-12-19 20:34:52 +01:00
Lorenz Meier 0e93b75ced Update ECL library to include configurable stale sample counts 2016-12-19 20:34:52 +01:00
Lorenz Meier 8297e979ff ECL: Update to include whitespace fixes 2016-12-19 20:34:52 +01:00
Roman 5b0a1d4b2a updated DriverFramework: activated dlpf in mpu6050
Signed-off-by: Roman <bapstroman@gmail.com>
2016-12-16 00:15:25 +01:00
Julian Oes a096b97455 Revert "navigator: increase stack"
This reverts commit 6a6e9d02a3.
2016-12-15 09:05:02 +01:00
Julian Oes 6a6e9d02a3 navigator: increase stack
The stack size was generally ok but seemed to get exhausted in the case
of a waypoint which is too far away and therefore exercises some more
code in the mission feasability checker.

Generally, we should have more margin in the navigator stack size
because there are a bunch of different code paths that can happen.
2016-12-15 00:12:54 +01:00
Julian Oes f092b31f54 Update cmake_hexagon and DriverFramework
This update is needed after changes in
https://github.com/ATLFlight/cross_toolchain/pull/10.
2016-12-02 21:18:18 +01:00
Lorenz Meier 70e597bd9a Update ECL to include fw controller limit improvements and side slip filter improvements 2016-11-27 16:08:53 +01:00
Beat Küng 9230f419e5 DriverFramework: update submodule 2016-11-24 14:43:22 +01:00
Roman 912ed98a28 updated ecl 2016-11-21 07:29:21 +01:00
Roman 9f57ee8564 updated ecl for updated gps reset logic
Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-21 07:29:21 +01:00
Roman ae7f61b0bf tecs: added method to handle ekf height resets
Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-21 07:29:21 +01:00
Roman 896118281c TECS: remove logic which shifts or limits integrator during large transients
- during large transients in pitch demand the pitch integrator value
was shifted such that the final demanded pitch did not violate given
limits. Since this strategy can cause large knock-backs of the pitch
integrator we remove this logic completely. We already have logic in place
which reduces the integrator at the pitch time constant in case the
pitch limits are exceeded so we don't need to limit it further. This
has the advantage that spikes in the specific energy balance error
signal does not lead to integrator knock-back.

Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-14 22:43:33 +11:00
Paul Riseborough 9221c74e46 tecs: improvements to pitch integration limiting
Constrain the specific energy balance integrator input to prevent increasing saturation of pitch demand.
Decay the specific energy balance integrator state if the pitch demand is saturated to reduce saturation to zero and do so at the same tome constant as the control loop
Relax the clipping threshold on the specific energy balance integrator to allow the input constraint and decay functions to do more of the work
Improve variable naming and commenting
2016-11-14 22:43:33 +11:00
Roman 7106881cbc tecs: fix limiting of pitch integrator input, better comments and structure
- when limiting the pitch integrator input the value was related to
a quantity with different units (specific energy error rate vs delta pitch)
- once the unconstrained pitch demand is larger / smaller than the max/min
allowed pitch angle the integrator input should only be allowed to drag
the integrator into the direction leading to less pitch demand violation

Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-14 22:43:33 +11:00
Roman 12ddf9d25e TECS: better handling of the constraint for the pitch integrator
- if the specific energy balance correction term produced a demanded
pitch value which exceeded the aircraft pitch limits then the pitch
integrator was shifted such that the pitch demand violation was prevented.
However, this meant that the exceeding pitch was just unloaded into the
integrator and caused unexpected behavior of the pitch loop.
In an underspeed condition e.g. this has lead to the plane pulling up it's
nose very quickly shorty after the underspeed condition kicked in.

Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-14 22:43:33 +11:00
Roman eec55a0918 TECS: run underspeed detection method before calculating speed demand
- the method in TECS for detecting an underspeed condition was run after
the method which calculated the airspeed demand. As a result the specific
engergy balance error signal showed a spike when TECS detected an underspeed
condition.

Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-14 22:43:33 +11:00
Carlo Wood ebeb187522 Move #pragma once outside #ifdef's.
In this particular case it does no harm,
but since in other cases it can lead to
problems I didn't want to add an exception
for this case to fix_headers.sh, that currently
chokes on this because it doesn't know better
than that it's a bad thing.

Note on how #pragma once works: when encountered
(aka the #ifdef that it is inside has to
be true), the compiler marks the whole
file as "seen" (this is implementation
defined, but most implementations store
the inode of the file). Subsequent #include's
of that file/inode are then completely skipped.
Hence it doesn't matter if the #pragma is at
the beginning, at the end or in the middle,
but it should be encountered every #include,
usually, and thus not be inside an #if... #endif
construct.
2016-11-13 19:36:27 +01:00
Carlo Wood 04aa2bb3a4 Add missing header files.
These headers files were missing from the header files that
I added them to; the fact that they were missing didn't
lead to compile errors because by coincidence the missing
headers are included in the source files before including
these headers. But, after the reordering of header inclusions
by Tools/fix_headers.sh, these cases will give rise to compiler
errors.
2016-11-13 19:36:27 +01:00
Benoit3 83e9e1c382 The goal of this patch is to allow compatibility with GR12/GR16/GR24 graupner receiver by :
- allowing decoding of SUMD frame with failsafe bit set
- updating stack failsafe state with the sumd failsafe info

Refer to #5817 issue
2016-11-12 14:28:57 +01:00
Julian Oes ab76a37910 DriverFramework: update of cmake_hexagon 2016-11-10 07:56:28 +01:00
Julian Oes 6bdca1053c Next cmake_hexagon in Firmware and DriverFramework 2016-11-10 07:56:28 +01:00
Julian Oes 88e81aa58e cmake_hexagon: rpcmem and linking fix
This updates cmake_hexagon and cmake_hexagon inside DriverFramework
which fixes somethine about rpcmem.a and the double linking issue.
2016-11-10 07:56:28 +01:00
Paul Riseborough 08a380ae2d ecl: update library reference
Enables optimum setting of sensor data buffer lengths using specified data delays and min arrival interval.
2016-11-08 11:17:07 +01:00
Beat Küng 223595e978 ecl: update submodule to master 2016-11-06 14:48:20 +01:00
David Sidrane d77e107e31 Crazyflie uses the board common interface to provide board name
Removed #ifdef in version.h
2016-11-05 11:06:43 +01:00