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>
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>
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>
These functions used vprintf which is not available on all platforms.
They also do not enable line and file debug output.
Changed to macros that preserve the output format. Uses new macro that
can be used to implement per object, runtime selectable logging
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Last fix for vdev_posix.cpp introduced a sleep from within
a HRT work item callback which blocks the HRT queue.
The code in uORBDevices_posix.cpp that handles message
throttling was commented out for posix. The code was re-enabled
and now seems to work.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
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>
The device level debug will have to be removed and the debugging
can be based on this new logging structure which can tell where
an error (or debug output) occured whch the current implmentation
cannot.
The one limitation is the new macros cannot take a char* for the
format parameter. It must be an actual string literal because it
is concatenated with other strings.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The baro was not fully initialized when the sensors module tried to
open it. Added a sleep command and a sleep 2 to rc.S so the baro
is initialized by the time the sensors module tried to read it.
Fixed other noisy errors
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>
There was a conversion error in the timeout (in ms)
passed in and the ts.tv_nsec field of the struct timeval.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The orb_advertise and/or orb_publish calls were failing because
there were not enough devmap entries allocated for all the orb
topics advertised.
The number of entries was increased from 50 to 100.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>