Apollo 10.0
自动驾驶开放平台
system_status.proto
浏览该文件的文档.
1syntax = "proto2";
2
3package apollo.monitor;
4
6
7// Status summary. The value order is important, because when we summarize,
8// larger value will overwrite smaller value:
9// FATAL > ERROR > WARN > OK > UNKNOWN
10message ComponentStatus {
11 enum Status {
12 UNKNOWN = 0;
13 OK = 1;
14 WARN = 2;
15 ERROR = 3;
16 FATAL = 4;
17 }
18 optional Status status = 1 [default = UNKNOWN];
19 optional string message = 2;
20}
21
22message Component {
23 // A summary of all detailed status.
24 optional ComponentStatus summary = 1;
25
26 // Detailed status.
27 optional ComponentStatus process_status = 2;
28 optional ComponentStatus channel_status = 3;
29 optional ComponentStatus resource_status = 4;
30 optional ComponentStatus other_status = 5;
31 optional ComponentStatus module_status = 6;
32}
33
34message SystemStatus {
35 optional apollo.common.Header header = 1;
36
37 map<string, ComponentStatus> hmi_modules = 7;
38 map<string, Component> components = 8;
39
40 // Some critical message for passengers. HMI should highlight it or even read
41 // loudly.
42 optional string passenger_msg = 4;
43
44 // If we have this field, safety_mode should be triggered.
45 // We'll check the system action and driver action continuously. If no proper
46 // action was taken in a specified period of time (such as 10 seconds), EStop
47 // will be sent to bring the vehicle into emergency full stop.
48 optional double safety_mode_trigger_time = 5;
49 optional bool require_emergency_stop = 6;
50
51 // In simulation mode, the monitor will publish message with this field set,
52 // so subscribers could identify it from the recorded messages.
53 optional bool is_realtime_in_simulation = 9;
54
55 // In some modes, other processes besides modules and monitored components may
56 // need to be monitored
57 map<string, ComponentStatus> other_components = 10;
58
59 // In all modes, needs to detect progress and resource space.
60 map<string, Component> global_components = 11;
61
62 optional bool detect_immediately = 12 [default = false];
63
64 reserved 2, 3;
65}
apollo::common
class register implement
Definition arena_queue.h:37