Add pi4 and laptop
Pi's on 3 sides + 1 on the turret. laptop will be the logger node at
some point in the future.
To do this, we need to edit the log file header again for the test
data...
Change-Id: I7a39d6644882e4c96dca1d689183295534d3aab4
diff --git a/WORKSPACE b/WORKSPACE
index 2eba07b..9f087bc 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -656,8 +656,8 @@
http_file(
name = "drivetrain_replay",
downloaded_file_path = "spinning_wheels_while_still.bfbs",
- sha256 = "1daab1f5aca3cfd517fd405a96aecc9e6d7da0fba50db3094e54483f1fbc4553",
- urls = ["http://www.frc971.org/Build-Dependencies/spinning_wheels_while_still2.bfbs"],
+ sha256 = "d724dbf0acae894b30c9bb62006a2633a7f4c478db48548e76cbec03cbb07f46",
+ urls = ["http://www.frc971.org/Build-Dependencies/spinning_wheels_while_still3.bfbs"],
)
# OpenCV armhf (for raspberry pi)
diff --git a/aos/configuration.cc b/aos/configuration.cc
index 0a34b02..cef3876 100644
--- a/aos/configuration.cc
+++ b/aos/configuration.cc
@@ -785,7 +785,8 @@
if (node == nullptr) {
return true;
}
- return (channel->source_node()->string_view() == node->name()->string_view());
+ return (CHECK_NOTNULL(channel)->source_node()->string_view() ==
+ node->name()->string_view());
}
bool ChannelIsReadableOnNode(const Channel *channel, const Node *node) {
diff --git a/aos/events/event_loop.cc b/aos/events/event_loop.cc
index 2ffad3b..c03425e 100644
--- a/aos/events/event_loop.cc
+++ b/aos/events/event_loop.cc
@@ -399,6 +399,9 @@
const Channel *channel = configuration::GetChannel(
configuration(), "/aos", timing::Report::GetFullyQualifiedName(),
name(), node());
+ CHECK(channel != nullptr) << ": Failed to look up {\"name\": \"/aos\", "
+ "\"type\": \"aos.timing.Report\"} on node "
+ << FlatbufferToJson(node());
// Since we are using a RawSender, validity isn't checked. So check it
// ourselves.
diff --git a/aos/events/logging/multinode_pingpong.json b/aos/events/logging/multinode_pingpong.json
index f1bcc54..1b1424e 100644
--- a/aos/events/logging/multinode_pingpong.json
+++ b/aos/events/logging/multinode_pingpong.json
@@ -1,7 +1,7 @@
{
"channels": [
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.logging.LogMessageFbs",
"source_node": "pi1",
"frequency": 200,
@@ -9,7 +9,7 @@
"max_size": 2048
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.logging.LogMessageFbs",
"source_node": "pi2",
"frequency": 200,
@@ -18,7 +18,7 @@
},
/* Logged on pi1 locally */
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.timing.Report",
"source_node": "pi1",
"frequency": 50,
@@ -26,7 +26,7 @@
"max_size": 2048
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.timing.Report",
"source_node": "pi2",
"frequency": 50,
@@ -73,42 +73,20 @@
"maps": [
{
"match": {
- "name": "/aos",
- "type": "aos.logging.LogMessageFbs",
+ "name": "/aos*",
"source_node": "pi1"
},
"rename": {
- "name": "/aos/pi1"
+ "name": "/pi1/aos"
}
},
{
"match": {
- "name": "/aos",
- "type": "aos.logging.LogMessageFbs",
+ "name": "/aos*",
"source_node": "pi2"
},
"rename": {
- "name": "/aos/pi2"
- }
- },
- {
- "match": {
- "name": "/aos",
- "type": "aos.timing.Report",
- "source_node": "pi1"
- },
- "rename": {
- "name": "/aos/pi1"
- }
- },
- {
- "match": {
- "name": "/aos",
- "type": "aos.timing.Report",
- "source_node": "pi2"
- },
- "rename": {
- "name": "/aos/pi2"
+ "name": "/pi2/aos"
}
}
],
diff --git a/aos/events/multinode_pingpong.json b/aos/events/multinode_pingpong.json
index 54cc658..e56d331 100644
--- a/aos/events/multinode_pingpong.json
+++ b/aos/events/multinode_pingpong.json
@@ -1,7 +1,7 @@
{
"channels": [
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.logging.LogMessageFbs",
"source_node": "pi1",
"frequency": 200,
@@ -9,7 +9,7 @@
"max_size": 2048
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.logging.LogMessageFbs",
"source_node": "pi2",
"frequency": 200,
@@ -17,7 +17,7 @@
"max_size": 2048
},
{
- "name": "/aos/pi3",
+ "name": "/pi3/aos",
"type": "aos.logging.LogMessageFbs",
"source_node": "pi3",
"frequency": 200,
@@ -25,7 +25,7 @@
"max_size": 2048
},
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.message_bridge.Timestamp",
"source_node": "pi1",
"frequency": 10,
@@ -45,7 +45,7 @@
]
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.message_bridge.Timestamp",
"source_node": "pi2",
"frequency": 10,
@@ -60,7 +60,7 @@
]
},
{
- "name": "/aos/pi3",
+ "name": "/pi3/aos",
"type": "aos.message_bridge.Timestamp",
"source_node": "pi3",
"frequency": 10,
@@ -75,43 +75,43 @@
]
},
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.message_bridge.ServerStatistics",
"source_node": "pi1",
"frequency": 2
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.message_bridge.ServerStatistics",
"source_node": "pi2",
"frequency": 2
},
{
- "name": "/aos/pi3",
+ "name": "/pi3/aos",
"type": "aos.message_bridge.ServerStatistics",
"source_node": "pi3",
"frequency": 2
},
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.message_bridge.ClientStatistics",
"source_node": "pi1",
"frequency": 2
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.message_bridge.ClientStatistics",
"source_node": "pi2",
"frequency": 2
},
{
- "name": "/aos/pi3",
+ "name": "/pi3/aos",
"type": "aos.message_bridge.ClientStatistics",
"source_node": "pi3",
"frequency": 2
},
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.timing.Report",
"source_node": "pi1",
"frequency": 50,
@@ -119,7 +119,7 @@
"max_size": 2048
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.timing.Report",
"source_node": "pi2",
"frequency": 50,
@@ -127,7 +127,7 @@
"max_size": 2048
},
{
- "name": "/aos/pi3",
+ "name": "/pi3/aos",
"type": "aos.timing.Report",
"source_node": "pi3",
"frequency": 50,
@@ -190,29 +190,29 @@
"maps": [
{
"match": {
- "name": "/aos",
+ "name": "/aos*",
"source_node": "pi1"
},
"rename": {
- "name": "/aos/pi1"
+ "name": "/pi1/aos"
}
},
{
"match": {
- "name": "/aos",
+ "name": "/aos*",
"source_node": "pi2"
},
"rename": {
- "name": "/aos/pi2"
+ "name": "/pi2/aos"
}
},
{
"match": {
- "name": "/aos",
+ "name": "/aos*",
"source_node": "pi3"
},
"rename": {
- "name": "/aos/pi3"
+ "name": "/pi3/aos"
}
}
],
diff --git a/aos/network/message_bridge_test.cc b/aos/network/message_bridge_test.cc
index c1dd1ca..27bed82 100644
--- a/aos/network/message_bridge_test.cc
+++ b/aos/network/message_bridge_test.cc
@@ -97,7 +97,7 @@
int ping_count = 0;
int pi1_server_statistics_count = 0;
ping_event_loop.MakeWatcher(
- "/aos/pi1",
+ "/pi1/aos",
[&ping_count, &pi2_client_event_loop, &ping_sender,
&pi1_server_statistics_count](const ServerStatistics &stats) {
LOG(INFO) << FlatbufferToJson(&stats);
@@ -139,7 +139,7 @@
// Confirm both client and server statistics messages have decent offsets in
// them.
int pi2_server_statistics_count = 0;
- pong_event_loop.MakeWatcher("/aos/pi2", [&pi2_server_statistics_count](
+ pong_event_loop.MakeWatcher("/pi2/aos", [&pi2_server_statistics_count](
const ServerStatistics &stats) {
LOG(INFO) << FlatbufferToJson(&stats);
for (const ServerConnection *connection : *stats.connections()) {
@@ -157,7 +157,7 @@
int pi1_client_statistics_count = 0;
ping_event_loop.MakeWatcher(
- "/aos/pi1", [&pi1_client_statistics_count](const ClientStatistics &stats) {
+ "/pi1/aos", [&pi1_client_statistics_count](const ClientStatistics &stats) {
LOG(INFO) << FlatbufferToJson(&stats);
for (const ClientConnection *connection : *stats.connections()) {
@@ -176,7 +176,7 @@
});
int pi2_client_statistics_count = 0;
- pong_event_loop.MakeWatcher("/aos/pi2", [&pi2_client_statistics_count](
+ pong_event_loop.MakeWatcher("/pi2/aos", [&pi2_client_statistics_count](
const ClientStatistics &stats) {
LOG(INFO) << FlatbufferToJson(&stats);
@@ -191,11 +191,11 @@
}
});
- ping_event_loop.MakeWatcher("/aos/pi1", [](const Timestamp ×tamp) {
+ ping_event_loop.MakeWatcher("/pi1/aos", [](const Timestamp ×tamp) {
EXPECT_TRUE(timestamp.has_offsets());
LOG(INFO) << FlatbufferToJson(×tamp);
});
- pong_event_loop.MakeWatcher("/aos/pi2", [](const Timestamp ×tamp) {
+ pong_event_loop.MakeWatcher("/pi2/aos", [](const Timestamp ×tamp) {
EXPECT_TRUE(timestamp.has_offsets());
LOG(INFO) << FlatbufferToJson(×tamp);
});
diff --git a/aos/network/message_bridge_test_common.json b/aos/network/message_bridge_test_common.json
index 1767c4c..1092e4b 100644
--- a/aos/network/message_bridge_test_common.json
+++ b/aos/network/message_bridge_test_common.json
@@ -1,7 +1,7 @@
{
"channels": [
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.logging.LogMessageFbs",
"source_node": "pi1",
"frequency": 200,
@@ -9,7 +9,7 @@
"max_size": 2048
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.logging.LogMessageFbs",
"source_node": "pi2",
"frequency": 200,
@@ -17,7 +17,7 @@
"max_size": 2048
},
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.message_bridge.Timestamp",
"source_node": "pi1",
"frequency": 10,
@@ -30,7 +30,7 @@
]
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.message_bridge.Timestamp",
"source_node": "pi2",
"frequency": 10,
@@ -43,45 +43,45 @@
]
},
{
- "name": "/aos/pi1_forwarded",
+ "name": "/pi1_forwarded/aos",
"type": "aos.message_bridge.Timestamp",
"source_node": "pi2",
"frequency": 10,
"max_size": 200
},
{
- "name": "/aos/pi2_forwarded",
+ "name": "/pi2_forwarded/aos",
"type": "aos.message_bridge.Timestamp",
"source_node": "pi1",
"frequency": 10,
"max_size": 200
},
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.message_bridge.ServerStatistics",
"source_node": "pi1",
"frequency": 2
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.message_bridge.ServerStatistics",
"source_node": "pi2",
"frequency": 2
},
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.message_bridge.ClientStatistics",
"source_node": "pi1",
"frequency": 2
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.message_bridge.ClientStatistics",
"source_node": "pi2",
"frequency": 2
},
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.timing.Report",
"source_node": "pi1",
"frequency": 50,
@@ -89,7 +89,7 @@
"max_size": 2048
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.timing.Report",
"source_node": "pi2",
"frequency": 50,
@@ -137,7 +137,7 @@
"source_node": "pi1"
},
"rename": {
- "name": "/aos/pi1"
+ "name": "/pi1/aos"
}
},
{
@@ -146,7 +146,7 @@
"source_node": "pi2"
},
"rename": {
- "name": "/aos/pi2"
+ "name": "/pi2/aos"
}
},
{
@@ -161,20 +161,20 @@
},
{
"match": {
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"source_node": "pi2"
},
"rename": {
- "name": "/aos/pi1_forwarded"
+ "name": "/pi1_forwarded/aos"
}
},
{
"match": {
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"source_node": "pi1"
},
"rename": {
- "name": "/aos/pi2_forwarded"
+ "name": "/pi2_forwarded/aos"
}
}
]
diff --git a/frc971/analysis/plot_configs/turret_plot.pb b/frc971/analysis/plot_configs/turret_plot.pb
index 8aee8d7..64c5f22 100644
--- a/frc971/analysis/plot_configs/turret_plot.pb
+++ b/frc971/analysis/plot_configs/turret_plot.pb
@@ -1,5 +1,5 @@
channel {
- name: "/aos/roborio"
+ name: "/roborio/aos"
type: "aos.JoystickState"
alias: "JoystickState"
}
diff --git a/y2020/BUILD b/y2020/BUILD
index 58a99ce..ebb0a80 100644
--- a/y2020/BUILD
+++ b/y2020/BUILD
@@ -147,9 +147,11 @@
],
visibility = ["//visibility:public"],
deps = [
+ ":config_laptop",
":config_pi1",
":config_pi2",
":config_pi3",
+ ":config_pi4",
":config_roborio",
],
)
@@ -169,6 +171,7 @@
visibility = ["//visibility:public"],
deps = [
"//aos/events:config",
+ "//aos/robot_state:config",
"//frc971/control_loops/drivetrain:config",
],
)
@@ -176,6 +179,8 @@
"pi1",
"pi2",
"pi3",
+ "pi4",
+ "laptop",
]
]
diff --git a/y2020/y2020.json b/y2020/y2020.json
index a0a465a..808a796 100644
--- a/y2020/y2020.json
+++ b/y2020/y2020.json
@@ -7,7 +7,7 @@
"type": "aos.RobotState"
},
"rename": {
- "name": "/aos/roborio"
+ "name": "/roborio/aos"
}
}
],
@@ -15,6 +15,8 @@
"y2020_roborio.json",
"y2020_pi1.json",
"y2020_pi2.json",
- "y2020_pi3.json"
+ "y2020_pi3.json",
+ "y2020_pi4.json",
+ "y2020_laptop.json"
]
}
diff --git a/y2020/y2020_laptop.json b/y2020/y2020_laptop.json
new file mode 100644
index 0000000..f220ef6
--- /dev/null
+++ b/y2020/y2020_laptop.json
@@ -0,0 +1,298 @@
+{
+ "channels":
+ [
+ {
+ "name": "/roborio/aos",
+ "type": "aos.RobotState",
+ "source_node": "roborio",
+ "logger": "LOCAL_AND_REMOTE_LOGGER",
+ "logger_nodes": ["laptop"],
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 2,
+ "timestamp_logger": "LOCAL_LOGGER",
+ "time_to_live": 10000000
+ }
+ ]
+ },
+ {
+ "name": "/roborio/aos",
+ "type": "aos.message_bridge.Timestamp",
+ "source_node": "roborio",
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/drivetrain",
+ "type": "frc971.IMUValuesBatch",
+ "source_node": "roborio",
+ "logger": "LOCAL_AND_REMOTE_LOGGER",
+ "logger_nodes": ["laptop"],
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 2,
+ "time_to_live": 50000000
+ }
+ ]
+ },
+ {
+ "name": "/pi1/aos",
+ "type": "aos.message_bridge.Timestamp",
+ "source_node": "pi1",
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi2/aos",
+ "type": "aos.message_bridge.Timestamp",
+ "source_node": "pi2",
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi3/aos",
+ "type": "aos.message_bridge.Timestamp",
+ "source_node": "pi3",
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi4/aos",
+ "type": "aos.message_bridge.Timestamp",
+ "source_node": "pi4",
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/laptop/aos",
+ "type": "aos.timing.Report",
+ "source_node": "laptop",
+ "frequency": 50,
+ "num_senders": 20,
+ "max_size": 2048
+ },
+ {
+ "name": "/laptop/aos",
+ "type": "aos.logging.LogMessageFbs",
+ "source_node": "laptop",
+ "frequency": 400,
+ "num_senders": 20
+ },
+ {
+ "name": "/laptop/aos",
+ "type": "aos.message_bridge.ServerStatistics",
+ "source_node": "laptop",
+ "frequency": 2,
+ "num_senders": 2
+ },
+ {
+ "name": "/laptop/aos",
+ "type": "aos.message_bridge.ClientStatistics",
+ "source_node": "laptop",
+ "frequency": 10,
+ "num_senders": 2
+ },
+ {
+ "name": "/laptop/aos",
+ "type": "aos.message_bridge.Timestamp",
+ "source_node": "laptop",
+ "frequency": 10,
+ "num_senders": 2,
+ "max_size": 300,
+ "destination_nodes": [
+ {
+ "name": "pi1",
+ "priority": 1,
+ "time_to_live": 5000000
+ },
+ {
+ "name": "pi2",
+ "priority": 1,
+ "time_to_live": 5000000
+ },
+ {
+ "name": "pi3",
+ "priority": 1,
+ "time_to_live": 5000000
+ },
+ {
+ "name": "pi4",
+ "priority": 1,
+ "time_to_live": 5000000
+ },
+ {
+ "name": "roborio",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi1/camera",
+ "type": "frc971.vision.CameraImage",
+ "source_node": "pi1",
+ "logger": "LOCAL_AND_REMOTE_LOGGER",
+ "logger_nodes": ["laptop"],
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi1/camera",
+ "type": "frc971.vision.sift.ImageMatchResult",
+ "source_node": "pi1",
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi2/camera",
+ "type": "frc971.vision.CameraImage",
+ "source_node": "pi2",
+ "logger": "LOCAL_AND_REMOTE_LOGGER",
+ "logger_nodes": ["laptop"],
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi2/camera",
+ "type": "frc971.vision.sift.ImageMatchResult",
+ "source_node": "pi2",
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi3/camera",
+ "type": "frc971.vision.CameraImage",
+ "source_node": "pi3",
+ "logger": "LOCAL_AND_REMOTE_LOGGER",
+ "logger_nodes": ["laptop"],
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi3/camera",
+ "type": "frc971.vision.sift.ImageMatchResult",
+ "source_node": "pi3",
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi4/camera",
+ "type": "frc971.vision.CameraImage",
+ "source_node": "pi4",
+ "logger": "LOCAL_AND_REMOTE_LOGGER",
+ "logger_nodes": ["laptop"],
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi4/camera",
+ "type": "frc971.vision.sift.ImageMatchResult",
+ "source_node": "pi4",
+ "destination_nodes": [
+ {
+ "name": "laptop",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ }
+ ],
+ "maps": [
+ {
+ "match": {
+ "name": "/aos*",
+ "source_node": "laptop"
+ },
+ "rename": {
+ "name": "/laptop/aos"
+ }
+ }
+ ],
+ "nodes": [
+ {
+ "name": "laptop",
+ "hostname": "laptop",
+ "hostnames": [
+ "ASchuh-T480s"
+ ],
+ "port": 9971
+ },
+ {
+ "name": "roborio"
+ },
+ {
+ "name": "pi1"
+ },
+ {
+ "name": "pi2"
+ },
+ {
+ "name": "pi3"
+ },
+ {
+ "name": "pi4"
+ }
+ ]
+}
diff --git a/y2020/y2020_pi1.json b/y2020/y2020_pi1.json
index 93d3ba9..6974796 100644
--- a/y2020/y2020_pi1.json
+++ b/y2020/y2020_pi1.json
@@ -2,7 +2,7 @@
"channels":
[
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.timing.Report",
"source_node": "pi1",
"frequency": 50,
@@ -10,28 +10,28 @@
"max_size": 2048
},
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.logging.LogMessageFbs",
"source_node": "pi1",
"frequency": 200,
"num_senders": 20
},
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.message_bridge.ServerStatistics",
"source_node": "pi1",
"frequency": 2,
"num_senders": 2
},
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.message_bridge.ClientStatistics",
"source_node": "pi1",
"frequency": 10,
"num_senders": 2
},
{
- "name": "/aos/pi1",
+ "name": "/pi1/aos",
"type": "aos.message_bridge.Timestamp",
"source_node": "pi1",
"frequency": 10,
@@ -87,30 +87,21 @@
"maps": [
{
"match": {
- "name": "/aos",
+ "name": "/aos*",
"source_node": "pi1"
},
"rename": {
- "name": "/aos/pi1"
+ "name": "/pi1/aos"
}
},
{
"match": {
- "name": "/camera",
+ "name": "/camera*",
"source_node": "pi1"
},
"rename": {
"name": "/pi1/camera"
}
- },
- {
- "match": {
- "name": "/camera/detailed",
- "source_node": "pi1"
- },
- "rename": {
- "name": "/pi1/camera/detailed"
- }
}
],
"nodes": [
diff --git a/y2020/y2020_pi2.json b/y2020/y2020_pi2.json
index 2046666..facc010 100644
--- a/y2020/y2020_pi2.json
+++ b/y2020/y2020_pi2.json
@@ -2,7 +2,7 @@
"channels":
[
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.timing.Report",
"source_node": "pi2",
"frequency": 50,
@@ -10,28 +10,28 @@
"max_size": 2048
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.logging.LogMessageFbs",
"source_node": "pi2",
"frequency": 200,
"num_senders": 20
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.message_bridge.ServerStatistics",
"source_node": "pi2",
"frequency": 2,
"num_senders": 2
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.message_bridge.ClientStatistics",
"source_node": "pi2",
"frequency": 10,
"num_senders": 2
},
{
- "name": "/aos/pi2",
+ "name": "/pi2/aos",
"type": "aos.message_bridge.Timestamp",
"source_node": "pi2",
"frequency": 10,
@@ -87,30 +87,21 @@
"maps": [
{
"match": {
- "name": "/aos",
+ "name": "/aos*",
"source_node": "pi2"
},
"rename": {
- "name": "/aos/pi2"
+ "name": "/pi2/aos"
}
},
{
"match": {
- "name": "/camera",
+ "name": "/camera*",
"source_node": "pi2"
},
"rename": {
"name": "/pi2/camera"
}
- },
- {
- "match": {
- "name": "/camera/detailed",
- "source_node": "pi2"
- },
- "rename": {
- "name": "/pi2/camera/detailed"
- }
}
],
"nodes": [
diff --git a/y2020/y2020_pi3.json b/y2020/y2020_pi3.json
index fe8f980..9d9c839 100644
--- a/y2020/y2020_pi3.json
+++ b/y2020/y2020_pi3.json
@@ -2,7 +2,7 @@
"channels":
[
{
- "name": "/aos/pi3",
+ "name": "/pi3/aos",
"type": "aos.timing.Report",
"source_node": "pi3",
"frequency": 50,
@@ -10,28 +10,28 @@
"max_size": 2048
},
{
- "name": "/aos/pi3",
+ "name": "/pi3/aos",
"type": "aos.logging.LogMessageFbs",
"source_node": "pi3",
"frequency": 200,
"num_senders": 20
},
{
- "name": "/aos/pi3",
+ "name": "/pi3/aos",
"type": "aos.message_bridge.ServerStatistics",
"source_node": "pi3",
"frequency": 2,
"num_senders": 2
},
{
- "name": "/aos/pi3",
+ "name": "/pi3/aos",
"type": "aos.message_bridge.ClientStatistics",
"source_node": "pi3",
"frequency": 10,
"num_senders": 2
},
{
- "name": "/aos/pi3",
+ "name": "/pi3/aos",
"type": "aos.message_bridge.Timestamp",
"source_node": "pi3",
"frequency": 10,
@@ -87,30 +87,21 @@
"maps": [
{
"match": {
- "name": "/aos",
+ "name": "/aos*",
"source_node": "pi3"
},
"rename": {
- "name": "/aos/pi3"
+ "name": "/pi3/aos"
}
},
{
"match": {
- "name": "/camera",
+ "name": "/camera*",
"source_node": "pi3"
},
"rename": {
"name": "/pi3/camera"
}
- },
- {
- "match": {
- "name": "/camera/detailed",
- "source_node": "pi3"
- },
- "rename": {
- "name": "/pi3/camera/detailed"
- }
}
],
"nodes": [
diff --git a/y2020/y2020_pi4.json b/y2020/y2020_pi4.json
new file mode 100644
index 0000000..ce11ded
--- /dev/null
+++ b/y2020/y2020_pi4.json
@@ -0,0 +1,123 @@
+{
+ "channels":
+ [
+ {
+ "name": "/pi4/aos",
+ "type": "aos.timing.Report",
+ "source_node": "pi4",
+ "frequency": 50,
+ "num_senders": 20,
+ "max_size": 2048
+ },
+ {
+ "name": "/pi4/aos",
+ "type": "aos.logging.LogMessageFbs",
+ "source_node": "pi4",
+ "frequency": 200,
+ "num_senders": 20
+ },
+ {
+ "name": "/pi4/aos",
+ "type": "aos.message_bridge.ServerStatistics",
+ "source_node": "pi4",
+ "frequency": 2,
+ "num_senders": 2
+ },
+ {
+ "name": "/pi4/aos",
+ "type": "aos.message_bridge.ClientStatistics",
+ "source_node": "pi4",
+ "frequency": 10,
+ "num_senders": 2
+ },
+ {
+ "name": "/pi4/aos",
+ "type": "aos.message_bridge.Timestamp",
+ "source_node": "pi4",
+ "frequency": 10,
+ "num_senders": 2,
+ "max_size": 200,
+ "destination_nodes": [
+ {
+ "name": "roborio",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi4/camera",
+ "type": "frc971.vision.CameraImage",
+ "source_node": "pi4",
+ "frequency": 25,
+ "max_size": 620000,
+ "num_senders": 18
+ },
+ {
+ "name": "/pi4/camera",
+ "type": "frc971.vision.sift.ImageMatchResult",
+ "source_node": "pi4",
+ "logger": "LOCAL_AND_REMOTE_LOGGER",
+ "logger_nodes": ["roborio"],
+ "frequency": 25,
+ "max_size": 10000,
+ "destination_nodes": [
+ {
+ "name": "roborio",
+ "priority": 1,
+ "time_to_live": 5000000
+ }
+ ]
+ },
+ {
+ "name": "/pi4/camera/detailed",
+ "type": "frc971.vision.sift.ImageMatchResult",
+ "source_node": "pi4",
+ "frequency": 25,
+ "max_size": 1000000
+ },
+ {
+ "name": "/pi4/camera",
+ "type": "frc971.vision.sift.TrainingData",
+ "source_node": "pi4",
+ "frequency": 2,
+ "max_size": 2000000
+ }
+ ],
+ "maps": [
+ {
+ "match": {
+ "name": "/aos*",
+ "source_node": "pi4"
+ },
+ "rename": {
+ "name": "/pi4/aos"
+ }
+ },
+ {
+ "match": {
+ "name": "/camera*",
+ "source_node": "pi4"
+ },
+ "rename": {
+ "name": "/pi4/camera"
+ }
+ }
+ ],
+ "nodes": [
+ {
+ "name": "pi4",
+ "hostname": "pi4",
+ "hostnames": [
+ "pi-971-4",
+ "pi-7971-4",
+ "pi-8971-4",
+ "pi-9971-4"
+ ],
+ "port": 9971
+ },
+ {
+ "name": "roborio"
+ }
+ ]
+}
diff --git a/y2020/y2020_roborio.json b/y2020/y2020_roborio.json
index 0ab7c36..7de7f51 100644
--- a/y2020/y2020_roborio.json
+++ b/y2020/y2020_roborio.json
@@ -2,13 +2,13 @@
"channels":
[
{
- "name": "/aos/roborio",
+ "name": "/roborio/aos",
"type": "aos.JoystickState",
"source_node": "roborio",
"frequency": 75
},
{
- "name": "/aos/roborio",
+ "name": "/roborio/aos",
"type": "aos.RobotState",
"source_node": "roborio",
"frequency": 200,
@@ -30,11 +30,17 @@
"priority": 2,
"timestamp_logger": "LOCAL_LOGGER",
"time_to_live": 10000000
+ },
+ {
+ "name": "pi4",
+ "priority": 2,
+ "timestamp_logger": "LOCAL_LOGGER",
+ "time_to_live": 10000000
}
]
},
{
- "name": "/aos/roborio",
+ "name": "/roborio/aos",
"type": "aos.timing.Report",
"source_node": "roborio",
"frequency": 50,
@@ -42,33 +48,33 @@
"max_size": 2048
},
{
- "name": "/aos/roborio",
+ "name": "/roborio/aos",
"type": "aos.logging.LogMessageFbs",
"source_node": "roborio",
"frequency": 400,
"num_senders": 20
},
{
- "name": "/aos/roborio",
+ "name": "/roborio/aos",
"type": "aos.message_bridge.ServerStatistics",
"source_node": "roborio",
"frequency": 2,
"num_senders": 2
},
{
- "name": "/aos/roborio",
+ "name": "/roborio/aos",
"type": "aos.message_bridge.ClientStatistics",
"source_node": "roborio",
"frequency": 10,
"num_senders": 2
},
{
- "name": "/aos/roborio",
+ "name": "/roborio/aos",
"type": "aos.message_bridge.Timestamp",
"source_node": "roborio",
"frequency": 10,
"num_senders": 2,
- "max_size": 200,
+ "max_size": 300,
"destination_nodes": [
{
"name": "pi1",
@@ -84,6 +90,11 @@
"name": "pi3",
"priority": 1,
"time_to_live": 5000000
+ },
+ {
+ "name": "pi4",
+ "priority": 1,
+ "time_to_live": 5000000
}
]
},
@@ -215,13 +226,13 @@
"frequency": 200
},
{
- "name": "/aos/roborio",
+ "name": "/roborio/aos",
"type": "frc971.PDPValues",
"source_node": "roborio",
"frequency": 50
},
{
- "name": "/aos/roborio",
+ "name": "/roborio/aos",
"type": "frc971.wpilib.PneumaticsToLog",
"source_node": "roborio",
"frequency": 50
@@ -238,11 +249,11 @@
"maps": [
{
"match": {
- "name": "/aos",
+ "name": "/aos*",
"source_node": "roborio"
},
"rename": {
- "name": "/aos/roborio"
+ "name": "/roborio/aos"
}
}
],
@@ -266,6 +277,9 @@
},
{
"name": "pi3"
+ },
+ {
+ "name": "pi4"
}
]
}