Commit Graph
139 Commits
Author SHA1 Message Date
jwilson 62200e2a81 WIP: Temporary fix for a problem which prevents arming on the Snapdragon Flight board. 2017-03-10 08:54:08 +01:00
jwilson 4f9245cc9c Resolves a conflict in the type of the index parameter in the dm_read and dm_write function signature, caused by a recent change in the dataman code. This problem was causing the loading of the flight stack to fail on the aDSP. 2017-03-08 15:04:20 +08:00
Beat Küng df8f0da70c param & param_shmem: enable locking
We need to protect access to the param_values array. This is dynamically
allocated and resized (utarray_reserve() calls realloc). If some thread
was iterating the array while another was resizing the array, the first one
would iterate on a freed array, thus accessing invalid memory.

On NuttX this could lead to hardfaults in rare conditions.

Unfortunately we need to initialize the semaphore on startup, by calling
sem_init(). This adds a param_init() method called by every board/config
that uses the params (at least I think I've found all of them)
2017-02-17 11:27:08 +01:00
Daniel Agar 278b76e5a9 astyle src/platforms/qurt 2017-01-29 01:18:32 +01:00
Larry Wang 72ea5c53db qurt px4_layer initialize shared memory (#6453) 2017-01-27 17:59:12 -05:00
David Sidrane 93f2cf077f posix derrived targes use BOARD_OVERRIDE_UUID 2017-01-25 07:43:11 +01:00
wangxdflight b693e29d64 enable px4 flight for excelsior(legacy) 2017-01-16 08:25:58 -08:00
David Sidrane 0177e250f4 STM32 Serial Number location is defined in NuttX 2016-12-21 08:34:20 +01:00
Carlo Wood de85fbe1dc Remaining fixes needed before running Tools/fix_headers.sh
<systemlib/err.h> --> "systemlib/err.h" that fix_headers.sh
would miss because it comes after code it doesn't understand.

Effectively remove the '__EXPORT extern perf_counter_t perf_alloc('
line, because currently perf_alloc is defined to be NULL, and
after running fix_headers.sh that happens *before* this header
is included (the order of headers will be changed).

Do not define NULL to be (void*)0: that only works for C.
In fact, the conversions needed for NULL are so full of exceptions
that standard C++ introduced a new *keyword*: nullptr.
That's what we really should be using for C++ code.
In this case I just include the correct header to define NULL
the correct way.

Not really related to the header line:
Removed an #include <time.h> because I noted that px4_time.h
was already included... and moved a #include <sys/time.h>
to the top of the file (not really a fan of including headers
in the middle unless absolutely necessary).
Removed a include of queue.h because I noted it wasn't used.
2016-11-13 19:36:27 +01:00
Carlo Wood 5b52cd0fe6 Compile fixes for old/unused targets.
These are some changes that I needed to compile
most of the unsupported targets.

After this all (make list_config_targets) compile
for me except: posix_eagle_muorb, posix_sdflight_default
and qurt_eagle_legacy_driver_default.
2016-10-26 14:00:52 +02:00
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
Gene 5cd85b98c2 Fixed app args buffer overrun in qurt px4_layer main.cpp and qshell.cpp 2016-10-06 11:06:57 +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
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
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
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
James Goppert b6a9ff756c Rename mainapp to px4. 2016-07-29 11:05:01 +02:00
Beat Küng 8a12dee125 cmake: remove all module.mk files & cmake conversion script (#4918)
It seems these files are leftovers.
2016-06-28 09:26:36 +02:00
jwilson 9794bb2f2f Running fix_code_style.sh on the requested source files. 2016-06-22 08:57:06 +02:00
jwilson acc1f04b67 Unfortunately, lot's of whitespace changes, required to satisfy unspecified code style format errors. 2016-06-22 08:57:06 +02:00
jwilson a73ac821ab Fixes shared memory locking bug and eliminates the need for an AppsProm driver to reserve a shared memory region. 2016-06-22 08:57:06 +02:00
Beat Küng fcab80bfee getprogname: rename to px4_get_taskname 2016-06-09 15:22:29 +02:00
Julian Oes 953984dd48 QURT px4_layer: getpid can shut up 2016-06-07 22:10:56 +02:00
Julian Oes a2865cd5c1 QURT px4_layer: removed debug printfs 2016-06-07 22:10:56 +02:00
Julian Oes 8e47f612fd QURT main: more precise printfs 2016-06-07 22:10:56 +02:00
Julian Oes 7a29cf0f13 QURT main: less debug printfs 2016-06-07 22:10:56 +02:00
BharathR f06e6f0ce1 Fixed actuator controls struct in Snapdragon legacy uart_esc driver wrapper (#4724) 2016-06-03 10:22:09 +02:00
Mark Charlebois 30a3311fe6 Fixed qurt_eagle_travis build
Added missing stub function and added SDK 2 and 3 support.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-06-01 23:50:28 +02:00
Mark Charlebois 02e3f28d87 Added back support for SDK 2.0 as well as 3.0
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-06-01 23:50:28 +02:00
Mark Charlebois 6ac0eabb5a Changes required to support Hexagon SDK 3.0
The inc and lib directories were renamed to incs and libs.

This requires an updated cmake_hexagon and come changes to qurt paths in
PX4.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-06-01 23:50:28 +02:00
Lorenz Meier 55c7ffbe62 Fix more Qualcomm param length issues 2016-05-28 14:36:51 +02:00
Lorenz Meier c19ac3425f MPU9x driver: Fix param names 2016-05-28 14:24:19 +02:00
Mark Charlebois 86e470b1c2 Fixed syle issues
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-05-28 14:06:14 +02:00
Mark Charlebois af1e20a1d0 Added fc_addon uart_esc support
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-05-28 14:06:14 +02:00
Mark Charlebois 6f8f8279b7 Added support for fc_addon drivers
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-05-28 14:05:45 +02:00
Daniel Agar 2487dbfc92 remove Wpacked and cleanup unused warning flags 2016-05-19 21:49:34 +02:00
Beat Küng 42a9d5651f platform: some code cleanup for px4_{posix,qurt}_tasks.cpp
- __BEGIN_DECLS is for declarations not definitions
- getprogname() declaration is in err.h
2016-05-11 15:56:50 +02:00
Julian Oes 6c61b67fd5 shmem: fix eagle build 2016-05-05 14:28:35 +02:00
Julian Oes ea3adee28a shmem_qurt: fix format 2016-04-26 10:23:39 +02:00
Julian Oes e3c9135ac2 param_shmem: fix bug where params didn't stick
There was the case where a param was changed on the Linux side but the
change did not get saved on the DSP side because the param was not in
the local list of changed params on the DSP side. On save, the param
index is now refreshed, and param_get is called on all params that have
changed. This is a hacky workaround but resolves the problem for now.
2016-04-26 10:21:01 +02:00
Mark Charlebois 169259059b Updated cmake_hexagon and all the associated files that use it
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-04-18 23:40:56 +02:00
Julian Oes ee7b9751ce px4_layer: removed leftover printf lie 2016-03-27 12:40:10 +02:00
Julian Oes ef8d074e23 shmem_qurt: remove leftover printf 2016-03-09 11:10:19 -08:00
Julian Oes 022ced3648 shmem: don't do locking for now
The locking seems to be broken, therefore refrain from using it.
2016-03-09 11:07:34 -08:00
Julian Oes 46a6176e2a px4_layer: astyle 2016-02-19 16:59:49 +01:00
jwilson 75fad09263 Fixed problem causing a failure to obtain the shared memory lock on the AppsProc. 2016-02-19 16:59:49 +01:00