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>
This commit is contained in:
Mark Charlebois
2015-05-19 11:53:19 -07:00
parent 95de7c2e94
commit eaef0db7d6
4 changed files with 27 additions and 44 deletions
+1 -1
View File
@@ -443,7 +443,7 @@ uORB::DeviceMaster::DeviceMaster(Flavor f) :
_flavor(f)
{
// enable debug() calls
_debug_enabled = true;
//_debug_enabled = true;
}
+20 -28
View File
@@ -38,39 +38,35 @@
#pragma once
#if defined(__PX4_QURT)
#define __px4_log_omit(level, ...) { }
__BEGIN_DECLS
extern void qurt_log(const char *fmt, ...);
__END_DECLS
#include <stdio.h>
#define qurt_log(...) {printf(__VA_ARGS__); printf("\n");}
#define PX4_DBG(...) qurt_log(__VA_ARGS__)
#define PX4_DEBUG(...) qurt_log(__VA_ARGS__)
#define PX4_INFO(...) qurt_log(__VA_ARGS__)
#define PX4_WARN(...) qurt_log(__VA_ARGS__)
#define PX4_ERR(...) { qurt_log("ERROR file %s line %d:", __FILE__, __LINE__); qurt_log(__VA_ARGS__); }
#elif defined(__PX4_LINUX)
#include <stdio.h>
#define linux_log(level, ...) { \
#define __px4_log(level, ...) { \
printf("%-5s ", level);\
printf(__VA_ARGS__);\
printf("\n");\
}
#define linux_log_verbose(level, ...) { \
#define __px4_log_verbose(level, ...) { \
printf("%-5s ", level);\
printf(__VA_ARGS__);\
printf(" (file %s line %d)\n", __FILE__, __LINE__);\
}
#if defined(__PX4_QURT)
#include <stdio.h>
#define PX4_DEBUG(...) __px4_log_omit("DEBUG", __VA_ARGS__);
#define PX4_INFO(...) __px4_log("INFO", __VA_ARGS__);
#define PX4_WARN(...) __px4_log_verbose("WARN", __VA_ARGS__);
#define PX4_ERR(...) __px4_log_verbose("ERROR", __VA_ARGS__);
#elif defined(__PX4_LINUX)
#include <stdio.h>
//#define PX4_DEBUG(...) { }
#define PX4_DEBUG(...) { linux_log("DEBUG", __VA_ARGS__); }
#define PX4_INFO(...) { linux_log("INFO", __VA_ARGS__); }
#define PX4_WARN(...) { linux_log_verbose("WARN", __VA_ARGS__); }
#define PX4_ERR(...) { linux_log_verbose("ERROR", __VA_ARGS__); }
#define PX4_DEBUG(...) __px4_log_omit("DEBUG", __VA_ARGS__);
#define PX4_INFO(...) __px4_log("INFO", __VA_ARGS__);
#define PX4_WARN(...) __px4_log_verbose("WARN", __VA_ARGS__);
#define PX4_ERR(...) __px4_log_verbose("ERROR", __VA_ARGS__);
#elif defined(__PX4_ROS)
@@ -80,7 +76,6 @@ __END_DECLS
#define PX4_ERR(...) ROS_WARN(__VA_ARGS__)
#elif defined(__PX4_NUTTX)
#include <systemlib/err.h>
#define PX4_DBG(...)
@@ -90,9 +85,6 @@ __END_DECLS
#else
#define PX4_DBG(...)
#define PX4_WARN(...)
#define PX4_INFO(...)
#define PX4_ERR(...)
#error "Target platform unknown"
#endif
@@ -104,7 +104,7 @@ px4_task_t px4_task_spawn_cmd(const char *name, int scheduler, int priority, int
unsigned long structsize;
char * p = (char *)argv;
printf("Creating %s\n", name);
PX4_DEBUG("Creating %s\n", name);
pthread_t task;
pthread_attr_t attr;
struct sched_param param;
@@ -128,7 +128,7 @@ px4_task_t px4_task_spawn_cmd(const char *name, int scheduler, int priority, int
taskdata->argc = argc;
for (i=0; i<argc; i++) {
printf("arg %d %s\n", i, argv[i]);
PX4_DEBUG("arg %d %s\n", i, argv[i]);
taskdata->argv[i] = (char *)offset;
strcpy((char *)offset, argv[i]);
offset+=strlen(argv[i])+1;
@@ -165,17 +165,7 @@ px4_task_t px4_task_spawn_cmd(const char *name, int scheduler, int priority, int
rv = pthread_create (&task, &attr, &entry_adapter, (void *) taskdata);
if (rv != 0) {
if (rv == EPERM) {
//printf("WARNING: NOT RUNING AS ROOT, UNABLE TO RUN REALTIME THREADS\n");
rv = pthread_create (&task, NULL, &entry_adapter, (void *) taskdata);
if (rv != 0) {
PX4_ERR("px4_task_spawn_cmd: failed to create thread %d %d\n", rv, errno);
return (rv < 0) ? rv : -rv;
}
}
else {
return (rv < 0) ? rv : -rv;
}
return (rv < 0) ? rv : -rv;
}
for (i=0; i<PX4_MAX_TASKS; ++i) {
@@ -232,7 +222,7 @@ void px4_task_exit(int ret)
PX4_ERR("px4_task_exit: self task not found!");
}
else {
PX4_DBG("px4_task_exit: %s", taskmap[i].name.c_str());
PX4_DEBUG("px4_task_exit: %s", taskmap[i].name.c_str());
}
//pthread_exit((void *)(unsigned long)ret);
@@ -242,7 +232,7 @@ int px4_task_kill(px4_task_t id, int sig)
{
int rv = 0;
pthread_t pid;
PX4_DBG("Called px4_task_kill %d", sig);
PX4_DEBUG("Called px4_task_kill %d", sig);
if (id < PX4_MAX_TASKS && taskmap[id].pid != 0)
pid = taskmap[id].pid;