Commit Graph
73 Commits
Author SHA1 Message Date
jwilson 2b4b9aa103 Debug statements included in the code. 2016-02-19 16:59:49 +01:00
Julian Oes 928a31b59a QURT: use drv_hrt.c from POSIX 2016-02-19 16:59:47 +01:00
Julian Oes b2ad3f5fbd POSIX: get px4_poll right
Like this the timeouts are going through instead of hanging everything.
2016-02-19 16:59:47 +01:00
Julian Oes 9e77f554d2 px4_qurt_tasks: fix timeout calculation
It was wrong to subtract seconds and nanoseconds from each other. This
will wrap, therefore use ts_to_abstime and do the subtraction
afterwards.
2016-02-19 16:59:47 +01:00
Julian Oes dbd89fe584 px4_qurt_tasks: fix hang because of absolute time
The timeout was triggered using absolute time instead of a delay in
usec. This lead to the system hanging. With the fix it continues after
the timeout, however, the rates still don't seem right.
2016-02-19 16:59:47 +01:00
Julian Oes c726e2b807 px4_qurt_tasks: fix header 2016-02-19 16:59:47 +01:00
Julian Oes ec8a58a9ac df_imu: get the accel to publish to uORB 2016-02-19 16:59:46 +01:00
Mark Charlebois 791ec37f43 Code formatter fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:46 +01:00
Mark Charlebois caa94d58a6 Manually integrated Jim's changes from integrate2_jim branch
Signed-off-by: Jim Wilson <jywilson99@hotmail.com>
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:46 +01:00
Mark Charlebois aa8117e9e4 Removed stubs now resolved in adsp static image
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:45 +01:00
Mark Charlebois 2e0ecc930f Added missing stub functions for qurt build
No wchar support in current aDSP image.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:45 +01:00
Mark Charlebois 1c5bfd28f0 Added fprintf fputc and _StdErr definitions
PX4 uses fprintf in numerous places but it is not supported by qurt.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:45 +01:00
Mark Charlebois 2c4187f21f Resolved missing symbols for qurt build
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:45 +01:00
Mark Charlebois cb788d2c4f Removed extra carriage return
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:45 +01:00
Mark Charlebois 8b22bde071 Code format fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:45 +01:00
Mark Charlebois 014f15d8b0 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois 2938d23c6c Removed stubs now resolved in adsp static image
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois e6d27f019e Added missing stub functions for qurt build
No wchar support in current aDSP image.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois 4f84a6d81e Added missing apps.h include
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois 1fff0d6d55 Added fprintf fputc and _StdErr definitions
PX4 uses fprintf in numerous places but it is not supported by qurt.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois a495e3442c Resolved missing symbols for qurt build
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois b9fb4c48ad Fixed unresolved symbols
ecl module was missing for release build
qurt_external_hook() was missing.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois 4e79300bdb Removed extra carriage return
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:42 +01:00
Mark Charlebois 5846a22a8f Code format fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:42 +01:00
Mark Charlebois 9f3bf8e9f4 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Mark Charlebois f22c574b87 Integrated cmake_hexagon for qurt build
Still a WIP since the IDL file needs to be replace with the
muorb IDL file.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-01-10 20:54:26 +01:00
Mark Charlebois c17466ffee Added fix for missing declaration of get_commands for qurt
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-01-09 01:54:00 +01:00
Lorenz Meier 0adb6d0104 Fix QuRT formatting 2016-01-09 01:42:30 +01:00
Mark Charlebois 5bc2019fd5 Fixes for qurt build
Added missing functions that were added for other targets but not for qurt.

Added workaround for missing sem_timedwait(). This may have a performance
impact until a sem_timedwait is supported.

std::to_string is not supported by the hexagon compiler

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-01-08 08:49:36 +01:00
Lorenz Meier 2d72c95eda Add new posix_eagle_default and qurt_eagle_default targets 2016-01-02 09:30:51 +01:00
Lorenz Meier a003013fd9 QuRT: Set thread attributes correctly 2015-12-03 14:28:37 +01:00
Lorenz Meier 567935dedb QuRT: Fix formatting 2015-10-19 13:35:05 +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 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 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 8dc5d7532e Added more eagle build configurations
The config_qurt_eagle_travis.cmake target is for CI

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 15:00:20 -07:00
Mark Charlebois 9c376119d0 cmake: changes required for qurt build
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>
2015-09-09 13:24:29 -07:00
Mark Charlebois 29520dc5b1 Fixed nuttx libs in qurt build
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-08 14:07:43 -07:00
James Goppert 1d6b31d196 Switch to cmake build system. 2015-09-07 20:37:45 -04:00
Mark Charlebois 54bae34a2c Build fixes for qurt after rebase on PX4 master
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>
2015-09-04 11:09:29 -07:00
Mark Charlebois 3a47434749 Fixes for qurt HIL build
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>
2015-08-25 21:59:01 -07:00
Mark Charlebois 009f528266 Fixes for posix-arm and qurt builds
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>
2015-08-05 18:34:46 -07:00
Mark Charlebois a96db1580f Platform cleanup - remove duplicate files
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>
2015-07-28 20:08:50 -07:00
Don Gagne 93455b92e4 Fix duplicate param definition 2015-07-22 09:59:02 -07:00
Mark Charlebois b5e6111d7c QuRT: src/platform/qurt changes
Changes to support QuRT intrgration with DSPAL and
move from simulator to real HW.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-07-01 12:54:27 -07:00
Mark Charlebois da2ac877f8 POSIX: Changed px4_poll to use hrt_work queue
QuRT's pthread_cancel implementation is lacking, and causes px4_poll to
always wait for the maximumn timeout. A cleaner implementation is provided
that uses the HRT work queue for posix targets.

In the future the posix code should be rtefactiored so that qurt (and other)
implementations that are duplicated, use the posix implementation.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-29 19:08:06 -07:00
Mark Charlebois 9ef7db6a36 QuRT: Added missing hrt workqueue files
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-11 18:16:29 -07:00
Mark Charlebois e4a8f32f1b QuRT: Added HRT workqueues as per POSIX
A high rate workqueue is required that acts like an interrupt handler
for a HW timer.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-11 18:13:36 -07:00
Mark Charlebois 7bb70313da POSIX: use px4_getpid()
The posix build only has one process so calling getpid() will not
provide the expected result.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-08 22:22:00 -07:00
Mark Charlebois cb231e89f6 QuRT: Changes to enable qurt target to build
QuRT doesn't support unlink and does not provide getpid().
The DSPAL layer provides access to usleep so an implementation is
no longer needed.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-08 22:22:00 -07:00