Commit Graph

230 Commits

Author SHA1 Message Date
Mark Charlebois df53defca6 Linux: Add support for blinkm to test I2C layering
Running the blinkm device to test I2C

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:13:24 -07:00
Mark Charlebois 2feeecdab1 Linux: Added config and stubs to compile I2C device for Linux
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>
2015-04-20 11:13:24 -07:00
Mark Charlebois 598b05fcba Linux: run threads without SCHED_FIFO if not privileged
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>
2015-04-20 11:07:00 -07:00
Mark Charlebois ac0df5c61d Linux: added HRT test, moved tests to linux/tests
Also fixed naming of mavlink files for NuttX build.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:07:00 -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 88a0081112 Linux: Added support for gcc-4.9.1
Fixed bug with missing quote in #error found by gcc 4.9.1

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 2abfb7a5be Linux: added queue files for dataman support
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>
2015-04-20 11:00:18 -07:00
Mark Charlebois 7b0783a070 Added MuORB based on virtual CDev implementation
uORB module now compiles and runs for Linux using the
virtual CDev implementation.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:00:18 -07:00
Mark Charlebois 938751993d Changed AppMgr to AppState
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>
2015-04-20 11:00:18 -07:00
Mark Charlebois 5259f1c861 Linux: add queue functions from NuttX and HRT stubs
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>
2015-04-20 11:00:18 -07:00
Mark Charlebois 9718404d7f Added new file for virt dev posix-like functions and test case
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>
2015-04-20 11:00:17 -07:00
Mark Charlebois 97a72563b8 Fixes to compile again for NuttX
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:00:17 -07:00
Mark Charlebois f3596e555b Added
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:00:16 -07:00
Mark Charlebois 0553a68a1a Fixed usage string for hello app
hello should have been hello_main

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 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 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
Thomas Gubler 747a00d70d simulator repository was renamed 2015-04-09 20:08:11 +02:00
Andreas Antener 9924f5519f update attitude and position setpoint topics 2015-04-08 13:41:40 +02:00
Bharat Tak a8d4572cfa Fix issue #1972. Tested in gazebo and verified vehicle_status.arming_state on rqt_plot 2015-04-03 11:14:40 +02:00
Daniel Agar 8aae66b893 trivial code style cleanup round 2 2015-03-27 23:38:58 -04:00
Daniel Agar c2abb0f82a fix code style if trivial one line difference 2015-03-19 23:49:36 +01:00
Andreas Antener 050473b3b5 added member vars for att_sp and offboard_control_mode 2015-03-15 12:25:52 +01:00
Andreas Antener 6f22cd07da fixing handling of attitude setpoints 2015-03-15 12:10:53 +01:00
Thomas Gubler c07c39bc43 update ros launch files and nodes for update of rotors_simulator 2015-03-10 20:56:53 +01:00
Andreas Antener cbbc660b88 arm automatically when offboard control mode is set 2015-02-28 18:25:36 +01:00
Thomas Gubler e5d54a487f ros offboard attitude sp demo: move attitude 2015-02-28 18:25:36 +01:00
Thomas Gubler 7ff84c0dcf ros: offboard attitude demo node: make quad jump 2015-02-28 18:25:36 +01:00
Thomas Gubler 5b0423109f ros mavlink dummy node: improve offboard attitude setpoint handling 2015-02-28 18:25:36 +01:00
Thomas Gubler 27511324ff ros: add offboard attitude sp demo (WIP) 2015-02-28 18:25:35 +01:00
Thomas Gubler 80fbb512c9 ros: mavlink node: update to latest offboard code 2015-02-28 18:25:35 +01:00
Thomas Gubler c4b4c5fa41 fix year in file header 2015-02-28 18:25:35 +01:00
Thomas Gubler 1a6cbe170c ros: demo node for offboard position setpoints 2015-02-28 18:25:35 +01:00
Thomas Gubler b829b553f4 ros: mavlink dummy node: actually call handle_msg_set_position_target_local_ned 2015-02-28 18:25:35 +01:00
Thomas Gubler 8b40112e9f ros: commander dummy node: fix offboard support 2015-02-28 18:25:35 +01:00
Thomas Gubler ae64e4e05c ros: manual input (joystick) node: correctly initilize switches 2015-02-28 18:25:35 +01:00
Thomas Gubler 5beafd25e6 ros: mavlink dummy node: handle position target local ned mavlink messages and forward them to position_setpoint_triplet 2015-02-28 18:25:35 +01:00
Thomas Gubler 6e69558b42 enable force setpoint message for multiplatform 2015-02-28 18:25:35 +01:00
Thomas Gubler ca250d21eb ros: mavlink dummy node: listen to vehicle local position and publish to mavlink (LOCAL_POSITION_NED) 2015-02-28 18:25:35 +01:00
Thomas Gubler 582c664a9c ros: commander dummy node: set control flags in offboard mode 2015-02-28 18:25:35 +01:00
Thomas Gubler 01b8a18ad5 ros: mavlink dummy node: parse attitude target messages 2015-02-28 18:25:35 +01:00
Thomas Gubler 4869f9f3d4 ros:manual input dummy node: add offboard button 2015-02-28 18:25:35 +01:00
Thomas Gubler 3475d8883b enable offboard control mode topic for multiplatform 2015-02-28 18:25:34 +01:00
Thomas Gubler 93f8fc33c8 ros mavlink node: handle set_attitude_target 2015-02-28 18:25:34 +01:00
Thomas Gubler 3e5cbfcf77 ros: mavlink onboard node: send attitude via mavlink 2015-02-28 18:25:34 +01:00
Thomas Gubler 001575e740 ros: mavlink node: add mavconn link 2015-02-28 18:25:34 +01:00