Rename laptop to logger
Now that we have a logger pi, let's use it!
Change-Id: I8dae48b3a06627e6a98f6dd476c2ff47013ea41f
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/frc971/control_loops/drivetrain/BUILD b/frc971/control_loops/drivetrain/BUILD
index 02f8e3a..d50c1f9 100644
--- a/frc971/control_loops/drivetrain/BUILD
+++ b/frc971/control_loops/drivetrain/BUILD
@@ -3,6 +3,7 @@
load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library", "flatbuffer_ts_library")
load("//aos:config.bzl", "aos_config")
load("//tools/build_rules:select.bzl", "cpu_select")
+load("//aos:flatbuffers.bzl", "cc_static_flatbuffer")
load("@npm_bazel_typescript//:defs.bzl", "ts_library")
flatbuffer_cc_library(
@@ -48,6 +49,13 @@
includes = ["//frc971/control_loops:control_loops_fbs_includes"],
)
+cc_static_flatbuffer(
+ name = "trajectory_schema",
+ function = "frc971::control_loops::drivetrain::fb::TrajectorySchema",
+ target = ":trajectory_fbs_reflection_out",
+ visibility = ["//visibility:public"],
+)
+
flatbuffer_ts_library(
name = "drivetrain_status_ts_fbs",
srcs = ["drivetrain_status.fbs"],
diff --git a/y2020/BUILD b/y2020/BUILD
index 195e2f4..61987c9 100644
--- a/y2020/BUILD
+++ b/y2020/BUILD
@@ -162,7 +162,7 @@
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//visibility:public"],
deps = [
- ":config_laptop",
+ ":config_logger",
":config_pi1",
":config_pi2",
":config_pi3",
@@ -204,8 +204,8 @@
]
aos_config(
- name = "config_laptop",
- src = "y2020_laptop.json",
+ name = "config_logger",
+ src = "y2020_logger.json",
flatbuffers = [
"//aos/network:message_bridge_client_fbs",
"//aos/network:message_bridge_server_fbs",
diff --git a/y2020/control_loops/drivetrain/BUILD b/y2020/control_loops/drivetrain/BUILD
index b12cdc3..17a2959 100644
--- a/y2020/control_loops/drivetrain/BUILD
+++ b/y2020/control_loops/drivetrain/BUILD
@@ -186,6 +186,7 @@
"//aos/events/logging:log_writer",
"//aos/testing:googletest",
"//frc971/control_loops/drivetrain:drivetrain_lib",
+ "//frc971/control_loops/drivetrain:trajectory_schema",
"@com_github_gflags_gflags//:gflags",
"@com_github_google_glog//:glog",
],
diff --git a/y2020/control_loops/drivetrain/drivetrain_replay_test.cc b/y2020/control_loops/drivetrain/drivetrain_replay_test.cc
index def3cd3..297cf5b 100644
--- a/y2020/control_loops/drivetrain/drivetrain_replay_test.cc
+++ b/y2020/control_loops/drivetrain/drivetrain_replay_test.cc
@@ -11,13 +11,14 @@
#include "gtest/gtest.h"
#include "aos/configuration.h"
-#include "aos/events/logging/log_writer.h"
#include "aos/events/logging/log_reader.h"
+#include "aos/events/logging/log_writer.h"
#include "aos/events/simulated_event_loop.h"
#include "aos/init.h"
#include "aos/json_to_flatbuffer.h"
#include "aos/network/team_number.h"
#include "frc971/control_loops/drivetrain/drivetrain.h"
+#include "frc971/control_loops/drivetrain/trajectory_schema.h"
#include "gflags/gflags.h"
#include "y2020/control_loops/drivetrain/drivetrain_base.h"
@@ -36,9 +37,7 @@
class DrivetrainReplayTest : public ::testing::Test {
public:
DrivetrainReplayTest()
- : config_(aos::configuration::ReadConfig(FLAGS_config)),
- reader_(aos::logger::SortParts(aos::logger::FindLogs(FLAGS_logfile)),
- &config_.message()) {
+ : reader_(aos::logger::SortParts(aos::logger::FindLogs(FLAGS_logfile))) {
aos::network::OverrideTeamNumber(971);
// TODO(james): Actually enforce not sending on the same buses as the
@@ -47,12 +46,38 @@
"frc971.control_loops.drivetrain.Status");
reader_.RemapLoggedChannel("/drivetrain",
"frc971.control_loops.drivetrain.Output");
- reader_.Register();
+
+ // Patch in any new channels.
+ updated_config_ = aos::configuration::MergeWithConfig(
+ reader_.configuration(),
+ aos::configuration::AddSchema(
+ R"channel({
+ "channels": [
+ {
+ "name": "/drivetrain",
+ "type": "frc971.control_loops.drivetrain.fb.Trajectory",
+ "source_node": "roborio",
+ "max_size": 600000,
+ "frequency": 4,
+ "num_senders": 2,
+ "read_method": "PIN",
+ "num_readers": 10,
+ "logger": "NOT_LOGGED"
+ }
+ ]
+})channel",
+ {aos::FlatbufferVector<
+ reflection::Schema>(aos::FlatbufferSpan<reflection::Schema>(
+ frc971::control_loops::drivetrain::fb::TrajectorySchema()))}));
+
+ factory_ = std::make_unique<aos::SimulatedEventLoopFactory>(
+ &updated_config_.message());
+
+ reader_.Register(factory_.get());
roborio_ = aos::configuration::GetNode(reader_.configuration(), "roborio");
- drivetrain_event_loop_ =
- reader_.event_loop_factory()->MakeEventLoop("drivetrain", roborio_);
+ drivetrain_event_loop_ = factory_->MakeEventLoop("drivetrain", roborio_);
drivetrain_event_loop_->SkipTimingReport();
frc971::control_loops::drivetrain::DrivetrainConfig<double> config =
@@ -65,17 +90,25 @@
std::make_unique<frc971::control_loops::drivetrain::DrivetrainLoop>(
config, drivetrain_event_loop_.get(), localizer_.get());
- test_event_loop_ =
- reader_.event_loop_factory()->MakeEventLoop("drivetrain_test", roborio_);
+ test_event_loop_ = factory_->MakeEventLoop("drivetrain_test", roborio_);
- status_fetcher_ = test_event_loop_->MakeFetcher<
- frc971::control_loops::drivetrain::Status>("/drivetrain");
+ status_fetcher_ =
+ test_event_loop_
+ ->MakeFetcher<frc971::control_loops::drivetrain::Status>(
+ "/drivetrain");
}
- const aos::FlatbufferDetachedBuffer<aos::Configuration> config_;
+ ~DrivetrainReplayTest() {
+ reader_.Deregister();
+ }
+
aos::logger::LogReader reader_;
const aos::Node *roborio_;
+ aos::FlatbufferDetachedBuffer<aos::Configuration> updated_config_ =
+ aos::FlatbufferDetachedBuffer<aos::Configuration>::Empty();
+ std::unique_ptr<aos::SimulatedEventLoopFactory> factory_;
+
std::unique_ptr<aos::EventLoop> drivetrain_event_loop_;
std::unique_ptr<frc971::control_loops::drivetrain::DeadReckonEkf> localizer_;
std::unique_ptr<frc971::control_loops::drivetrain::DrivetrainLoop>
diff --git a/y2020/control_loops/superstructure/superstructure_lib_test.cc b/y2020/control_loops/superstructure/superstructure_lib_test.cc
index b34273c..660d9bb 100644
--- a/y2020/control_loops/superstructure/superstructure_lib_test.cc
+++ b/y2020/control_loops/superstructure/superstructure_lib_test.cc
@@ -1139,10 +1139,8 @@
class SuperstructureReplayTest : public ::testing::Test {
public:
SuperstructureReplayTest()
- : config_(aos::configuration::ReadConfig(FLAGS_config)),
- reader_(
- aos::logger::SortParts(aos::logger::FindLogs(FLAGS_replay_logfile)),
- &config_.message()) {
+ : reader_(aos::logger::SortParts(
+ aos::logger::FindLogs(FLAGS_replay_logfile))) {
aos::network::OverrideTeamNumber(971);
reader_.RemapLoggedChannel("/superstructure",
@@ -1172,7 +1170,6 @@
}
}
- const aos::FlatbufferDetachedBuffer<aos::Configuration> config_;
aos::logger::LogReader reader_;
const aos::Node *roborio_;
diff --git a/y2020/vision/rootfs/change_hostname.sh b/y2020/vision/rootfs/change_hostname.sh
index f36c439..c9b0b35 100755
--- a/y2020/vision/rootfs/change_hostname.sh
+++ b/y2020/vision/rootfs/change_hostname.sh
@@ -38,9 +38,9 @@
echo -e "${IP_BASE}.2\troborio" >> /etc/hosts
fi
-if grep '^10\.[0-9]*\.[0-9]*\.13\s*laptop$' /etc/hosts >/dev/null;
+if grep '^10\.[0-9]*\.[0-9]*\.13\s*logger$' /etc/hosts >/dev/null;
then
- sed -i "s/^10\.[0-9]*\.[0-9]*\(\.13\s*laptop\)$/${IP_BASE}\1/" /etc/hosts
+ sed -i "s/^10\.[0-9]*\.[0-9]*\(\.13\s*logger\)$/${IP_BASE}\1/" /etc/hosts
else
- echo -e "${IP_BASE}.13\tlaptop" >> /etc/hosts
+ echo -e "${IP_BASE}.13\tlogger" >> /etc/hosts
fi
diff --git a/y2020/y2020.json b/y2020/y2020.json
index 70e51b0..5e736ba 100644
--- a/y2020/y2020.json
+++ b/y2020/y2020.json
@@ -18,6 +18,6 @@
"y2020_pi3.json",
"y2020_pi4.json",
"y2020_pi5.json",
- "y2020_laptop.json"
+ "y2020_logger.json"
]
}
diff --git a/y2020/y2020_laptop.json b/y2020/y2020_logger.json
similarity index 78%
rename from y2020/y2020_laptop.json
rename to y2020/y2020_logger.json
index 59aa47c..670cf99 100644
--- a/y2020/y2020_laptop.json
+++ b/y2020/y2020_logger.json
@@ -7,11 +7,11 @@
"source_node": "roborio",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 2,
"timestamp_logger": "LOCAL_LOGGER",
"time_to_live": 10000000
@@ -25,11 +25,11 @@
"source_node": "roborio",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000,
"timestamp_logger" : "LOCAL_AND_REMOTE_LOGGER",
@@ -44,11 +44,11 @@
"source_node": "roborio",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 2,
"time_to_live": 50000000
}
@@ -61,11 +61,11 @@
"source_node": "pi1",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -77,11 +77,11 @@
"source_node": "pi2",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -93,11 +93,11 @@
"source_node": "pi3",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -109,11 +109,11 @@
"source_node": "pi4",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -125,51 +125,66 @@
"source_node": "pi5",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
]
},
{
- "name": "/laptop/aos",
+ "name": "/logger/aos",
"type": "aos.timing.Report",
- "source_node": "laptop",
+ "source_node": "logger",
"frequency": 50,
"num_senders": 20,
"max_size": 4096
},
{
- "name": "/laptop/aos",
+ "name": "/logger/aos",
"type": "aos.logging.LogMessageFbs",
- "source_node": "laptop",
+ "source_node": "logger",
"frequency": 400,
"num_senders": 20
},
{
- "name": "/laptop/aos",
+ "name": "/logger/aos",
"type": "aos.message_bridge.ServerStatistics",
- "source_node": "laptop",
+ "source_node": "logger",
"frequency": 10,
"num_senders": 2
},
{
- "name": "/laptop/aos",
+ "name": "/logger/aos",
"type": "aos.message_bridge.ClientStatistics",
- "source_node": "laptop",
+ "source_node": "logger",
"frequency": 10,
"num_senders": 2
},
{
- "name": "/laptop/aos",
+ "name": "/logger/aos",
+ "type": "aos.starter.Status",
+ "source_node": "logger",
+ "frequency": 50,
+ "num_senders": 20
+ },
+ {
+ "name": "/logger/aos",
+ "type": "aos.starter.StarterRpc",
+ "source_node": "logger",
+ "frequency": 10,
+ "max_size": 72,
+ "num_senders": 2
+ },
+ {
+ "name": "/logger/aos",
"type": "aos.message_bridge.Timestamp",
"logger_nodes": ["roborio"],
"logger": "LOCAL_AND_REMOTE_LOGGER",
- "source_node": "laptop",
+ "source_node": "logger",
"frequency": 15,
"num_senders": 2,
"max_size": 400,
@@ -180,7 +195,7 @@
"time_to_live": 5000000,
"timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
"timestamp_logger_nodes": [
- "laptop"
+ "logger"
]
},
{
@@ -189,7 +204,7 @@
"time_to_live": 5000000,
"timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
"timestamp_logger_nodes": [
- "laptop"
+ "logger"
]
},
{
@@ -198,7 +213,7 @@
"time_to_live": 5000000,
"timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
"timestamp_logger_nodes": [
- "laptop"
+ "logger"
]
},
{
@@ -207,7 +222,7 @@
"time_to_live": 5000000,
"timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
"timestamp_logger_nodes": [
- "laptop"
+ "logger"
]
},
{
@@ -216,7 +231,7 @@
"time_to_live": 5000000,
"timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
"timestamp_logger_nodes": [
- "laptop"
+ "logger"
]
},
{
@@ -225,60 +240,60 @@
"time_to_live": 5000000,
"timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
"timestamp_logger_nodes": [
- "laptop"
+ "logger"
]
}
]
},
{
- "name": "/laptop/aos/remote_timestamps/roborio/laptop/aos/aos-message_bridge-Timestamp",
+ "name": "/logger/aos/remote_timestamps/roborio/logger/aos/aos-message_bridge-Timestamp",
"type": "aos.message_bridge.RemoteMessage",
- "source_node": "laptop",
+ "source_node": "logger",
"logger": "NOT_LOGGED",
"frequency": 20,
"num_senders": 2,
"max_size": 200
},
{
- "name": "/laptop/aos/remote_timestamps/pi1/laptop/aos/aos-message_bridge-Timestamp",
+ "name": "/logger/aos/remote_timestamps/pi1/logger/aos/aos-message_bridge-Timestamp",
"type": "aos.message_bridge.RemoteMessage",
- "source_node": "laptop",
+ "source_node": "logger",
"logger": "NOT_LOGGED",
"frequency": 20,
"num_senders": 2,
"max_size": 200
},
{
- "name": "/laptop/aos/remote_timestamps/pi2/laptop/aos/aos-message_bridge-Timestamp",
+ "name": "/logger/aos/remote_timestamps/pi2/logger/aos/aos-message_bridge-Timestamp",
"type": "aos.message_bridge.RemoteMessage",
- "source_node": "laptop",
+ "source_node": "logger",
"logger": "NOT_LOGGED",
"frequency": 20,
"num_senders": 2,
"max_size": 200
},
{
- "name": "/laptop/aos/remote_timestamps/pi3/laptop/aos/aos-message_bridge-Timestamp",
+ "name": "/logger/aos/remote_timestamps/pi3/logger/aos/aos-message_bridge-Timestamp",
"type": "aos.message_bridge.RemoteMessage",
- "source_node": "laptop",
+ "source_node": "logger",
"logger": "NOT_LOGGED",
"frequency": 20,
"num_senders": 2,
"max_size": 200
},
{
- "name": "/laptop/aos/remote_timestamps/pi4/laptop/aos/aos-message_bridge-Timestamp",
+ "name": "/logger/aos/remote_timestamps/pi4/logger/aos/aos-message_bridge-Timestamp",
"type": "aos.message_bridge.RemoteMessage",
- "source_node": "laptop",
+ "source_node": "logger",
"logger": "NOT_LOGGED",
"frequency": 20,
"num_senders": 2,
"max_size": 200
},
{
- "name": "/laptop/aos/remote_timestamps/pi5/laptop/aos/aos-message_bridge-Timestamp",
+ "name": "/logger/aos/remote_timestamps/pi5/logger/aos/aos-message_bridge-Timestamp",
"type": "aos.message_bridge.RemoteMessage",
- "source_node": "laptop",
+ "source_node": "logger",
"logger": "NOT_LOGGED",
"frequency": 20,
"num_senders": 2,
@@ -290,11 +305,11 @@
"source_node": "pi1",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -306,11 +321,11 @@
"source_node": "pi1",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -322,11 +337,11 @@
"source_node": "pi2",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -338,11 +353,11 @@
"source_node": "pi2",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -354,11 +369,11 @@
"source_node": "pi3",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -370,11 +385,11 @@
"source_node": "pi3",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -386,11 +401,11 @@
"source_node": "pi4",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -402,11 +417,11 @@
"source_node": "pi4",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -418,11 +433,11 @@
"source_node": "pi5",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -434,11 +449,11 @@
"source_node": "pi5",
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "laptop"
+ "logger"
],
"destination_nodes": [
{
- "name": "laptop",
+ "name": "logger",
"priority": 1,
"time_to_live": 5000000
}
@@ -449,18 +464,35 @@
{
"match": {
"name": "/aos*",
- "source_node": "laptop"
+ "source_node": "logger"
},
"rename": {
- "name": "/laptop/aos"
+ "name": "/logger/aos"
}
}
],
+ "applications": [
+ {
+ "name": "message_bridge_client",
+ "executable_name": "message_bridge_client",
+ "nodes": [
+ "logger"
+ ]
+ },
+ {
+ "name": "message_bridge_server",
+ "executable_name": "message_bridge_server",
+ "nodes": [
+ "logger"
+ ]
+ }
+ ],
"nodes": [
{
- "name": "laptop",
- "hostname": "laptop",
+ "name": "logger",
+ "hostname": "logger",
"hostnames": [
+ "pi-971-6",
"ASchuh-T480s",
"aschuh-3950x"
],
diff --git a/y2020/y2020_roborio.json b/y2020/y2020_roborio.json
index e7c54f2..a9c056e 100644
--- a/y2020/y2020_roborio.json
+++ b/y2020/y2020_roborio.json
@@ -59,7 +59,7 @@
"num_senders": 2
},
{
- "name": "/roborio/aos/remote_timestamps/laptop/roborio/aos/aos-message_bridge-Timestamp",
+ "name": "/roborio/aos/remote_timestamps/logger/roborio/aos/aos-message_bridge-Timestamp",
"type": "aos.message_bridge.RemoteMessage",
"frequency": 200,
"logger": "NOT_LOGGED",