Commit Graph
67 Commits
Author SHA1 Message Date
Mark Charlebois 5bc2019fd5 Fixes for qurt build
Added missing functions that were added for other targets but not for qurt.

Added workaround for missing sem_timedwait(). This may have a performance
impact until a sem_timedwait is supported.

std::to_string is not supported by the hexagon compiler

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-01-08 08:49:36 +01:00
Lorenz Meier 32d062836e Moved ECL into its own submodule 2015-12-23 06:23:15 +01:00
jgoppert 6cce823dc6 Replaced wigen with custom matrix lib. 2015-10-24 15:10:20 -04:00
Mark Charlebois 49e0fc967a qurt: Added back missing ifdef section in px4_defines.h
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-22 10:12:32 -07:00
Mark Charlebois 0e967d0874 qurt: Change to Hexagon 7.2.10 compiler
Switched to 7.2.10 since the Linux version of this is available.

Added -DHAS_C9X flag to fix isses with undefined math functions
when using hexagon-clang++.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-22 10:07:22 -07:00
Lorenz Meier 73545a4311 Platforms: Fix platform headers 2015-10-19 13:25:39 +02:00
Mark Charlebois 9c376119d0 cmake: changes required for qurt build
Fixed CMakeLists.txt to be consistent with module.mk
Converted PX4_TICKS_PER_SEC to define for QURT to get around relocation error
Added stubs for QURT so building a full executable can be tested. This will
enable CI testing without the full Hexagon SDK.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-09 13:24:29 -07:00
Mark Charlebois 63f7995b41 NuttX: fixes for printing size_t and int64_t
Added definition of PRId64 for C99 compatibility.
Used %zd for portable wat to print size_t.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-07-01 07:51:24 -07:00
Mark Charlebois 641fd26877 QuRT: Fixed PX4_ISFINITE
QuRT needs to use the builtin version of isfinite so for the qurt
build PX4_ISFINITE(x) is defined as __builtin_isfinite(x).

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-30 09:10:06 -07:00
Mark Charlebois 872a26e6da Fixed passed ot open() for O_CREAT
In nuttx the mode parameter to open is not required but in Linux,
and per the POSIX spec, mode is required if the O_CREAT flag is
passed.

The mode flags are different for NuttX and Linux so a new set of
PX4 defines was added:

PX4_O_MODE_777 - read, write, execute for user, group and other
PX4_O_MODE_666 - read, and write for user, group and other
PX4_O_MODE_600 - read, and write for user

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-14 11:26:40 +02:00
David Sidrane 5acc4ee43b Back Port of Git Versioning - without side effects Part 2 2015-06-12 06:54:04 -10:00
Mark Charlebois 4d1ae6269b POSIX: Added PX4_ROOTFSDIR to file paths
Set a default path relative to current dir for the posix target.

Running make posixrun will create the required directoroes and then run
mainapp from its build location.

PX4_ROOTFSDIR is set to nothing for nuttx.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-11 21:36:13 -07:00
Mark Charlebois f763c4cc0e POSIX: fixed type used in USEC2TICKS
The macro was using a constant defined as a long instead on an
unsigned long. Made corresponsing changes to barosim.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-03 11:49:28 -07:00
Mark Charlebois cced8ed69e POSIX: added hrt_queue for handling fast periodic events
The workqueues measure time in ticks  which is typically 10ms.
Some interrupt events in Nuttx occur at about 1ms so a more
granular workqueue is needed for POSIX.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-02 16:55:33 +00:00
Roman 6bc0d4d03b add definition of MAX_RAND 2015-06-01 11:14:45 +02:00
Mark Charlebois ce96329f95 Resolve printing uint64 types
Using %llu or %lu will break one of the build targets. The "right way"
to print a uint64_t is via the PRIU64 macro defined in C99.

This wasn't defined for the NuttX compiler so it was added to px4_defines.h
for NuttX.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 11:04:39 -07:00
Mark Charlebois 0f5cb75692 ROS: Fixes for ROS build
The ROS build included some files that used isfinite vs PX4_ISFINITE.

The AppState class also needed to be supported for ROS.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 10:41:15 -07:00
Mark Charlebois a99f916bdf POSIX: Changed px4_debug.h to px4_log.h
Also changed use of printf to PX4_WARN or PX4_INFO in posix and
qurt tests.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-11 16:04:39 -07:00
Mark Charlebois 09718fa324 Revamped debug macros
Created px4_debug,h to define:

PX4_DBG
PX4_INFO
PX4_WARN
PX4_ERR

These enable OS specific mappings to be made, filtering, etc.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-27 21:58:54 -07:00
Mark Charlebois 20d35e33da Platform header file cleanup and consolidation
Removed obsolete porting cruft from px4_XXX.h files and merged the
POSIX changes in PreflightCheck_posix.cpp back to PreflightCheck.cpp

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-24 11:45:14 -07:00
Mark Charlebois c802beb3d7 QuRT and POSIX changes - part 3
More staged changes to support QuRT and related POSIX changes

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-24 01:13:08 -07:00
Mark Charlebois f3b5076d70 Linux to posix conversion
Changed "linux" target to "posix". Most of the changes are shared with
QuRT and with OSX. The Linux specific parts are in for i2c which uses
<linux/i2c.h> and <linux/i2c-dev.h>.

There is also a check for __PX4_LINUX in mavlink for a tty ioctl that is
not supported.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-21 09:53:09 -07:00
Mark Charlebois e9c2e08770 Added initial QuRT support
Added the basic files to start building for QuRT

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:37:51 -07:00
Mark Charlebois 8c8f57b5b4 Fixed std::isfinite vs isfinite differences
Added PX4_ISFINITE(x) to px4_defines.h to handle the differences on
NuttX and Linux.

This change also picked up some file renaming for virtual character devices

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:34:12 -07:00
Mark Charlebois aedf6fe628 Linux: Added preliminary work queue support
Based on NuttX work queue code.

Not yet functional.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:16:26 -07:00
Mark Charlebois 5f3496353c Linux: added support for sdlog2
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:15:12 -07:00
Mark Charlebois 99399115f2 Linux: Minor fixes of error caught by gcc-4.9.1
- Missing static declarations for functions not used outside a file.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:07:00 -07:00
Mark Charlebois d013ac0927 Support for building more modules with Linux
Added more queue support to linux/px4_layer.

Use virt char devices for ms5611, and mavlink.

Added more HRT functionality. uORB latency test
now fails. Likely due to bad HRT impl for Linux.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:07:00 -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 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
Thomas Gubler 347047bafc get rid of lots of multiplatform macros, oh yeah 2015-02-08 17:53:26 +01:00
Thomas Gubler 6ba1912309 add angle conversion defines for ros 2015-01-28 16:32:01 +01:00
Thomas Gubler 8dbb1fc8d4 remove unneeded include 2015-01-25 18:24:10 +01:00
Thomas Gubler 4ba57ad285 get rid of unnecessary defines 2015-01-23 11:39:10 +01:00
Thomas Gubler c118d17cb5 fix code style in src/platforms 2015-01-08 08:15:44 +01:00
Thomas Gubler e855e4454c exclude macro hack for tests target 2015-01-07 00:19:30 +01:00
Thomas Gubler f37fdd95af add and use PX4_ROS preprocessor define 2015-01-06 19:45:57 +01:00
Thomas Gubler 134f41c707 make ros params from launch files work 2014-12-31 15:23:09 +01:00
Thomas Gubler 824446bf2f typo 2014-12-30 11:15:46 +01:00
Thomas Gubler 4402d7106b improve and fix multiplatform param by name macro 2014-12-17 16:31:40 +01:00
Thomas Gubler 7ad3b03353 multi platform interface: macro to get param by name 2014-12-17 15:49:03 +01:00
Thomas Gubler 9bad23e418 add explicit non-callback contructor for nuttx/uorb subscriber to work around linker issues 2014-12-17 08:22:38 +01:00
Thomas Gubler 9520983e08 lots' of header juggling and small changes to make mc att control compile for NuttX and ROS 2014-12-16 08:24:51 +01:00
Thomas Gubler ab35b6470c mc att: use multiplatform publisher 2014-12-11 19:02:14 +01:00
Thomas Gubler 998646f03b add base class and template subscriber class as well to improve interface to get last msg value 2014-12-11 15:33:32 +01:00
Thomas Gubler c68c277c94 subscription class for ros now stores last message to avoid manual copy and support subscription with no callbacks 2014-12-11 15:04:37 +01:00
Thomas Gubler 173b1b2a8b WIP, make class based and extended subscriber/publisher example compile for ros 2014-12-11 10:51:19 +01:00
Thomas Gubler a1685ed6d0 change definition of px4 main function 2014-12-11 09:27:11 +01:00
Thomas Gubler 9ed57211cc hack to define isspace in px4_defines, add macro for subscription without callback 2014-12-10 12:40:36 +01:00
Thomas Gubler 356e6f1eeb WIP, move some ORB defines 2014-12-08 13:42:40 +01:00