PX4 Firmware
PX4 Autopilot Software http://px4.io
dmesg.cpp
Go to the documentation of this file.
1
/****************************************************************************
2
*
3
* Copyright (c) 2019 PX4 Development Team. All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
7
* are met:
8
*
9
* 1. Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
* 2. Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in
13
* the documentation and/or other materials provided with the
14
* distribution.
15
* 3. Neither the name PX4 nor the names of its contributors may be
16
* used to endorse or promote products derived from this software
17
* without specific prior written permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
23
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
25
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
26
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
* POSSIBILITY OF SUCH DAMAGE.
31
*
32
****************************************************************************/
33
34
#include <px4_platform_common/px4_config.h>
35
#include <px4_platform_common/console_buffer.h>
36
#include <px4_platform_common/module.h>
37
#include <px4_platform_common/getopt.h>
38
39
#ifndef BOARD_ENABLE_CONSOLE_BUFFER
40
#error "This module can only be used on boards that enable BOARD_ENABLE_CONSOLE_BUFFER"
41
#endif
42
43
static
void
usage
();
44
45
extern
"C"
{
46
__EXPORT
int
dmesg_main
(
int
argc,
char
*argv[]);
47
}
48
49
int
50
dmesg_main
(
int
argc,
char
*argv[])
51
{
52
int
myoptind = 1;
53
int
ch;
54
const
char
*myoptarg =
nullptr
;
55
bool
follow =
false
;
56
57
while
((ch = px4_getopt(argc, argv,
"f"
, &myoptind, &myoptarg)) != EOF) {
58
switch
(ch) {
59
case
'f'
:
60
follow =
true
;
61
break
;
62
63
default
:
64
usage
();
65
return
-1;
66
break
;
67
}
68
}
69
70
px4_console_buffer_print(follow);
71
72
return
0;
73
}
74
75
static
void
76
usage
()
77
{
78
79
PRINT_MODULE_DESCRIPTION(
80
R
"DESCR_STR(
81
### Description
82
83
Command-line tool to show bootup console messages.
84
Note that output from NuttX's work queues and syslog are not captured.
85
86
### Examples
87
88
Keep printing all messages in the background:
89
$ dmesg -f &
90
)DESCR_STR");
91
92
PRINT_MODULE_USAGE_NAME(
"dmesg"
,
"system"
);
93
PRINT_MODULE_USAGE_PARAM_FLAG(
'f'
,
"Follow: wait for new messages"
,
true
);
94
95
}
usage
static void usage()
Definition:
dmesg.cpp:76
__EXPORT
Definition:
I2C.hpp:51
dmesg_main
__EXPORT int dmesg_main(int argc, char *argv[])
Definition:
dmesg.cpp:50
src
systemcmds
dmesg
dmesg.cpp
Generated by
1.8.13