The available version of cmake for Ubuntu 12.04 is too old.
The PPA listed does not currently work so the official
cmake webisite is a more reliable source to get cmake.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Virtualbox has issues with certain operations on shared folders
using the default sharing mechanism. These are overcome using
NFS sharing.
On Ubuntu, sudo apt-get install nfs-kernel-server
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The environment variable HEXAGON_TOOLS_ROOT must be set to the location
of the installed HexagonTools. This could be a global install at
/opt/HEXAGON_Tools/7.2.10/Tools or it could be a personal install
${HOME}/Qualcomm/HEXAGON_Tools/7.2.10/Tools.
The default install path used by the installer is exported in the Vagrantfile.
There is still an issue that the hexagon linker fails on mmap of the shared folder.
If the shared folder was mounted via NFS for Linux and MacOS the problem would be
resolved.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Enable build of posix_eagle_release.
Added path to ARM cross compiler in qrlsdk install.
Fixed warnings in Toolchain-arm-linux-gnueabihf.cmake
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
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>
Added PX4_BACKTRACE() to display stack trace for debugging
Added backtrace for HRT reschedule with 0 timeout
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
These files are expected to exist for current cmake rules and cmake
will warn if they do not exist.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Moved definitions of parameters into *params.c in each module.
This is used by the cmake file as a pattern for dependencies when
generating the parameters.xml file.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The latest version of Eigen is required to build with the Hexagon
7.4 toolchain. Only certain C++11 features are supported and the
latest version if Eigen provides these tests. A patch is required
to add support for the Hexagon compiler.
These changes force the sync and then update of eigen and allow it
to be patched for qurt.
The eigen-3.2 submodule was removed as it is no longer needed by the
qurt build with the updated toolchain.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The SIGCONT signal was being ignored by the HRT queue thread so the
usleep was not waking up early to process new work.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Added px4_parameters.c to nuttx executable src list.
Minor syntax fix in Tools/px_generate_params.py for semicolon.
Added handling of PX4_MAIN which was not yet supoprted in the
cmake build.
Fixed include quotes in muorb_test_example.cpp
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Use a struct to contain all the parameters so the ordering in
memory is not machine dependent.
Add number of parameters to the param struct. The struct actually
allows direct accessing by the member name if desired.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Changed to enable the posix_sitl_simple target to build and run
param show *
without using a linker script
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
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>
Added generation of build_git_version.h
Added separate src/lib/eigen-3.2 dir for qurt (new submodule)
Added patching of eigen-3.2 for qurt (compiler has issue with Complex)
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Created a dummy build_git_version.h so I did not have to figure out
how to generate it.
Commented out topic_listener.cpp from src/systemcmds/CMakeLists.txt
because it depends on a generated cpp file.
Link doesn't work mut many modules build
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Managed to get the deps set up to build the qurt modules using a
config file for the list of modules.
NuttX link options are being set somewhere that break the qurt build
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The current approach of distributing submodule inclusion logic makes
evert parent dir need to know about all build targets.
This approach goes back to the previous way of centralizing the build
dirs in a single file.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Removed incorrect nuttx checks (there should be no nuttx dependency).
Removed unsupported ARM targets. The posix build has not been tested on
CortexM targets.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The DSPAL headers are required to build for qurt. When we move to
a cmake build system, the DSPAL headers can be conditionally included.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Removed the re-definitions of the usage method in the posix/main.cpp file.
Added qurt_external_hook interface to call externally linked module.
Fixed code format to comply with PX4 style.
Added usage information to main app and handled cases for unknown arguments.
Fixed the orb_priority interface to use int32_t instead of int.
Fixes to get hil working with led changes.
Added the config_eagle_adsp.mk file and update the make files to to use new
include/lib paths
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
In order to use upstart to run PX4 it needs to run in daemon mode.
Added ability to test if a task is running in order to gracefully
shut down muorb.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Workaround required Eigen downgrade to 3.2. Hexagon toolchain does
not support C++11 features of newest version of Eigen.
Running make qurt_fixup will downgrade and patch Eigen for qurt.
Running make restore will revert the patch and do a git submodule update
to restore the expected Eigen version.
Added a "restore" target to undo qurt_fixup
Before doing a qurt build run:
make qurt_fixup
That will downgrade Eigen to 3.2 and apply the require patch.
To build another target after downgrading:
make restore
Them make the desired target (other than qurt).
Fixed type used in orb_priority to be consistent with the code
(int* was used in declaration but int32_t* used in code)
Removed unused class member variable in sensors.cpp
Added cmake fix for unit tests. The location of px4_log.c changed.
Fixed the qurt drv_hrt.c implementation to use us instead of ms for time resolution
Added px4_led.c to nuttx platform layer
Use the posix version of px4_led.c for nuttx so we don't end up with
duplicate files. It was moved out of common because it is not used by qurt.
Changed PX4_DEBUG to PX4_WARN when checking for the error condition for store_poll_waiter in vdev.cpp
Updated the px4_log.h file to make calls to the qurt_log functions.
The qurt_log function is defined in the platforms/qurt layer.
Added an option to control starting the commander module in HIL mode.
Moved the flight specific drivers to the configuration file instead of adding them
to the common tool chain file because HIL mode does not need them.
Added the uorb Subscriber and Publisher classes
Call PX4_ISFINITE macro instead of isfinite().
Added px4_led.c to nuttx platform layer
Use the posix version of px4_led.c for nuttx so we don't end up with duplicate files.
It was moved out of common because it is not used by qurt.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
These functions used vprintf which is not available on all platforms.
They also do not enable line and file debug output.
Changed to macros that preserve the output format. Uses new macro that
can be used to implement per object, runtime selectable logging
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Replaced test for __PX4_QURT with test for NAV_DEBUG.
Optimized implementation to remove code when flag is not set.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Ifdefed out deadcode in position_estimator_inav_main.c as the
deadcode does not compile for qurt.
Added fixes to get a successful build for posix-arm and qurt targets.
Removed CLOCK_REALTIME def from px4_time.h for qurt and removed unused
variables in att_est_q and mc_att_control.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Added DSPAL header paths to toolchain_hexagon.mk.
Made changes to build configuraion for QuRT to support HIL testing.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The POSIX and QURT platforms contain several duplicate files.
These files have been factored out into platforms/posix/work_queue.
The config files have been updated to include the
platforms/posix/work_queue module.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Changed muorb_fastrpc.cpp to px4muorb.cpp to match the name of the
library that implements the FastRPC calls.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>