Commit Graph

6552 Commits

Author SHA1 Message Date
Mark Charlebois aeb65702a2 Fixed support for clang 3.5
"clang-3.5 -dumpversion" returns 4.2.1 as the GCC version.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:00:16 -07:00
Mark Charlebois 35e00f0ba1 Added missing _PX4_IOC substitutions
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:00:16 -07:00
Mark Charlebois 5084a61f0e Abstractions to compile systemlib for Linux and Nuttx
Modified uint32_t casts of pointers to unsigned long for portability.
It otherwise breaks on x86_64.

Added _PX4_IOC to handle the conflice between _IOC on Linux and NuttX.

Removed use of px4::ok() because it cannot be used in a thread based
implementation. Changed to use px4::AppMgr which uses ok() on ROS.

Removed up_cxxinitialize.c from Linux build.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:00:16 -07:00
Mark Charlebois 4a4fcb5d75 Linux: fixes for gcc
Fixes to compile with gcc

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:57:01 -07:00
Mark Charlebois 62f8bd6679 Linux build support for some libs
The following libs can now be built under Linux:

   lib/mathlib
   lib/geo
   lib/geo_lookup

The constants used for ROS are now shared with Linux in
px4_defines.h

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:57:01 -07:00
Mark Charlebois e3f152b5c1 Changed main_t to px4_main_t in systemlib.h
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:55:41 -07:00
Mark Charlebois 9758112e31 Use px4_config.h instead of nuttx/config.h
Modified code to use OS independent header file for config settings.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:55:41 -07:00
Mark Charlebois 82a7fd5115 Code uses px4_config.h instead of nuttx/config.h
Use OS independent header file for config info.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:49:44 -07:00
Mark Charlebois bf429188b4 Reverted: Use OS independent API for task creation/deletion
Keep existing API use in code. Bind the use of the OS independent
implementation in the systemlib layer.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:49:44 -07:00
Mark Charlebois ddb32742eb Use OS independent API for task creation/deletion
Calls to task_delete and task_spawn_cmd are now
px4_task_delete and px4_task_spawn_cmd respectively.

The px4_tasks.h header was added to the affected files
and incusions of nuttx/config.h were removed.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:49:44 -07:00
Mark Charlebois 520459062d Initial Linux support including execution shell
Uncomment the following line in setup.mk and comment out the line above
to enable the Linux build.

   export PX4_TARGET_OS	 = linux

The build uses the clang compiler by default. The final bundled executable
is mainapp located in:

   Build/linux_default.build/mainapp

When you run mainapp it will provide a list of the built-in apps. You can
type in the commands to run such as:

   hello_main start

Because the Linux build is threaded and does not support tasks or processes,
it cannot call errx, exit() _exit(), etc. It also requires unique scoped
variables to test if a thread is running or if an application should exit.
The px4::AppMgr class was added in px4_app.h for this purpose. The
hello sample app demonstrates how this is used.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:46:43 -07:00
Lorenz Meier 0a526e2a5f commander: Provide feedback that preflight check failed. 2015-04-20 09:14:14 +02:00
Lorenz Meier 17e487cad4 Update commander test suite 2015-04-20 09:14:14 +02:00
Lorenz Meier c92afb99b6 Prearm check: provide user instruction to power cycle if things look good 2015-04-20 09:14:14 +02:00
Lorenz Meier 554719c78f Harmonize preflight and prearm checks, run same code except for dynamic range check only on arming 2015-04-20 09:14:13 +02:00
Lorenz Meier 4f0896b105 commander tests: Update test routine to match expected / designed error handling behaviour 2015-04-20 09:14:13 +02:00
Lorenz Meier 7dbb6c4fa8 Commander: Improved preflight check routines. Running checks on all connected sensors. Re-run checks once GCS is connected. 2015-04-20 09:14:13 +02:00
Lorenz Meier 5c44146c1b sensors app: Be less verbose 2015-04-20 09:14:13 +02:00
Lorenz Meier d8c91b9fbd MAVLink app: Be less verbose 2015-04-20 09:14:13 +02:00
Johan Jansen 7a4ac0ad7f Commander: Ignore sensor status on in-air restore 2015-04-20 09:14:13 +02:00
Johan Jansen a6c57afabd Make: Remove deprecated preflight check 2015-04-20 09:14:13 +02:00
Johan Jansen 4654d0f4fc Commander: Enter ARMING_STATE_STANDBY_ERROR by default if preflight has failed 2015-04-20 09:14:12 +02:00
Johan Jansen b70138c631 Commander: Re-run preflight check after calibration 2015-04-20 09:14:12 +02:00
Johan Jansen c5a178a777 Commander: Play startup tune if preflight checks are good, play alarm otherwise 2015-04-20 09:14:12 +02:00
Johan Jansen 6f338eb1b2 Commander: Run preflight check on boot 2015-04-20 09:14:12 +02:00
Johan Jansen fde244f903 Commander: Add PreflightCheck to the commander 2015-04-20 09:14:12 +02:00
Lorenz Meier 1da048549a commander gyro cal: Optimize parameter set calls and allow up to 0.0055 rad/s deviation - tuned to allow in-field calibration, but fail anyone really rotating during the step 2015-04-19 16:06:52 +02:00
Lorenz Meier 1685f77031 Loosen the thresholds on gyro calibration based on in-field calibration feedback 2015-04-19 15:36:02 +02:00
Lorenz Meier ea2c6549e4 Attitude only EKF: Minor style cleanup, remove unused code 2015-04-19 11:59:31 +02:00
Lorenz Meier 8978278320 EKF combined att + pos estimator: Robustify against mag 0 vectors and timeouts 2015-04-18 20:49:18 +02:00
Lorenz Meier 3658bf83ed EKF att-only estimator: Do not fuse zero-length mag vector. 2015-04-18 20:34:44 +02:00
Lorenz Meier 1c8e79cbf1 sensors app: Always set a valid rotation, even if sensor is unconfigured 2015-04-18 20:34:18 +02:00
Johan Jansen b7a6f18ca6 AttPosEKF: Only fuse GPS velocity if they are valid 2015-04-18 17:23:19 +02:00
Daniel Agar 2e824bbeea fix incorrect argc < 1 check for no arguments
-requiring arguments should be argc < 2
2015-04-18 12:02:58 +02:00
Lorenz Meier 63d741e368 Merge pull request #1993 from philipoe/PR/IOActuatorUpdateRate
px4io firmware: Allow actuator update rates down to 45Hz, as this is exa...
2015-04-18 11:51:25 +02:00
Lorenz Meier 02ce3d070d sdlog2: Fix another typo 2015-04-18 11:48:44 +02:00
Lorenz Meier e284691b07 sdlog2: Fix typo 2015-04-18 11:41:53 +02:00
Lorenz Meier 80b5abeb0d Fix comment in FW params 2015-04-18 11:40:25 +02:00
Lorenz Meier 5264eb23b4 Revert "Removed usage of PX4_PARAM_DEFINE_* macros"
This reverts commit 5fe7f76691.
2015-04-18 11:39:13 +02:00
Lorenz Meier c4b98fb47d Revert "Use new @board attribute for ifdef support"
This reverts commit 750b02b4e5.
2015-04-18 11:39:03 +02:00
Lorenz Meier 644fb1c0bb Revert "Remove newline so meta data parser can parse"
This reverts commit 3a70e7bf1b.
2015-04-18 11:38:34 +02:00
Roman Bapst e097affd7a log multirotor attitude controller status 2015-04-18 11:26:19 +02:00
Roman Bapst b52d0ed8a2 mc_att_control: implemented anti windup 2015-04-18 11:19:46 +02:00
Mark Whitehorn f23bc38d3e increase default roll/pitch rate limits to 360dps 2015-04-18 11:19:06 +02:00
Mark Whitehorn 77771b2bbf fix comment on MC att controller rate limits 2015-04-18 11:19:06 +02:00
Mark Whitehorn 7f418445f2 add new parameters for roll and pitch angular rate limits 2015-04-18 11:19:06 +02:00
Mark Whitehorn a07712bb1e apply roll/pitch acro_rate_max in MC attitude controller 2015-04-18 11:19:06 +02:00
Don Gagne 3a70e7bf1b Remove newline so meta data parser can parse 2015-04-18 11:14:12 +02:00
Don Gagne 750b02b4e5 Use new @board attribute for ifdef support 2015-04-18 11:13:04 +02:00
Don Gagne 5fe7f76691 Removed usage of PX4_PARAM_DEFINE_* macros
This way the meta data parser can pick up default values. There was no
usage of the default value defines in any of the code.
2015-04-18 11:13:04 +02:00