- 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)
__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.
Instead of having separate log functions for NuttX and POSIX, this now
switches everything to px4_log.h and PX4_INFO/WARN/ERR/DEBUG.
Also, the call mostly used is now a static inline function instead of a
macro which lead to a big increase in flash size for STM32.
Added PX4_BACKTRACE() to display stack trace for debugging
Added backtrace for HRT reschedule with 0 timeout
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Managed to get the deps set up to build the qurt modules using a
config file for the list of modules.
NuttX link options are being set somewhere that break the qurt build
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Removed the re-definitions of the usage method in the posix/main.cpp file.
Added qurt_external_hook interface to call externally linked module.
Fixed code format to comply with PX4 style.
Added usage information to main app and handled cases for unknown arguments.
Fixed the orb_priority interface to use int32_t instead of int.
Fixes to get hil working with led changes.
Added the config_eagle_adsp.mk file and update the make files to to use new
include/lib paths
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>
Used a do_nothing() function for px4_omit() that will satisfy the
compiler so it will not report unused variables when a debug
message is compiled out.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
If __px4_log_level_current is unsigned then the runtime filter
comparison warns because an unsigned value can't be less than zero.
Changed typed to signed so compiler will not issue a warning.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
Added __attribute__ ((unused)) for variables used only for log
output and flagged as unused if the message log level is compiled out.
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>
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>
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>
There were an insufficient number of devmap entries allocated and
when they ran out, new orb_advertise requests would fail.
Also added a new logging macro for the Linux build to show the
calling pthread if enabled.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
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>
The warnx and warn calls map to PX4_WARN.
Calls to errx or err genrtate a compile error.
The px4_log.h file implements a new log format:
For DEBUG and INFO:
<level> <msg>
For ERROR and WARN:
<level> <msg> (file filepath line linenum)
The verbosity can be changed by setting the macro to use
either linux_log or linux_log_verbose in px4_log.h
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
The use of std::map and static initialization was an issue.
The code was refactored to not use static initialization.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>