Commit Graph

268 Commits

Author SHA1 Message Date
Mark Charlebois 851a020461 Eagle: posix-arm and qurt changes to support Eagle HW platform
The Eagle HW platform contains both a Krait (ARMv4hf compatible) cpu
cluster and a Hexagon DSP running QuRT.

These changes support the PX4 build for Eagle.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-07-01 09:48:50 -07:00
Lorenz Meier 454becdae5 Merged release_v1.0.0 branch into master 2015-06-25 21:45:17 +02:00
Lorenz Meier c402d0c2f7 Commander: updated mag calibration routine, matlab script updates 2015-06-25 14:44:24 +02:00
Lorenz Meier e28e4cb84c Matlab mag: Update to real scaling, resulting fits confirm results 2015-06-25 14:44:23 +02:00
Lorenz Meier a4a6e69521 Matlab tools: Add ellipsoid fit 2015-06-25 14:44:23 +02:00
Lorenz Meier baca229b95 Tools: Add Matlab script to plot mag data 2015-06-25 14:44:23 +02:00
Mark Charlebois 834e3c0587 SITL: updated README and rc.S
Changed rc.S to rcS.

Updated README.md to explain the require directory structure and
where to run mainapp from for SITL to work correctly.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-15 15:48:12 -07:00
Mark Charlebois 729653ba71 SITL: changed posix_default to posix_sitl
The SITL build is now the default posix build.

The linker script for posix was moved to makefiles/posix.
The rc.S file was moved to posix-configs/SITL/init/
The POSIXTEST board definition is now SITL

To run the SITL test run:

make sitlrun

This replaces the make posixrun target.

The build directory is now Build/posix_sitl.build/

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-15 09:51:07 -07:00
Mark Charlebois c9be962f4c POSIX: Modified posix_run.sh to create rootfs dirs
The default rootfs is now in:

Build/posix_default.build/rootfs/

The subdirs fs/microsd and eeprom are now created if they do not exist.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-11 21:44:21 -07:00
Mark Charlebois 0c43803ec7 POSIX: Fixed syntax error in posix_apps.py
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-11 21:03:45 -07:00
Mark Charlebois aaac4708a5 Merge branch 'bringup-m1' of https://github.com/mcharleb/Firmware into bringup-m2
Conflicts:
	Tools/posix_apps.py

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-11 20:38:47 -07:00
Mark Charlebois 83bcb95999 POSIX: Added sleep command
The baro was not fully initialized when the sensors module tried to
open it. Added a sleep command and a sleep 2 to rc.S so the baro
is initialized by the time the sensors module tried to read it.

Fixed other noisy errors

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-11 17:28:46 -07:00
Kyle Manna c593451e5d Tools: Convert Python 2 syntax to Python 3 compatible
* The `print """` syntax appears invalid in Python 3 which is the
  default for the Python binary on my system (and soon many more).
* Convert the file (using `2to3`) to a version that's compatible with
  Python 2 and Python 3.
* Tested against Python 2.7.10 and 3.4.3.
2015-06-11 00:07:54 -07:00
Ban Siesta f73a942c05 Tools: don't try to generate messages for hidden files starting with a
dot.
2015-05-24 09:24:17 +01:00
Mark Charlebois 00296ba241 POSIX: Fixed uint64_t print in generated topic_listener.cpp
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-19 16:42:55 -07:00
Mark Charlebois 884f62878d QuRT: pthread API now working
The use of std::map and static initialization was an issue.

The code was refactored to not use static initialization.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-13 16:21:52 -07:00
Mark Charlebois 3db5f3bb3b QuRT: toolchain changes
Reworking toolchain and main.cpp for QuRT to a final link can be
done and the apps.h file is autogenerated.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-12 11:37:28 -07:00
Mark Charlebois 4216a0d64d POSIX: remove check for /tmp/ttyS{0|1}
The posix build now disables the UART code in mavlink.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-07 10:46:10 -07:00
Mark Charlebois 6db77dc8bb Experimental virtual file support
QuRT does not have a filesystem, so creating a virtual filesystem
that could be implemented as an in-memory file or a remote file
over fastRPC.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 22:12:45 -07:00
Mark Charlebois 872e1ebda0 GCC fixes for warnings
GCC was more picky about prototypes for inlines being required.

The generate_listener.py script used incorrect printf formats and
was casting %f params to float, but printf casts all %f params to
double per the spec.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 11:45:23 -07:00
Mark Charlebois 12a25e4b63 Merge remote-tracking branch 'upstream/master' into linux
Signed-off-by: Mark Charlebois <charlebm@gmail.com>

Conflicts:
	makefiles/firmware.mk
	src/modules/commander/module.mk
	src/modules/mavlink/mavlink_ftp.h
	src/modules/mavlink/mavlink_tests/module.mk
2015-05-04 16:36:59 -07:00
tumbili 4b34d0c297 improved topic listener 2015-05-04 23:10:23 +02:00
Thomas Gubler 07f6165290 make parameter parser work with python3 2015-05-04 14:04:09 +02:00
Mark Charlebois 8e589adb24 topic_listener: added missing build deps
The posix build would complain that toipc_listener.cpp did not exist
and there was no rule to create it.

The required rule was added to src/systemcmds/topic_listener/module.mk

The script generate_listener.py is run from the Build tree and needs to
access $(PX4_BASE)/msgs so $(PX4_BASE) is now passed as an argument to
generate_listener.py

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-26 20:02:58 -07:00
tumbili 3af6e9d76e added autogenerated code for topic listener tool 2015-04-26 22:17:16 +02:00
Mark Charlebois f63ab3d5e3 Merge branch 'master' into linux
Signed-off-by: Mark Charlebois <charlebm@gmail.com>

Conflicts:
	makefiles/firmware.mk
2015-04-22 10:38:46 -07:00
Mark Charlebois 19162ba5be Posix: Changed PreflightCheck to read Vdev
PreflightCheck was failing because it was trying to read actual
devices instad of virtual devices.

ADCSIM had a LINUXTEST ifdef that was removed.

posix_run.sh was using the wrong path

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-21 17:14:52 -07:00
Don Gagne 6bf0a2618b Add support for board attribute to parse output
This allows for writing parameter meta data which is specific to a
board type
2015-04-21 12:31: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 6ce0b7b753 QuRT: added missing make pieces
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:37:51 -07:00
Mark Charlebois d2f0572ce6 Linux: added builtins to show devices and topics
list_devices will list virtual devices starting with "/dev/".
list_topics will list topics ("/obj/")

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:37:50 -07:00
Mark Charlebois 87a8289a22 Linux: changed adc to adcsim and add barosim
The name of the app was adc but should have been adcsim.
Added a barometer simulator.

This will allow ms56711_linux to depend on real devices and not
simulation.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:35:48 -07:00
Mark Charlebois f0312d2da0 Linux: Added commands to show threads and devices
The list_tasks and list_devices commands will show
lists of running px4 threads and created virtual device nodes.

The list_builtins command was removes and the list of commands
will be shown if return is pressed.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:35:47 -07:00
Mark Charlebois 80c5812861 Linux: run socat as user not as root
If sudo is used to run socat the tty cannot be opened by a regular user

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:35:47 -07:00
Mark Charlebois cf71db74d7 Support to specify build time OS target
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>
2015-04-20 11:16:26 -07:00
Mark Charlebois 2cd44a24ea Linux: Added linker script support for param and added mc_att_control
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>
2015-04-20 11:16:26 -07:00
Mark Charlebois 526b0e68eb Linux: modified shell to not show _main suffix
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>
2015-04-20 11:15:13 -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
Lorenz Meier f8cf495494 Revert "Added ability for board specific meta data generation"
This reverts commit 9ac350a7d1.
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
Don Gagne 202cfd21d0 Change to V2 spec of param meta data
Had to switch to ElementTree to get attribute support
2015-04-16 10:21:18 -07:00
Don Gagne 2fa0c333cb Add version number to parameter meta data 2015-04-15 14:53:06 -07:00
Don Gagne 05c351183f Parameter meta data fixes 2015-04-15 11:29:37 -07:00
Don Gagne c8452bb9d6 Store parameter xml size
This is needed in order to decompress in QGroundControl
2015-04-14 19:17:30 -07:00
Andreas Antener e2d27ade2e remove ROS install scripts, they are now in PX4/containers 2015-04-06 14:02:14 +02:00
Daniel Agar 5cc1a5dfda check_code_style exclude eigen 2015-03-27 19:08:44 -04:00
Lorenz Meier 7554eb515a Fix ROS install instructions 2015-03-25 01:02:29 -07:00
Lorenz Meier 8a584be530 Fix missing dependencies 2015-03-24 14:55:17 -07:00
Lorenz Meier f26edd20f6 Add missing gflags 2015-03-24 14:50:22 -07:00
Lorenz Meier 14247d95dd Ensure Eigen is installed as submodule 2015-03-20 00:01:32 +01:00