aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fixed std::isfinite vs isfinite differencesMark Charlebois2015-04-209-39/+39
| | | | | | | | | 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>
* Enable estimators in configLorenz Meier2015-04-201-1/+2
|
* att + pos EKF: Enable execution on LinuxLorenz Meier2015-04-202-64/+50
|
* att EKF: Enable execution on LinuxLorenz Meier2015-04-202-10/+19
|
* Ported mc_att_controlLorenz Meier2015-04-201-15/+23
|
* Linux: changed to use submodule version of eigen vs system versionMark Charlebois2015-04-201-1/+1
| | | | | | | Eigen no longer needs to be installed on the build machine as it is downloaded as a submodule. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: Changed non-fatal px4_errx to warnxMark Charlebois2015-04-201-3/+6
| | | | | | | px4_errx kills the process, so if possible we want to end the thread but not the process. Using warnx and return exits gracefully. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: dont check stacksize in sdlog2Mark Charlebois2015-04-201-0/+2
| | | | | | stacksize check in sdlog2 fails for x86_64 Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: default to clang buildMark Charlebois2015-04-201-12/+21
| | | | | | | | | | | | The build will now fail if clang is not found. To force the use of GCC, use: make USE_GCC=1 The toolchain makefile was modified so it no longer checks for various versions of clang if USE_GCC=1 is passed. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: align pointers on 64bitMark Charlebois2015-04-201-1/+1
| | | | | | | | __param_start and __param end need to be 8 byte aligned on 64bit machines. Changed linker script to 8 byte align __param section. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Fixed gcc 4.8 warningsMark Charlebois2015-04-203-24/+4
| | | | | | | | | Disabled gcc warnings that are tripped by Eigen. Removed signal code that is not needed in Linux port and was causing gcc warnings. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: Added work queue support and unit testMark Charlebois2015-04-2014-12/+434
| | | | | | | | | | | | PX4 uses NuttX data structures throughout so those data structures were preserved and used to implement high and low priority queues. A unit test for the work queues was added. The polling rate of the queues are set in px4_config.h in CONFIG_SCHED_WORKPERIOD. The units are milliseconds. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* MuORB: handle case on no args passedMark Charlebois2015-04-201-1/+11
| | | | | | | | if only uorb is called with no other args it crashes. Handle the case where no args are passed. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Support to specify build time OS targetMark Charlebois2015-04-203-4/+16
| | | | | | | | | | | | | | | | | Now run: make PX4_TARGET_OS=nuttx or make PX4_TARGET_OS=linux To test the linux build and make sure that the required directories exist, run: make linuxrun Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: Added preliminary work queue supportMark Charlebois2015-04-209-127/+93
| | | | | | | | Based on NuttX work queue code. Not yet functional. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: Added wqueue files from NuttXMark Charlebois2015-04-204-0/+659
| | | | | | | | Import copies of work queue releated filed from NuttX. These are the original files. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: I2C virtual deviceMark Charlebois2015-04-202-2/+30
| | | | | | Create and open I2C virtual device and support I2C_RDWR ioctl Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: removed separate path for dataman file for LinuxMark Charlebois2015-04-201-4/+0
| | | | Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: commented out testsMark Charlebois2015-04-201-3/+7
| | | | | | | The src/platform/linux/tests modules were commented out in the config file. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: added missing -pthread flagMark Charlebois2015-04-201-1/+1
| | | | | | LDFLAGS was missing -pthread Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: Added linker script support for param and added mc_att_controlMark Charlebois2015-04-208-13/+109
| | | | | | | | Added linker script to resolve __param_start and __param_end. Added mc_att_control to list of supported builtins. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: changed param to nit use errx or exitMark Charlebois2015-04-202-61/+71
| | | | | | Thread based implementaton can't call errx or exit Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: modified shell to not show _main suffixMark Charlebois2015-04-202-7/+15
| | | | | | | | The builtin commands all have _main suffix by convention so no need to show _main. Also nsh calls the commmands without the _main suffix. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* fix for segv if topic has not been publishedMark Charlebois2015-04-201-2/+4
| | | | | | | | | | | | | If the topic has not been published, orb_copy returns a negative number which causes update() to memset the data contents to zero. In some instances data is a null pointer. This causes a segment violation crash. Added a check for data != 0 Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: Handle nullptr passed to I2C constructorMark Charlebois2015-04-201-1/+4
| | | | | | | I2C class derives from CDev class which requires a devname but in at least some instances, a nullptr is passed for devname. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: in printf cast uint64_t to unsigned long longMark Charlebois2015-04-202-5/+5
| | | | | | | | | | | | When printing a uint64_t type using %llu, this works on a 32bit system, but on a 64bit machine uint64_t is an unsigned long. The compiler complains about unmatching types. The time times in PX4 should likely have been unsigned long long and not uint64_t as that type changes per architecture. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: fixes for compilation with gcc-4.8 on IFC6410Mark Charlebois2015-04-201-2/+2
| | | | Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linus: print format fixes to build with clang on IFC6410Mark Charlebois2015-04-204-8/+8
| | | | Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: added support for sdlog2Mark Charlebois2015-04-208-28/+45
| | | | Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: I2C opens /dev/i2c-xMark Charlebois2015-04-202-2/+12
| | | | | | | | | | | For now it uses the bus number as the id. Not sure how this should actually be mapped. Seems like the I2C devices come up in random order and have random id but that a specific device can be found in the /sys/bus/i2c interface. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: Add support for blinkm to test I2C layeringMark Charlebois2015-04-206-2/+1035
| | | | | | Running the blinkm device to test I2C Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: added I2C classMark Charlebois2015-04-204-114/+76
| | | | Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: fix for undefined BO in mavlink_main_linux.cppMark Charlebois2015-04-202-2/+1
| | | | | | | | | | if termios.h is included before mathlib.h then BO is undefined. Since mathlib.h is not needed it was removed but I still don't know why this error occurs. Also added -lrt to link flags for clock_gettime Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux - revert to preferentially use clang over gccMark Charlebois2015-04-201-1/+0
| | | | | | Removed hardcoded requirement to use gcc Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: min gcc version is 4.8.1Mark Charlebois2015-04-201-2/+2
| | | | | | | | | | | | | | | | PX4 will not build with gcc-4.6. If you are running Ubuntu 12.04 still (you poor old sod) follow the directions at http://ubuntuhandbook.org/index.php/2013/08/install-gcc-4-8-via-ppa-in-ubuntu-12-04-13-04/ to install gcc-4.8.1 Alternatively you can install clang 3.4.1 for Ubuntu 12.04 from http://llvm.org/releases/3.4.1/clang+llvm-3.4.1-x86_64-unknown-ubuntu12.04.tar.xz Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: Added config and stubs to compile I2C device for LinuxMark Charlebois2015-04-209-503/+321
| | | | | | | Not yet functional. Full implementation will provide an IOCTL interface to do bi-directional transfer. will model the interface after Linux. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: run threads without SCHED_FIFO if not privilegedMark Charlebois2015-04-201-1/+6
| | | | | | | When running the process without sufficient privilege to use real time scheduling, warn the user and run with SCHED_OTHER. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: replaced getopt in ms5611_linux.cppMark Charlebois2015-04-201-55/+114
| | | | | | | | | ms5611 uses getopt to parse args but the static variable optind was not being properly updated. Replaced use of external getopt call with simple parser; Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: added HRT test, moved tests to linux/testsMark Charlebois2015-04-2026-23/+1923
| | | | | | Also fixed naming of mavlink files for NuttX build. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: Minor fixes of error caught by gcc-4.9.1Mark Charlebois2015-04-205-9/+13
| | | | | | - Missing static declarations for functions not used outside a file. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: Added support for gcc-4.9.1Mark Charlebois2015-04-202-3/+5
| | | | | | Fixed bug with missing quote in #error found by gcc 4.9.1 Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Support for building more modules with LinuxMark Charlebois2015-04-2053-353/+8454
| | | | | | | | | | | 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>
* Linux: added queue files for dataman supportMark Charlebois2015-04-205-3/+155
| | | | | | | | The dataman module now works under linux using /tmp/dataman as the file path. Two files from NuttX were added to the Linux impl for single linked queue handling. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Nuttx: fixed missing changes from AppMgr to AppStateMark Charlebois2015-04-209-22/+38
| | | | Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Added MuORB based on virtual CDev implementationMark Charlebois2015-04-2010-43/+1415
| | | | | | | uORB module now compiles and runs for Linux using the virtual CDev implementation. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Changed AppMgr to AppStateMark Charlebois2015-04-208-34/+45
| | | | | | | | The previous name implied some kind of daemon. AppState is aggregated state of an application's running state and interfaces to request app termination, and check app state. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Linux: add queue functions from NuttX and HRT stubsMark Charlebois2015-04-203-0/+390
| | | | | | | | | The High Resilution Timer functions are stubbed out for now. Certain queue functions are required to compile uORB so adding the queue.c from NuttX. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Added new file for virt dev posix-like functions and test caseMark Charlebois2015-04-208-206/+355
| | | | | | | | | Moved posix-like functions to vcdev_posix.cpp and updated the copyright notice. Added test case to make sure poll unblocks when a write occurs. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Fixes to compile again for NuttXMark Charlebois2015-04-203-8/+9
| | | | Signed-off-by: Mark Charlebois <charlebm@gmail.com>
* Revert uORB to previous versionMark Charlebois2015-04-201-62/+55
| | | | Signed-off-by: Mark Charlebois <charlebm@gmail.com>