Commit Graph

946 Commits

Author SHA1 Message Date
Carlo Wood 6fc30c76a6 Clean up of app.h
app.h, generated from app.h_in, has unnecessary code duplication
and isn't a header file (it defines globals, static functions
and doesn't have a header guard, moreover, it has a 'using namespace
std;'). Because of this, a real headerfile that declares the stuff
defined in apps.h was missing leading to even more code duplication:
scattered forward declarations in .cpp files and an often repeated
type of std::map<std::string, px4_main_t>.

This patch moves cmake/qurt/apps.h_in to src/platforms/apps.cpp.in
(with some changes) and removes cmake/posix/apps.h_in.
Then src/platforms/apps.cpp.in is split into src/platforms/apps.cpp.in
and src/platforms/apps.h.in, splitting declarations from definitions.

A typedef is defined for the map (apps_map_type).

The main difference between cmake/posix/apps.h_in and
cmake/qurt/apps.h_in was that the first defined a global 'apps',
while qurt stores the apps in QShell. I opted to get rid of
the global variable (which are in general evil for various reasons)
and used the API of cmake/qurt/apps.h_in where a provided 'apps'
map is initialized with a call to init_app_map. Thus removing
the existing code duplication.
2016-10-22 08:31:14 +02:00
Lorenz Meier 21bc78dedc Update ROS att estimator and remove unused rotation matrix 2016-10-19 10:17:41 +02:00
Lorenz Meier b035b6a112 Remove non-quaternion handling for ROS attitude 2016-10-18 20:46:08 +02:00
Julian Oes f8a1631077 DriverFramework/cmake_hexagon: use defines with DF
This changes the following defines:

__QURT -> __DF_QURT
__RPI -> __DF_RPI
__EDISON -> __DF_EDISON
__BEBOP -> __DF_BEBOP
__LINUX -> __DF_LINUX
2016-10-18 08:07:14 +02:00
Gene 5cd85b98c2 Fixed app args buffer overrun in qurt px4_layer main.cpp and qshell.cpp 2016-10-06 11:06:57 +02:00
Glenn Bitar 6d41ab9e16 Fixed order of arguments in px4_task_spawn_cmd.
Fixes #5601
2016-10-05 08:34:58 +02:00
Beat Küng b6b8892606 hrt_queue: add px4_posix.h include for px4_getpid() 2016-09-30 13:50:51 +02:00
Beat Küng e061842219 posix main: only try to generate symlinks if data path argument given
if not given, the dirs are either not needed (eg RPI) or assumed to
exist already
2016-09-30 13:50:51 +02:00
Beat Küng 241fd629ce ERROR macro: get rid of the many 'oddly, ERROR is not defined for c++', use PX4_ERROR 2016-09-30 13:50:51 +02:00
Beat Küng cf5338df02 accelsim: lower publisher rate to 250Hz 2016-09-30 13:50:51 +02:00
Beat Küng 27aaf244af fix accelsim: ACC_READ cannot be 0 (it's used to check if a bit is set)
before that, accel data was all 0, but since the gyrosim also publishes
accel data, it was not a problem.
2016-09-30 13:50:51 +02:00
Beat Küng d7ed47e2e5 px4_posix_tasks.cpp: make sure to copy the thread name into the thread data struct
The thread name is used from within the entry of the new thread, but the
provided name could live on the stack of the caller thread. Thus we need to
copy the name.
2016-09-30 13:50:51 +02:00
Beat Küng f25947b964 hrt_work_queue posix: only send a wake-up signal if not called from own thread
The simulated timer interrupt always adds a new scheduled work task, which
is called from the work queue thread. Sending the signal creates measurable
overhead (~5% of the px4 CPU runtime) and is unnecessary, since the thread
is not sleeping anyway.
2016-09-30 13:50:51 +02:00
Beat Küng 1d111cb254 px4_getpid: return the taskmap index instead of pthread_self()
this makes it consistent with other functions, like px4_task_spawn_cmd()
and px4_task_kill()
2016-09-30 13:50:51 +02:00
Julian Oes 8ff237c69f Remove size optimization for individual modules
It makes more sense to set the optimization flags on a platform basis
instead of individually for each module. This allows for different
optimization options for SITL, NuttX, Snapdragon, etc.
2016-09-30 08:11:51 +02:00
Lorenz Meier af8cbee6d5 Support 10.11 and 10.12 in parallel in PX4 2016-09-27 11:56:49 +02:00
Lorenz Meier 69c28177ac Fix platform headers / files for XCode 8 2016-09-27 11:56:49 +02:00
Beat Küng d297d31c23 input_rc.msg: remove timestamp_publication, use timestamp instead 2016-09-19 13:02:31 +02:00
Lorenz Meier 5b69e58925 Provide macros and extensions to the task spawn command to set the stack sizes right 2016-09-11 20:07:30 +02:00
Michael Schaeuble 93201835d3 Fix code style 2016-09-07 08:24:08 +02:00
Michael Schaeuble 1fac4c4874 Improve code documentation and code cleanup 2016-09-07 08:24:08 +02:00
Michael Schaeuble d84a325010 Integrate DF BebopBus into the wrapper 2016-09-07 08:24:08 +02:00
Michael Schaeuble 5d3e9df731 Add DF wrapper for BebopBus driver 2016-09-07 08:24:08 +02:00
Beat Küng 0da44b7166 posix main: make <data_directory> argument optional, default to CWD 2016-09-06 10:41:36 +02:00
Carlo Wood 4a5eae23a2 Increase stack space on posix 64bit architectures. (#5447)
When running a simulation with, for example,
make posix jmavsim
px4 crashed almost 100% reproducable near start up.

This turned out to be a stack overflow. On gitter
it was suggested that the main reason for this could
be stack sizes, as currently used, assume a 32bit pointer
size and that doubling the stack size for everything
but NuttX would be the Right Thing.

This is the solution that I came up with (it makes
my core dumps disappear).
2016-09-04 23:04:04 +02:00
Michael Schäuble b9b9f17eee Fix build errors (#5436)
* Use sorted to fix python3 build error

* Add drv_hrt.h include to Bebop df wrappers
2016-09-03 12:34:27 +02:00
Lorenz Meier f511d49cc2 Improvements to SITL to make paths more flexible. (#5181) (#5255)
* Path cleanup for SITL.

* Restructured sitl scripts dir.

* Set integration tests to use ekf2 for vtol.

* Fix sitl paths for mac.
2016-08-25 21:47:45 +02:00
Beat Küng 61f7470e7e df wrappers: fix invalid NaN to int16 conversion (set to 0 instead)
The result of this conversion is undefined!
2016-08-25 13:14:15 +02:00
Beat Küng 96384bdc29 df wrappers: add drv_hrt.h include 2016-08-24 21:30:50 +02:00
Beat Küng eede43a786 px4_log.h: move px4_log_initialize() out of #ifdef 2016-08-24 21:24:35 +02:00
Beat Küng df53fb0fde logging: publish a message for PX4_{WARN,ERR} & store them to the ulog file
- ulog file message rate limited to 50Hz
- queuing with size 2
- this replaces the mavlink log message in the ulog
  (but the mavlink warnings & errors still go to the ulog)
2016-08-24 21:24:35 +02:00
Beat Küng 6b4c24fb12 px4_log: remove __px4_log_level_current
- there is no way to change it at runtime
- it was implemented wrong (<= comparison disabled the PANIC log level)
2016-08-24 21:24:35 +02:00
Beat Küng e2afb0be6b px4_log.h: remove hrt_absolute_time() declaration (it does not belong here) 2016-08-24 21:24:35 +02:00
James Goppert 818840b576 Path cleanup, low impact changes (#5340)
* Low impact changes from path_cleanup branch.

This is a step towards minimizing the diff with path_cleanup branch.

* Update ecl.

* Revert matrix update.

* Revert ecl and matrix.

* Update sitl gazebo.

* Revert sitl_gazebo and matrix changes.
2016-08-18 15:37:23 -04:00
Lorenz Meier a0cad961b3 Remove non-used app from config 2016-08-07 11:12:20 +02:00
Julian Oes 68986604e9 df_mpu9250_wrapper: calibration after rotation
Same as for the df_hmc5883_wrapper.
2016-08-06 21:01:37 +02:00
Julian Oes 1dd2c94949 df_hmc5883_wrapper: use calibration after rotation
The calibration values need to be applied after the rotation, otherwise
the offsets and scale can be applied to the wrong axes.
2016-08-06 21:01:37 +02:00
Lorenz Meier 102f5b54d7 Revert "Improvements to SITL to make paths more flexible. (#5181)"
This reverts commit 699b6a2cb3.
2016-08-05 21:29:49 +02:00
James Goppert 699b6a2cb3 Improvements to SITL to make paths more flexible. (#5181) 2016-08-05 06:23:59 -04:00
Michael Schaeuble 8566cabd76 Make some code-style fixes 2016-08-05 10:15:11 +02:00
Michael Schaeuble 0b7fa4f5ad Apply sensor calibration after coordinate frame rotation 2016-08-05 10:15:11 +02:00
Michael Schaeuble e600e29ea4 Add DF wrapper for AK8963 2016-08-05 10:15:11 +02:00
James Goppert b6a9ff756c Rename mainapp to px4. 2016-07-29 11:05:01 +02:00
Michael Schaeuble ae66085f89 MPU6050: Apply calibration after coordinate frame rotation 2016-07-22 09:21:55 +02:00
Michael Schaeuble 2197bf518d Fix code style 2016-07-22 09:21:55 +02:00
Michael Schaeuble e73d8d73e1 Add DF wrapper for MPU6050 2016-07-22 09:20:27 +02:00
David Sidrane 5e8d6375c9 Back Port nuttx_v3 FLASH based parameter hooks 2016-07-13 20:42:05 +02:00
Lucas De Marchi 18330f7ab7 Move __STDC_FORMAT_MACROS to build system
__STDC_FORMAT_MACROS changes the behavior of inttypes.h to allow
defining format macros for printf-like functions. It needs to be defined
before any include is done, otherwise due to include chains and header
guards it may not take effect.

Instead of having to define it everywhere it is used, move the define to the
build system. Also update ecl and DriverFramework submodules to deal with the
changed definitions.
2016-07-10 16:31:36 +02:00
Julian Oes 544ea72d4c Snapdragon: set CPUs scaling to performance mode
Sdlog2 misses least updates when the CPU scaling governor is set at
maximum performance. This is not optimal to save power but the best
effort until there is a RT patched kernel on Snapdragon.
2016-07-07 16:48:27 +02:00
David Sidrane 1d5c5497b5 Reduces wasted FLASH by > 4K (#4994)
* Reduces wasted FLASH by > 4K

* Removed PX4_IMPLEMENT_PX4_LOG_MODULENAME

* Moved implamentation of px4_log_modulename to px4_log.c
2016-07-06 23:52:08 +02:00