464 Commits

Author SHA1 Message Date
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
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
Lorenz Meier
f8cf495494 Revert "Added ability for board specific meta data generation"
This reverts commit 9ac350a7d1c5c07a4e4ba7824744930f9110dedc.
2015-04-18 11:38:23 +02:00
Don Gagne
9ac350a7d1 Added ability for board specific meta data generation
Use new @board meta data attribute for board specific ifdef support
2015-04-18 11:14:12 +02:00
Daniel Agar
207b57869d only define GIT_VERSION where it's used
-when the git revision is passed to every file as a define it causes
unnecessary ccache cache misses
2015-04-18 01:25:54 -04:00
Lorenz Meier
3ee9b441c6 Add STM32F4 discovery config. 2015-04-16 22:51:08 +02:00
Lorenz Meier
49834b11cb Merge pull request #1938 from Grawp/master
Fix generating $3_len in BIN_TO_OBJ makefile function
2015-03-21 08:10:32 +01:00
Michal Ulianko
631e518c45 BIN_TO_OBJ: Change NM radix back to hex so multiple leading zeros in NM output won't generate octal constant in C. 2015-03-21 00:31:52 +01:00
Michal Ulianko
354809bff4 BIN_TO_OBJ: Switch egrep and cut to $(GREP). Use posix format and decimal radix with $(NM). 2015-03-20 23:22:42 +01:00
Lorenz Meier
6b494ee0f0 Remove boardinfo ccommand 2015-03-20 09:43:45 +01:00
Michal Ulianko
c5ae02deda Fix generating $3_len in BIN_TO_OBJ makefile function 2015-03-19 19:50:05 +01:00
Lorenz Meier
6aba6a4f88 FMUv1: Disabled RAM-hogging apps 2015-03-07 14:16:46 +01:00
Anton Matosov
72274062c1 Renamed servo_gimbal to simply 'gimbal' as HW is behind the scene and doesn't really matter here 2015-03-06 18:57:37 -08:00
Lorenz Meier
8a6698b6e6 drivers/servo_gimbal: Added servo gimbal 2015-03-06 18:57:37 -08:00
Randy Mackay
9a3ea61569 build: add oreoled to px4fmu-v2_default 2015-02-25 15:10:11 +01:00
Lorenz Meier
e59aaa771c Rover: Add simple steering controller. 2015-02-19 21:51:53 +01:00
James Goppert
d736311982 Added flow position estimator to default apps. 2015-02-11 21:11:23 -05:00
Lorenz Meier
769df2ff47 Toolchain: Add more compiler options, add note about -Wfloat-conversion warning (available with GCC 4.9). Needs work. 2015-02-08 12:17:35 +01:00
Lorenz Meier
d441d38677 Merged master into ros 2015-02-02 21:21:51 +01:00
Lorenz Meier
344e969428 FMUv2 test: Enable sensors module 2015-02-01 13:11:24 +01:00
Lorenz Meier
a3f577e642 FMUv2: Re-enable missing sensors 2015-02-01 13:11:05 +01:00
Lorenz Meier
f51dd7556e FMUv1: Re-enable missing sensors 2015-02-01 13:10:45 +01:00
Thomas Gubler
0dc511a76b remove unintended/leftover changes in fmu2 default makefile 2015-02-01 12:20:54 +01:00
Thomas Gubler
68e35ef0fd remove unintended/leftover changes in test makefile 2015-02-01 12:19:42 +01:00
Thomas Gubler
84ff3c671d Merge remote-tracking branch 'upstream/master' into ros_messagelayer_merge2_attctrl_posctrl
Conflicts:
	src/drivers/px4fmu/fmu.cpp
2015-02-01 11:06:47 +01:00
Lorenz Meier
1cc4c808a8 Upgrade UAVCAN to multi pub/sub A API 2015-01-29 16:33:53 +01:00
Lorenz Meier
cc7a00b96e Disable UAVCAN build until sensors use all new-style API and UAVCAN sensors base class can be reworked to use it consistently 2015-01-29 16:33:53 +01:00
Lorenz Meier
7932e2eda2 Add top to test build 2015-01-29 16:33:52 +01:00
David Sidrane
6606b56364 Updated NuttX submodule with memcpy fix, disabled run time stack checking and added modules back in 2015-01-29 04:49:39 -10:00
Thomas Gubler
1915537281 initial port of multiplatform version of mc_pos_control 2015-01-28 16:32:20 +01:00
Thomas Gubler
856b10cc1a Revert "temporarily re-enable stack checking, disable some modules to make firmware fit"
This reverts commit 27b2701340648e2fde1992b175abfa591e0eee01.
2015-01-28 16:29:25 +01:00
Thomas Gubler
2728889f78 Merge remote-tracking branch 'upstream/master' into ros_messagelayer_merge_attctlposctl 2015-01-28 16:29:14 +01:00
Thomas Gubler
27b2701340 temporarily re-enable stack checking, disable some modules to make firmware fit 2015-01-28 10:21:42 +01:00
Thomas Gubler
ee6395c502 enable mc att multiplatform in makefile 2015-01-25 13:38:47 +01:00
Simon Wilks
f5a1680fd6 Add landing detector for V1 boards as well. 2015-01-24 14:18:28 +01:00
Thomas Gubler
1ad6e00234 re-enable warnings/errors 2015-01-23 07:16:07 +01:00
Thomas Gubler
8c4fce3654 multiplatform: better publisher base class 2015-01-22 09:30:43 +01:00
Thomas Gubler
52a2a23cc7 Merge remote-tracking branch 'upstream/ros' into ros_messagelayer_merge 2015-01-21 15:50:54 +01:00
Thomas Gubler
1628999361 Revert "Fixes to make GCC 4.9 link"
This reverts commit 85b6907e1db1a6af88fe469e8e08dbd0a9d7a2a7.
2015-01-21 15:44:15 +01:00
David Sidrane
517e1e8d48 Fixed permissions 2015-01-21 14:54:25 +01:00
David Sidrane
4b8feb03cf Match the OS build's CONFIG_ARMV7M_STACKCHECK setting by using actual setting in the exported nuttx config.h file to control each board build setting of ENABLE_STACK_CHECKS in toolchain_gnu-arm-eabi.mk 2015-01-21 14:54:24 +01:00
Pavel Kirienko
f6786d0be9 Removing -ffixed-r10 when stack checks aren't enabled 2015-01-21 14:54:24 +01:00
Pavel Kirienko
2ebd7099de Globally configurable stack checks, R10 is always fixed 2015-01-21 14:54:24 +01:00
Pavel Kirienko
4b1782174c INSTRUMENTATIONDEFINES assignment made non-optional 2015-01-21 14:54:24 +01:00
Pavel Kirienko
1d13edcf92 Stack checks made optional: ENABLE_STACK_CHECKS 2015-01-21 14:54:24 +01:00
Pavel Kirienko
c2bc298409 Disable instrumentation for the uavcan module 2015-01-21 14:54:24 +01:00
Pavel Kirienko
569c3b7d37 Using -g3 flag instead of -g 2015-01-21 14:54:23 +01:00