mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-23 05:03:34 +08:00
Moved mavlink log to system lib
This commit is contained in:
@@ -864,7 +864,7 @@ PX4IO::io_set_arming_state()
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
PX4IO::io_disable_rc_handling()
|
PX4IO::disable_rc_handling()
|
||||||
{
|
{
|
||||||
return io_disable_rc_handling();
|
return io_disable_rc_handling();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ MODULE_COMMAND = mavlink
|
|||||||
SRCS += mavlink.c \
|
SRCS += mavlink.c \
|
||||||
missionlib.c \
|
missionlib.c \
|
||||||
mavlink_parameters.c \
|
mavlink_parameters.c \
|
||||||
mavlink_log.c \
|
|
||||||
mavlink_receiver.cpp \
|
mavlink_receiver.cpp \
|
||||||
orb_listener.c \
|
orb_listener.c \
|
||||||
waypoints.c
|
waypoints.c
|
||||||
|
|||||||
@@ -46,28 +46,25 @@
|
|||||||
|
|
||||||
#include <mavlink/mavlink_log.h>
|
#include <mavlink/mavlink_log.h>
|
||||||
|
|
||||||
static FILE* text_recorder_fd = NULL;
|
__EXPORT void mavlink_logbuffer_init(struct mavlink_logbuffer *lb, int size)
|
||||||
|
|
||||||
void mavlink_logbuffer_init(struct mavlink_logbuffer *lb, int size)
|
|
||||||
{
|
{
|
||||||
lb->size = size;
|
lb->size = size;
|
||||||
lb->start = 0;
|
lb->start = 0;
|
||||||
lb->count = 0;
|
lb->count = 0;
|
||||||
lb->elems = (struct mavlink_logmessage *)calloc(lb->size, sizeof(struct mavlink_logmessage));
|
lb->elems = (struct mavlink_logmessage *)calloc(lb->size, sizeof(struct mavlink_logmessage));
|
||||||
text_recorder_fd = fopen("/fs/microsd/text_recorder.txt", "w");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int mavlink_logbuffer_is_full(struct mavlink_logbuffer *lb)
|
__EXPORT int mavlink_logbuffer_is_full(struct mavlink_logbuffer *lb)
|
||||||
{
|
{
|
||||||
return lb->count == (int)lb->size;
|
return lb->count == (int)lb->size;
|
||||||
}
|
}
|
||||||
|
|
||||||
int mavlink_logbuffer_is_empty(struct mavlink_logbuffer *lb)
|
__EXPORT int mavlink_logbuffer_is_empty(struct mavlink_logbuffer *lb)
|
||||||
{
|
{
|
||||||
return lb->count == 0;
|
return lb->count == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void mavlink_logbuffer_write(struct mavlink_logbuffer *lb, const struct mavlink_logmessage *elem)
|
__EXPORT void mavlink_logbuffer_write(struct mavlink_logbuffer *lb, const struct mavlink_logmessage *elem)
|
||||||
{
|
{
|
||||||
int end = (lb->start + lb->count) % lb->size;
|
int end = (lb->start + lb->count) % lb->size;
|
||||||
memcpy(&(lb->elems[end]), elem, sizeof(struct mavlink_logmessage));
|
memcpy(&(lb->elems[end]), elem, sizeof(struct mavlink_logmessage));
|
||||||
@@ -80,19 +77,13 @@ void mavlink_logbuffer_write(struct mavlink_logbuffer *lb, const struct mavlink_
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int mavlink_logbuffer_read(struct mavlink_logbuffer *lb, struct mavlink_logmessage *elem)
|
__EXPORT int mavlink_logbuffer_read(struct mavlink_logbuffer *lb, struct mavlink_logmessage *elem)
|
||||||
{
|
{
|
||||||
if (!mavlink_logbuffer_is_empty(lb)) {
|
if (!mavlink_logbuffer_is_empty(lb)) {
|
||||||
memcpy(elem, &(lb->elems[lb->start]), sizeof(struct mavlink_logmessage));
|
memcpy(elem, &(lb->elems[lb->start]), sizeof(struct mavlink_logmessage));
|
||||||
lb->start = (lb->start + 1) % lb->size;
|
lb->start = (lb->start + 1) % lb->size;
|
||||||
--lb->count;
|
--lb->count;
|
||||||
|
|
||||||
if (text_recorder_fd) {
|
|
||||||
fwrite(elem->text, 1, strnlen(elem->text, 50), text_recorder_fd);
|
|
||||||
fputc("\n", text_recorder_fd);
|
|
||||||
fsync(text_recorder_fd);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@@ -100,7 +91,7 @@ int mavlink_logbuffer_read(struct mavlink_logbuffer *lb, struct mavlink_logmessa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void mavlink_logbuffer_vasprintf(struct mavlink_logbuffer *lb, int severity, const char *fmt, ...)
|
__EXPORT void mavlink_logbuffer_vasprintf(struct mavlink_logbuffer *lb, int severity, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
@@ -48,4 +48,5 @@ SRCS = err.c \
|
|||||||
geo/geo.c \
|
geo/geo.c \
|
||||||
systemlib.c \
|
systemlib.c \
|
||||||
airspeed.c \
|
airspeed.c \
|
||||||
system_params.c
|
system_params.c \
|
||||||
|
mavlink_log.c
|
||||||
|
|||||||
Reference in New Issue
Block a user