Commit Graph
40 Commits
Author SHA1 Message Date
Beat Küng eede43a786 px4_log.h: move px4_log_initialize() out of #ifdef 2016-08-24 21:24:35 +02:00
Beat Küng df53fb0fde logging: publish a message for PX4_{WARN,ERR} & store them to the ulog file
- 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)
2016-08-24 21:24:35 +02:00
Beat Küng 6b4c24fb12 px4_log: remove __px4_log_level_current
- there is no way to change it at runtime
- it was implemented wrong (<= comparison disabled the PANIC log level)
2016-08-24 21:24:35 +02:00
Beat Küng e2afb0be6b px4_log.h: remove hrt_absolute_time() declaration (it does not belong here) 2016-08-24 21:24:35 +02:00
Lucas De Marchi 18330f7ab7 Move __STDC_FORMAT_MACROS to build system
__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.
2016-07-10 16:31:36 +02:00
David Sidrane 1d5c5497b5 Reduces wasted FLASH by > 4K (#4994)
* Reduces wasted FLASH by > 4K

* Removed PX4_IMPLEMENT_PX4_LOG_MODULENAME

* Moved implamentation of px4_log_modulename to px4_log.c
2016-07-06 23:52:08 +02:00
Beat Küng 513900fb16 printf log: colorize output under POSIX & tty output according to the log level 2016-06-09 15:25:11 +02:00
Julian Oes de4ae58019 px4_log: get the printf of fmt/args right 2016-06-07 22:10:56 +02:00
Julian Oes a6fd718530 px4_log: use proper ROS printfs 2016-06-07 22:10:56 +02:00
Julian Oes f68a6eb42c err/px4_log: switch everything to static function
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.
2016-06-07 22:10:56 +02:00
Lorenz Meier 73545a4311 Platforms: Fix platform headers 2015-10-19 13:25:39 +02:00
Mark Charlebois 8e82ced5a4 Added backtrace function
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>
2015-10-19 09:41:49 +02:00
Lorenz Meier 110a630cbd Fix PX4 log to show error 2015-10-14 18:06:28 +02:00
Lorenz Meier 92ae41c1cf PX4 log: reduce output verbosity to save flash 2015-10-14 13:58:36 +02:00
Lorenz Meier a4e56abd71 Merge branch 'master' into cmake-2 2015-09-27 14:23:00 +02:00
Thomas Gubler 1ae8483e2c fix 'unterminated function-like macro invocation', fixes #2913 2015-09-27 13:32:17 +02:00
Mark Charlebois eb40a6de77 cmake: qurt modules now build but do not link
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>
2015-09-08 14:07:43 -07:00
Mark Charlebois 54bae34a2c Build fixes for qurt after rebase on PX4 master
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>
2015-09-04 11:09:29 -07:00
Mark Charlebois 3a47434749 Fixes for qurt HIL build
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>
2015-08-25 21:59:01 -07:00
Mark Charlebois a589d15c52 Refactored debug() and log() in CDev
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>
2015-08-11 12:07:06 -07:00
Lorenz Meier a02319e901 PX4 log: Fix formatting for debug and trace builds 2015-07-05 11:03:27 +02:00
Lorenz Meier 347e3e9a7e PX4 log header: Add missing include 2015-07-02 00:37:39 +02:00
Mark Charlebois 785053e4f1 px4_log: reverted unused attribute annotations
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>
2015-06-18 07:41:22 -07:00
Mark Charlebois 552c9800a9 px4_log: Fixed compiler warning when using PX4_LOG
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>
2015-06-17 19:04:57 -07:00
Mark Charlebois 29a36da22c px4_log: Added documentation and handled unused variables
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>
2015-06-17 17:11:21 -07:00
Mark Charlebois dad0526a99 px4_log: Added include for ROS
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-17 13:50:49 -07:00
Mark Charlebois a2297aa950 px4_log: Fixed ROS build
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-17 13:49:34 -07:00
Mark Charlebois 65e9fd9dd8 px4_log: minor fixes to logging header file
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-17 13:37:27 -07:00
Mark Charlebois 1a8703ec1c Improved logging with both compile and runtime level filtering
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>
2015-06-17 13:28:27 -07:00
Lorenz Meier b06a533555 OS X porting: Make unit tests compile on OS X 2015-06-13 11:07:17 +02:00
Mark Charlebois cb231e89f6 QuRT: Changes to enable qurt target to build
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>
2015-06-08 22:22:00 -07:00
Mark Charlebois 82b90281e9 Cleanup of copyright headers
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-08 22:21:59 -07:00
Mark Charlebois 6cb26de74c Multi-uORB support changes - part 1
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>
2015-06-08 22:21:59 -07:00
Mark Charlebois 6ae6c29879 QuRT: Changed PX4_DEBUG output from verbose to omit
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-21 15:45:13 -07:00
Mark Charlebois f1f562a94d POSIX: Fixed orb_advertise failure
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>
2015-05-21 15:35:11 -07:00
Mark Charlebois eaef0db7d6 Logging fixes and enhancements
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>
2015-05-19 11:53:19 -07:00
Mark Charlebois ffdc9d629c POSIX: Improved logging
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>
2015-05-19 09:19:24 -07:00
Mark Charlebois 884f62878d QuRT: pthread API now working
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>
2015-05-13 16:21:52 -07:00
Mark Charlebois 2f434eb395 POSIX: fixups for px4_log.h change
After merge from qurt branch, fixups for posix build

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-11 16:14:06 -07:00
Mark Charlebois a99f916bdf POSIX: Changed px4_debug.h to px4_log.h
Also changed use of printf to PX4_WARN or PX4_INFO in posix and
qurt tests.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-11 16:04:39 -07:00