Commit Graph

11862 Commits

Author SHA1 Message Date
Mark Charlebois 89e1b454af Linux: added support for gcc 4.6
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:57:01 -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 566c3ed3c3 Linux: Autodetect clang-3.5 toolchain
Use clang-3.5 if found, otherwise 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 51a71d54c6 checksubmodules target needed for Linux build
Moved checksubmodules target back to Makefile.
NuttX download still done for Linux as it would require
too much surgery to remove it.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:46: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
Mark Charlebois 838e9fc769 Refactoring for multiplatform support
Moved the NuttX specific board files to makefiles/nuttx and added
a makfiles/linux directory with sample config and board files.

Created a makefiles/toolchain_native.mk file for building for Linux
with the native system compiler. GCC or clang can be used by setting
a flag in the file.

The Linux build creates an archive file and will build the tasks as
threads. Other code changes are required to support both task based
and thread based builds.

The NuttX source should not be required for the Linux build. The
target OS (NuttX or Linux) is selected by commenting out the desired
line in setup.mk

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:46:43 -07:00
Roman Bapst 2f5239c17a fixed name of generic firefly mixer 2015-04-20 17:09:09 +02:00
Roman Bapst 851a66135f fixed syntax of auxiliary mixer file 2015-04-20 17:05:59 +02:00
Roman Bapst de3a914521 fixed firefly6 configuration file 2015-04-20 17:03:11 +02: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 ba25f7a290 Make: Disable build of preflight check (pending removal) 2015-04-20 09:14:13 +02:00
Johan Jansen 3365e577e7 ROMFS: Update for preflight check in Commander 2015-04-20 09:14:12 +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
Lorenz Meier f8cf495494 Revert "Added ability for board specific meta data generation"
This reverts commit 9ac350a7d1.
2015-04-18 11:38:23 +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