Since the PX4 code uses both px4_task and pthread APIs,
px4_getpid() must be save to call from either context.
On posix, this means we have to always return the pthread ID.
Reverted simulator change of pthread to px4_task
There may have been side effects if this was build for a target that
has process/task scoped file descriptors. It is now safe to call
px4_getpid() from this pthread context with this change for the
posix build for px4_getpid().
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Set a default path relative to current dir for the posix target.
Running make posixrun will create the required directoroes and then run
mainapp from its build location.
PX4_ROOTFSDIR is set to nothing for nuttx.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The addition of the hrt workqueue required adding some additional files to
unittests/CMakeLists.txt
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Nuttx complains about an unresolved _impure_ptr at link time.
This is a known issue when using STL templates in NuttX on ARM.
Created new ORBMap and ORBSet classes for NuttX.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
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>
The toolchain_* files are target OS specific so they were moved to
the target OS subdir.
The gcc_version.* files are only cleared once per make instantiation so
a build that creates multiple HW targets will try to link with an
incompatible .o file (i.e. x86 build linking ARM .o). I created
posix-arm as a separate target to fix this problem.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
This adds support for a dynamic build for QuRT and initial
Multi-uORB changes to enable communication between the DSP and
the application processor.
This part of the changes do not affect the POSIX build. This is
enablement for the QuRT build using Multi-uORB. The second part
of the changes will be added in a new module under src/modules.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
uORBManager_posix.cpp did a stat to see if a file exists but the
file is actually a virtual file. Using stat was incorrect because
it required a stat buffer that was never used. The POSIX access
function is a better choice so I created a px4_access version to
handle virtual files.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>