Commit Graph
100 Commits
Author SHA1 Message Date
Mark Charlebois f3126e9d3a Fixes for DriverFramework, accelsim and gyrosim
DriverFramework was updated to properly delete nodes in managed lists.

Baro was fixed to use DriverFramework.

Accelsim was fixed with change to DriverFramework to return < 0 when start()
is called and the driver was already started, or stop() is called but the
driver was not running.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-24 22:46:20 -08:00
Mark Charlebois 36208255bd Address Sanitizer found delete vs delete[] issue
mavlink_main.cpp used new char[n] and delete vs delete[].

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-23 23:23:02 -08:00
Mark Charlebois 1aeca4f64d Fixed code format and removed unused std::list
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-23 23:09:10 -08:00
Mark Charlebois be0c5aaef5 Fixed documentation for decode_backtrace.py
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-23 21:37:55 -08:00
Mark Charlebois 08714d2c75 Fixed whitespace
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-23 21:31:50 -08:00
Mark Charlebois 0a8075ee33 Fixed accelsim
Accelsim runs the accel and mag separately now.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-23 21:30:33 -08:00
Mark Charlebois 5f4ee6ad9d Fixed decode_backtrace.py to return proper index
The algorithm was returning the function after the desired function

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-23 21:30:33 -08:00
Mark Charlebois 92e47eba76 Added tool to decode stack backtraces
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-23 21:30:33 -08:00
Mark Charlebois ec250ea9d4 Updated to latest DriverFramework
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-19 20:40:45 -08:00
Mark Charlebois 59b1e6b559 Added qurt stub for pthread_cont_init
Updated to latest DriverFramework

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-19 20:15:14 -08:00
Mark Charlebois 34410e7ce4 Changes for updated DriverFramework
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-19 19:03:10 -08:00
Mark Charlebois c4438bf50a Fix to move DriverFramework includes to common
Nuttx now gets to link phase. But there are two unresolved symbols:

arm-none-eabi/include/c++/4.7.4/bits/basic_string.h:1128: undefined reference to `std::string::assign(char const*, unsigned int)'
arm-none-eabi/include/c++/4.7.4/bits/stl_list.h:1534: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-19 09:35:18 -08:00
Mark Charlebois 0383324a89 Merge pull request #3214 from mcharleb/driver_framework_latest
Driver framework latest
2015-11-19 09:02:03 -08:00
Mark Charlebois 054b5420a6 Code style fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-18 20:35:16 -08:00
Mark Charlebois 169a873457 Fix compiler complaint about bogus uninitialized variable
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-18 20:33:38 -08:00
Mark Charlebois 7111e9d4c9 Removed -lstdc++ for nuttx build
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-18 20:18:22 -08:00
Mark Charlebois 52957ab0cc Don't add DriverFramework dir for NuttX
I am unable to get the nuttx build dependencies set up so that
it builds the export dir before it builds df_driver_framework.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-18 20:14:48 -08:00
Mark Charlebois af155b8e59 Fixed SITL build
The SITL build seems to run correctly now

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-18 13:02:39 -08:00
Mark Charlebois b8c40ecb6b Enabled DriverFramework drivers for SITL build
The code here works only for SITL at the present time.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-18 11:58:21 -08:00
Mark Charlebois d2cacb9bc6 Added changes to sensors.cpp for DriverFramework
This only works for DF based builds (not NuttX).
NuttX is not yet ported to DF.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-17 23:17:52 -08:00
Mark Charlebois 0e1ddff5b7 Merge pull request #3205 from mcharleb/driver_framework_latest
Driver framework latest
2015-11-17 19:37:11 -08:00
Mark Charlebois 238db8c6d7 Moved IOCTL definitions to DevIOCTL.h in DriverFramework
Removed sched.h from platform/qurt since it is now in DSPAL.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-17 19:30:51 -08:00
Mark Charlebois 0544d06ad0 Changed dspal submodule to come from ATLFlight
The dspal headers were moved to a github organization.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-17 16:13:42 -08:00
Mark Charlebois 64a05f43bd Merge pull request #3194 from mcharleb/driver_framework_latest
Set flags for building the proper DriverFramework target
2015-11-16 23:46:48 -08:00
Mark Charlebois 8882e10278 Updated DriverFramework
Fixed static function that was not marked static

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 23:41:53 -08:00
Mark Charlebois 8a6b719897 Updated DriverFramework
Fixed failure due to float promotiion to double

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 23:35:39 -08:00
Mark Charlebois 1bcb93180b Set flags for building the proper DriverFramework target
The DF_TARGET cmake variable needs to be set to (linux, darwin, qurt, nuttx)
The define __DF_LINUX or __DF_QURT needs to be set.
The __DF_DARWIN target is untested

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 23:24:59 -08:00
Mark Charlebois 9afec98740 Merge pull request #3191 from mcharleb/driver_framework_latest
Updated to latest DriverFramework
2015-11-16 21:10:00 -08:00
Mark Charlebois 62eba58fb4 Code format fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 17:46:22 -08:00
Mark Charlebois befec98e17 Fixed adcsim
Was missing call of base class init().

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 17:42:33 -08:00
Mark Charlebois b6963be9eb Fixed gyrosim
Was not calling base class init()

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 17:35:54 -08:00
Mark Charlebois 618626103f Use DevMgr::getNextDevicePath()
Also, a fix for number of args passed for accelsim.

Updated to newest version of DriverFramework.

DF drvices show up now in list_devices

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 16:57:57 -08:00
Mark Charlebois 3f20d78dfe Fixed code style
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 14:01:39 -08:00
Mark Charlebois dbe3b0e52b Re-enabling code to handle DF framework
Updated to latest DriverFramework and changed ioctl args to
unsigned int from void *.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 13:51:39 -08:00
Mark Charlebois 40b488d693 Updated to latest DriverFramework
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-16 11:59:30 -08:00
Mark Charlebois efd9995a10 Ported more simulated sensors to DriverFramework
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-10 07:45:13 -08:00
Mark Charlebois 84e9380b10 Commened out manditory use of Clang-3.6
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-10 13:21:13 +01:00
Mark Charlebois de1a7b30ce gyrosim and adcsim now compile with DriverFramework enabled
Only the posix build is tested for compilation

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-10 13:21:13 +01:00
Mark Charlebois 847b604841 Added Gyrosim
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-10 13:21:13 +01:00
Mark Charlebois dc3d805386 Removed unussed function
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-10 13:21:13 +01:00
Mark Charlebois 9074d3dd8e Adding in DriverFramework
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-10 13:21:13 +01:00
Mark Charlebois 7ddd5712c5 Integrated DriverFramework
Refacored ADCSIM
Compilation succeeds. Link not yet fixed.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-10 13:21:13 +01:00
Mark Charlebois 40c079efa8 Ported accelsim, gyrosim and adcsim to DriverFramework
Need to handle _pub_blocked flag in DriverFramework as a PX4
specific implementation.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-09 10:26:28 -08:00
Mark Charlebois 6e19d9cb84 Commened out manditory use of Clang-3.6
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-09 07:37:30 -08:00
Mark Charlebois 596a2789d6 gyrosim and adcsim now compile with DriverFramework enabled
Only the posix build is tested for compilation

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-09 07:37:30 -08:00
Mark Charlebois ce97aea1bf Added Gyrosim
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-09 07:37:30 -08:00
Mark Charlebois 1b7a6fffca Removed unussed function
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-09 07:37:30 -08:00
Mark Charlebois 143fd4aec6 Adding in DriverFramework
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-09 07:37:30 -08:00
Mark Charlebois d04a4969e2 Integrated DriverFramework
Refacored ADCSIM
Compilation succeeds. Link not yet fixed.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-09 07:37:30 -08:00
Mark Charlebois 8d59d08ad6 Removed unnecessary header files from accelsim
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-29 12:21:52 -07:00
Mark Charlebois a5c002ac2e Removed more accelsim deadcode
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-29 12:17:24 -07:00
Mark Charlebois 21ef602b5a More accelsim cleanup
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-29 12:12:38 -07:00
Mark Charlebois 474e376f96 Removed deadcode from accelsim
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-29 12:04:19 -07:00
Mark Charlebois 461f72dcee Updated instructions for installing cmake to newer version
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>
2015-10-28 21:58:34 +01:00
Mark Charlebois e2ec4af127 Switched Vagrant to use static IP
MacOS was having isues with DHCP for NFS shared folder

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-25 23:36:57 +01:00
Mark Charlebois d030608def Modified Vagrantfile to use NFS folder sharing
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>
2015-10-23 21:09:29 -07:00
Mark Charlebois 01ccbd8886 qurt: added HEXAGON_TOOLS_ROOT variable
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>
2015-10-23 20:52:03 -07:00
Mark Charlebois 8349ba180b DSPAL: removed simlinks that broke vagrant build
Vagrant did not like the simlinks in the dspal repo.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-23 20:50:57 -07:00
Mark Charlebois 4b1e4e63f0 eagle: Added posix_eagle_release to Makefile
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>
2015-10-23 09:06:18 +02:00
Mark Charlebois 224af93bbb Merge pull request #3042 from mcharleb/hexagon-7.2.10-toolchain
qurt: Change to Hexagon 7.2.10 compiler
2015-10-22 14:32:39 -07: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
Mark Charlebois 938798f4db Removed qurt patch for Eigen and updated eigen commit
The patches for Hexagon support are in the eigen repo so
the patch can now be removed.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-20 08:48:11 +02:00
Mark Charlebois 2cdd6c6055 Corrected logic for gcc build on Apple
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-20 08:47:08 +02:00
Mark Charlebois 79b4bd60b2 Fixed clang builds on Linux
The link needed --start-group and --end-group for clang on Linux
for posix builds.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-20 08:47:08 +02:00
Mark Charlebois 468bac71c2 Fixed PRI64 to PRId64 in generate_listener.py
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-19 10:05:04 -07:00
Mark Charlebois 8e82ced5a4 Added backtrace function
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>
2015-10-19 09:41:49 +02:00
Mark Charlebois f6f6b035d6 Fixed cmake else statements
Removed use of if(foo) else(foo) endif(foo) convention of cmake

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-10 02:19:59 -07:00
Mark Charlebois 3af75438fd Create external/Install/{lib|include}
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>
2015-10-10 01:47:17 -07:00
Mark Charlebois bc2ea895ea renamed test_param.c test_params.c
Changed name to match search pattern *params.h

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-10 01:22:35 -07:00
Mark Charlebois c28ae649a3 Fixes for parameters.xml dependencies
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>
2015-10-10 01:15:22 -07:00
Mark Charlebois c5e66e41f1 qurt: Must use latest version of Eigen
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>
2015-09-28 10:49:48 -07:00
Mark Charlebois 3f758490a4 QuRT: move to HexagonTools 7.4 toolchain
Some subsystems error on frame size without the included patches.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-24 15:16:01 -07:00
Mark Charlebois 300932bde3 QuRT: fixes to unbreak cmake build for QuRT
Updated DSPAL version.
Fixed missing lib in config.
Fixed heafers for missing timespec definition.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-24 15:16:00 -07:00
Mark Charlebois 1abd61303f qurt: Added patch for Eigen to use latest version
Updated to 7.2 Hexagon toolchain

Fixed issuse with stack usage

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-24 15:16:00 -07:00
Mark Charlebois ed70a1a1b0 Updated dspal version
Fix to remove dspal version of signal.h

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-16 17:08:14 -07:00
Mark Charlebois 3a2e064c92 Fixed error due to set but unused variable
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-16 15:58:15 -07:00
Mark Charlebois 7d2ba97511 Fixed poll timeout bug
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>
2015-09-16 15:24:58 -07:00
Mark Charlebois 6feaccca78 posix: unit test for poll and vdev
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-16 14:00:51 -07:00
Mark Charlebois c602d55df9 Start of poll testcase
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-16 08:14:44 -07:00
Mark Charlebois 0a04dd89b1 Merge branch 'cmake-2' of https://github.com/PX4/Firmware into cmake-2
Signed-off-by: Mark Charlebois <charlebm@gmail.com>

Conflicts:
	CMakeLists.txt
2015-09-12 12:28:24 -07:00
Mark Charlebois 3da0a2bf4f Remove policy that broke posix and fix gcc warning
A Clang only flag was set for all builds.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-12 11:22:13 -07:00
Mark Charlebois ce17984bd5 qurt: removed linker script
Linker script no longer needed for qurt target

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-11 18:48:37 -07:00
Mark Charlebois 8369e33245 cmake: Fixes for qurt and nuttx
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>
2015-09-11 18:32:44 -07:00
Mark Charlebois 1bba87c264 qurt: Changes for cmake build
Added build stubs.
Fixed missing module (platforms/common) which was causing missing generated message errors.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-11 17:43:25 -07:00
Mark Charlebois e4b9212e96 cmake: Updated makefie to show the available build configs
Also fixed param support for nuttx and qurt

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-11 16:15:48 -07:00
Mark Charlebois 05340f4ced Merge branch 'cmake-2' of https://github.com/jgoppert/Firmware into cmake-mc 2015-09-11 12:42:53 -07:00
Mark Charlebois fc3acdb2c1 cmake: param refactoring
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>
2015-09-11 12:41:00 -07:00
Mark Charlebois b9ef1ee6ed param: Build param without linker script
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>
2015-09-11 02:33:42 -07:00
Mark Charlebois 885dbe045f cmake: converted config files to new style
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 21:52:55 -07:00
Mark Charlebois 3de04cf6f4 cmake: fixes for posix configs
The posix eagle targets were fixed to include the px4_impl_posix.cmake file

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 20:17:38 -07:00
Mark Charlebois ad4e31c88a cmake: Missed anm insuance of config_
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 20:07:38 -07:00
Mark Charlebois 98897960e1 cmake: removed config_ prefix
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 20:02:31 -07:00
Mark Charlebois 0047b38c54 cmake: added Toolchain-arm-linux-gnueabihf
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 19:52:23 -07:00
Mark Charlebois 3b118a0ea7 cmake: Removed obsolete UPLOAD and TEST logic
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 19:43:54 -07:00
Mark Charlebois 4beabff26b cmake: fixed posix configs
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 19:38:22 -07:00
Mark Charlebois cbb8ad19e5 cmake: Proof of concept for build without Makefile
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 19:15:11 -07:00
Mark Charlebois 5aa3c45b63 cmake: Unbreak all qurt and posix targets
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 19:01:51 -07:00
Mark Charlebois d5a404896d Merge branch 'cmake-2' of https://github.com/jgoppert/Firmware into cmake-mc 2015-09-10 18:39:12 -07:00
Mark Charlebois 270bc2ef5d cmake: Fixed configs to use px4_get_config
The previous function name was changed to px4_get_config

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 18:37:54 -07:00