Made the logging macros generic so they can be used for multiple targets.
Fixed toolchain_native.mk so err.h is included from src/systemlib for posix.
Reduced debug output for uORB.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
In the upstream tree ringbuffer.h includes the method implementations
in the header file which causes multiple definitions in the link for
other targets. Changed so ringbuffer.cpp is build separately for other
platforms and is included by ringbuffer.h on NuttX.
uORB changes do not link without uORBTest_UnitTest.cpp enabled for
the NuttX build.
px4_getopt was not exported and wasn't visible in NuttX build.
The makefiles were restored to be as close as possible to upstream
so the NuttX build builtin's work again. The code will have to be
refactored after the merge.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The latency_test used to pass an object pointer as argv which
won't work in the posix port because it expects argv to be a
null terminated array of character pointers (which it makes a
copy of).
The test was refactored to use a singleton pattern and avoid
having to pass the object pointer to the thread.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The unit test was not passing a null pointer terminated argv.
The posix port depends on argv being null terminated to
determine how may args were passed since PX4 API doesn't
pass argc when spawning a new task.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
uORB was refactored in order to support the MuORB changes required
for QURT. Those changes wil be added in a subsequent commit.
The files are split out by posix and nuttx so the changes are visible.
When this has been tested, the files can be re-merged and re-tested.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Sensor combined topic notification wasnot working because
the calls to hrt_called() and hrt_call_after() in
ORBDevNode::appears_updated() are not working correctly.
This commit ifdefs out those calls, and the poling seems
to work correctly. This is a workaround until the issue is
resolved.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The commented out lock and unlock were determined to be needed and added back.
The unit test for VDev was updated. It showed the race between the poll and a
write that only does a poll_notify().
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
MuORB was missing the orb_exists() function added to uORB.cpp
gyro_calibration.cpp still had some merge conflicts that had not been resolved.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
state_machine_helper_posix.cpp was out of sync with
state_machine_helper_posix.cpp.
Added debug to detect when sensors is started before uorb.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
To avoid confusion when a real device and a virtual device is
being used, changed CDev to VDev for Linux.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Keep existing API use in code. Bind the use of the OS independent
implementation in the systemlib layer.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Calls to task_delete and task_spawn_cmd are now
px4_task_delete and px4_task_spawn_cmd respectively.
The px4_tasks.h header was added to the affected files
and incusions of nuttx/config.h were removed.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Replace offboard_control_setpoint with offboard_control_mode
Remove all setpoint data from the topic as it's not used anymore
(setpoint data is directly routed into position/attitude setpoint topics
for some time now)
Remove mode enum and replace with ignore booleans which map better to
the mavlink message
Mavlink: Rework parsing of offboard setpoints
Commander: in offboard mode set control flags based on ignore flags
instead of enum