Adjust frequencies of channels

Increase the frequency of channels that use SimulatedEventLoops
so that they are not sending messages too fast.
Uses the grandchild commit of this - the send too fast check,
too determine the correct frequencies.

Change-Id: I649ac6bde167c263dddf75ab0860a861662baa49
Signed-off-by: milind <milind.upadhyay@gmail.com>
Signed-off-by: Milind Upadhyay <milind.upadhyay@gmail.com>
diff --git a/WORKSPACE b/WORKSPACE
index adbf92b..e82320d 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -705,8 +705,8 @@
 http_file(
     name = "sample_logfile",
     downloaded_file_path = "log.fbs",
-    sha256 = "91c98edee0c90a19992792c711dde4a6743af2d6d7e45b5079ec228fdf51ff11",
-    urls = ["https://www.frc971.org/Build-Dependencies/small_sample_logfile.fbs"],
+    sha256 = "45d1d19fb82786c476d3f21a8d62742abaeeedf4c16a00ec37ae350dcb61f1fc",
+    urls = ["https://www.frc971.org/Build-Dependencies/small_sample_logfile2.fbs"],
 )
 
 http_archive(
diff --git a/aos/events/aos.json b/aos/events/aos.json
index 34842b2..875c27e 100644
--- a/aos/events/aos.json
+++ b/aos/events/aos.json
@@ -11,8 +11,9 @@
     {
       "name": "/aos",
       "type": "aos.logging.LogMessageFbs",
-      "frequency": 200,
-      "num_senders": 20
+      "frequency": 250,
+      "num_senders": 20,
+      "max_size": 512
     },
     {
       "name": "/aos",
diff --git a/aos/events/event_loop_param_test.h b/aos/events/event_loop_param_test.h
index 3138c51..543bb21 100644
--- a/aos/events/event_loop_param_test.h
+++ b/aos/events/event_loop_param_test.h
@@ -36,7 +36,8 @@
     },
     {
       "name": "/test",
-      "type": "aos.TestMessage"
+      "type": "aos.TestMessage",
+      "frequency": 800
     },
     {
       "name": "/test1",
@@ -123,7 +124,8 @@
       "name": "/test",
       "type": "aos.TestMessage",
       "read_method": "PIN",
-      "num_readers": 10
+      "num_readers": 10,
+      "frequency": 800
     },
     {
       "name": "/test1",
diff --git a/aos/events/logging/logger_test.cc b/aos/events/logging/logger_test.cc
index a342c12..5532caf 100644
--- a/aos/events/logging/logger_test.cc
+++ b/aos/events/logging/logger_test.cc
@@ -2324,9 +2324,9 @@
 }
 
 constexpr std::string_view kCombinedConfigSha1(
-    "0184681f8b83b5b9902a88ab12504c06b780907f6d156353bd958ebcf9389ef9");
+    "4503751edc96327493562f0376f0d6daac172927c0fd64d04ce5d67505186c0b");
 constexpr std::string_view kSplitConfigSha1(
-    "1020274679a8f8c15ea20a48e4a35dd59a435203e5f31a57e15355e5a6ee31f7");
+    "918a748432c5e70a971dfd8934968378bed04ab61cf2efcd35b7f6224053c247");
 
 INSTANTIATE_TEST_SUITE_P(
     All, MultinodeLoggerTest,
diff --git a/aos/events/logging/multinode_pingpong_combined.json b/aos/events/logging/multinode_pingpong_combined.json
index 6a93452..2ed0937 100644
--- a/aos/events/logging/multinode_pingpong_combined.json
+++ b/aos/events/logging/multinode_pingpong_combined.json
@@ -90,7 +90,8 @@
       "type": "aos.message_bridge.RemoteMessage",
       "logger": "NOT_LOGGED",
       "num_senders": 2,
-      "source_node": "pi1"
+      "source_node": "pi1",
+      "frequency": 150
     },
     {
       "name": "/pi2/aos/remote_timestamps/pi1",
@@ -109,10 +110,13 @@
           "name": "pi2",
           "priority": 1,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["pi1"],
+          "timestamp_logger_nodes": [
+            "pi1"
+          ],
           "time_to_live": 5000000
         }
-      ]
+      ],
+      "frequency": 150
     },
     /* Forwarded back to pi1.
      * The message is logged both on the sending node and the receiving node
@@ -133,11 +137,12 @@
           "timestamp_logger": "LOCAL_LOGGER",
           "time_to_live": 5000000
         }
-      ]
+      ],
+      "frequency": 150
     }
   ],
   "maps": [
-   {
+    {
       "match": {
         "name": "/aos*",
         "source_node": "pi1"
diff --git a/aos/events/logging/multinode_pingpong_split.json b/aos/events/logging/multinode_pingpong_split.json
index 4ead71e..aaaecd1 100644
--- a/aos/events/logging/multinode_pingpong_split.json
+++ b/aos/events/logging/multinode_pingpong_split.json
@@ -104,7 +104,8 @@
       "type": "aos.message_bridge.RemoteMessage",
       "logger": "NOT_LOGGED",
       "num_senders": 2,
-      "source_node": "pi1"
+      "source_node": "pi1",
+      "frequency": 150
     },
     /* Forwarded to pi2 */
     {
@@ -116,10 +117,13 @@
           "name": "pi2",
           "priority": 1,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["pi1"],
+          "timestamp_logger_nodes": [
+            "pi1"
+          ],
           "time_to_live": 5000000
         }
-      ]
+      ],
+      "frequency": 150
     },
     /* Forwarded back to pi1.
      * The message is logged both on the sending node and the receiving node
@@ -140,11 +144,12 @@
           "timestamp_logger": "LOCAL_LOGGER",
           "time_to_live": 5000000
         }
-      ]
+      ],
+      "frequency": 150
     }
   ],
   "maps": [
-   {
+    {
       "match": {
         "name": "/aos*",
         "source_node": "pi1"
diff --git a/aos/events/multinode_pingpong_test_combined.json b/aos/events/multinode_pingpong_test_combined.json
index 54da1c1..38243f4 100644
--- a/aos/events/multinode_pingpong_test_combined.json
+++ b/aos/events/multinode_pingpong_test_combined.json
@@ -100,31 +100,33 @@
       "name": "/pi1/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "source_node": "pi1",
-      "frequency": 2
+      "frequency": 10
     },
     {
       "name": "/pi2/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "source_node": "pi2",
-      "frequency": 2
+      "frequency": 10
     },
     {
       "name": "/pi3/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "source_node": "pi3",
-      "frequency": 2
+      "frequency": 10
     },
     {
       "name": "/pi1/aos/remote_timestamps/pi2",
       "type": "aos.message_bridge.RemoteMessage",
       "logger": "NOT_LOGGED",
-      "source_node": "pi1"
+      "source_node": "pi1",
+      "frequency": 150
     },
     {
       "name": "/pi2/aos/remote_timestamps/pi1",
       "type": "aos.message_bridge.RemoteMessage",
       "logger": "NOT_LOGGED",
-      "source_node": "pi2"
+      "source_node": "pi2",
+      "frequency": 150
     },
     {
       "name": "/pi1/aos",
diff --git a/aos/events/multinode_pingpong_test_split.json b/aos/events/multinode_pingpong_test_split.json
index a59f588..d93731a 100644
--- a/aos/events/multinode_pingpong_test_split.json
+++ b/aos/events/multinode_pingpong_test_split.json
@@ -100,19 +100,19 @@
       "name": "/pi1/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "source_node": "pi1",
-      "frequency": 2
+      "frequency": 10
     },
     {
       "name": "/pi2/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "source_node": "pi2",
-      "frequency": 2
+      "frequency": 10
     },
     {
       "name": "/pi3/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "source_node": "pi3",
-      "frequency": 2
+      "frequency": 10
     },
     {
       "name": "/pi1/aos/remote_timestamps/pi2/pi1/aos/aos-message_bridge-Timestamp",
diff --git a/aos/events/pingpong.json b/aos/events/pingpong.json
index d7c3bae..64fb27f 100644
--- a/aos/events/pingpong.json
+++ b/aos/events/pingpong.json
@@ -11,15 +11,15 @@
     {
       "name": "/test",
       "type": "aos.examples.Ping",
-      "frequency": 2000
+      "frequency": 4500
     },
     {
       "name": "/test",
       "type": "aos.examples.Pong",
-      "frequency": 2000
+      "frequency": 4500
     }
   ],
   "imports": [
     "aos.json"
   ]
-}
+}
\ No newline at end of file
diff --git a/frc971/control_loops/drivetrain/drivetrain_config.json b/frc971/control_loops/drivetrain/drivetrain_config.json
index 238adee..a74d416 100644
--- a/frc971/control_loops/drivetrain/drivetrain_config.json
+++ b/frc971/control_loops/drivetrain/drivetrain_config.json
@@ -1,11 +1,10 @@
 {
-  "channels":
-  [
+  "channels": [
     {
       "name": "/drivetrain",
       "type": "frc971.IMUValuesBatch",
       "max_size": 2000,
-      "frequency": 200
+      "frequency": 2000
     },
     /* TODO(james): Experiment with size limitations. */
     {
diff --git a/frc971/control_loops/static_zeroing_single_dof_profiled_subsystem_test_config_source.json b/frc971/control_loops/static_zeroing_single_dof_profiled_subsystem_test_config_source.json
index e26dbbb..e7c6719 100644
--- a/frc971/control_loops/static_zeroing_single_dof_profiled_subsystem_test_config_source.json
+++ b/frc971/control_loops/static_zeroing_single_dof_profiled_subsystem_test_config_source.json
@@ -6,11 +6,13 @@
     },
     {
       "name": "/aos",
-      "type": "aos.logging.LogMessageFbs"
+      "type": "aos.logging.LogMessageFbs",
+      "frequency": 400
     },
     {
       "name": "/aos",
-      "type": "aos.RobotState"
+      "type": "aos.RobotState",
+      "frequency": 250
     },
     {
       "name": "/aos",
@@ -18,27 +20,33 @@
     },
     {
       "name": "/loop",
-      "type": "frc971.control_loops.zeroing.testing.SubsystemGoal"
+      "type": "frc971.control_loops.zeroing.testing.SubsystemGoal",
+      "frequency": 200
     },
     {
       "name": "/loop",
-      "type": "frc971.control_loops.zeroing.testing.SubsystemOutput"
+      "type": "frc971.control_loops.zeroing.testing.SubsystemOutput",
+      "frequency": 200
     },
     {
       "name": "/loop",
-      "type": "frc971.control_loops.zeroing.testing.SubsystemPotAndAbsoluteEncoderProfiledJointStatus"
+      "type": "frc971.control_loops.zeroing.testing.SubsystemPotAndAbsoluteEncoderProfiledJointStatus",
+      "frequency": 200
     },
     {
       "name": "/loop",
-      "type": "frc971.control_loops.zeroing.testing.SubsystemAbsolutePosition"
+      "type": "frc971.control_loops.zeroing.testing.SubsystemAbsolutePosition",
+      "frequency": 200
     },
     {
       "name": "/loop",
-      "type": "frc971.control_loops.zeroing.testing.SubsystemPotAndAbsolutePosition"
+      "type": "frc971.control_loops.zeroing.testing.SubsystemPotAndAbsolutePosition",
+      "frequency": 200
     },
     {
       "name": "/loop",
-      "type": "frc971.control_loops.zeroing.testing.SubsystemAbsoluteEncoderProfiledJointStatus"
+      "type": "frc971.control_loops.zeroing.testing.SubsystemAbsoluteEncoderProfiledJointStatus",
+      "frequency": 200
     }
   ]
 }
diff --git a/frc971/input/robot_state_config.json b/frc971/input/robot_state_config.json
index 781dd6c..e5d2c3b 100644
--- a/frc971/input/robot_state_config.json
+++ b/frc971/input/robot_state_config.json
@@ -1,6 +1,5 @@
 {
-  "channels":
-  [
+  "channels": [
     {
       "name": "/aos",
       "type": "aos.JoystickState",
@@ -9,7 +8,7 @@
     {
       "name": "/aos",
       "type": "aos.RobotState",
-      "frequency": 200
+      "frequency": 250
     }
   ],
   "imports": [
diff --git a/y2014/y2014.json b/y2014/y2014.json
index 837529e..8606abd 100644
--- a/y2014/y2014.json
+++ b/y2014/y2014.json
@@ -1,6 +1,10 @@
 {
-  "channels":
-  [
+  "channels": [
+    {
+      "name": "/aos",
+      "type": "aos.logging.LogMessageFbs",
+      "frequency": 1000
+    },
     {
       "name": "/shooter",
       "type": "y2014.control_loops.shooter.Goal",
diff --git a/y2016/y2016.json b/y2016/y2016.json
index a880370..e8e8e64 100644
--- a/y2016/y2016.json
+++ b/y2016/y2016.json
@@ -1,6 +1,10 @@
 {
-  "channels":
-  [
+  "channels": [
+    {
+      "name": "/aos",
+      "type": "aos.logging.LogMessageFbs",
+      "frequency": 1000
+    },
     {
       "name": "/shooter",
       "type": "y2016.control_loops.shooter.Goal",
diff --git a/y2017/y2017.json b/y2017/y2017.json
index cc10744..3e7eae4 100644
--- a/y2017/y2017.json
+++ b/y2017/y2017.json
@@ -1,6 +1,10 @@
 {
-  "channels":
-  [
+  "channels": [
+    {
+      "name": "/aos",
+      "type": "aos.logging.LogMessageFbs",
+      "frequency": 1500
+    },
     {
       "name": "/superstructure",
       "type": "y2017.control_loops.superstructure.Goal",
diff --git a/y2020/control_loops/drivetrain/localizer_test.cc b/y2020/control_loops/drivetrain/localizer_test.cc
index 79ff5e4..f3c3ebf 100644
--- a/y2020/control_loops/drivetrain/localizer_test.cc
+++ b/y2020/control_loops/drivetrain/localizer_test.cc
@@ -597,7 +597,7 @@
         ASSERT_TRUE(
             builder.Send(ImageMatchResult::Pack(*builder.fbb(), &image)));
       },
-      std::chrono::milliseconds(20));
+      std::chrono::milliseconds(40));
   test_event_loop_
       ->AddTimer([this]() {
         drivetrain_plant_.set_send_messages(true);
diff --git a/y2020/y2020_laptop.json b/y2020/y2020_laptop.json
index 936f2cd..4331f5c 100644
--- a/y2020/y2020_laptop.json
+++ b/y2020/y2020_laptop.json
@@ -1,12 +1,13 @@
 {
-  "channels":
-  [
+  "channels": [
     {
       "name": "/roborio/aos",
       "type": "aos.RobotState",
       "source_node": "roborio",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -21,7 +22,9 @@
       "type": "aos.message_bridge.Timestamp",
       "source_node": "roborio",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -35,7 +38,9 @@
       "type": "frc971.IMUValuesBatch",
       "source_node": "roborio",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -49,7 +54,9 @@
       "type": "aos.message_bridge.Timestamp",
       "source_node": "pi1",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -63,7 +70,9 @@
       "type": "aos.message_bridge.Timestamp",
       "source_node": "pi2",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -77,7 +86,9 @@
       "type": "aos.message_bridge.Timestamp",
       "source_node": "pi3",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -91,7 +102,9 @@
       "type": "aos.message_bridge.Timestamp",
       "source_node": "pi4",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -105,7 +118,9 @@
       "type": "aos.message_bridge.Timestamp",
       "source_node": "pi5",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -147,7 +162,7 @@
       "name": "/laptop/aos",
       "type": "aos.message_bridge.Timestamp",
       "source_node": "laptop",
-      "frequency": 10,
+      "frequency": 15,
       "num_senders": 2,
       "max_size": 400,
       "destination_nodes": [
@@ -156,42 +171,54 @@
           "priority": 1,
           "time_to_live": 5000000,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["laptop"]
+          "timestamp_logger_nodes": [
+            "laptop"
+          ]
         },
         {
           "name": "pi2",
           "priority": 1,
           "time_to_live": 5000000,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["laptop"]
+          "timestamp_logger_nodes": [
+            "laptop"
+          ]
         },
         {
           "name": "pi3",
           "priority": 1,
           "time_to_live": 5000000,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["laptop"]
+          "timestamp_logger_nodes": [
+            "laptop"
+          ]
         },
         {
           "name": "pi4",
           "priority": 1,
           "time_to_live": 5000000,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["laptop"]
+          "timestamp_logger_nodes": [
+            "laptop"
+          ]
         },
         {
           "name": "pi5",
           "priority": 1,
           "time_to_live": 5000000,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["laptop"]
+          "timestamp_logger_nodes": [
+            "laptop"
+          ]
         },
         {
           "name": "roborio",
           "priority": 1,
           "time_to_live": 5000000,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["laptop"]
+          "timestamp_logger_nodes": [
+            "laptop"
+          ]
         }
       ]
     },
@@ -254,7 +281,9 @@
       "type": "frc971.vision.CameraImage",
       "source_node": "pi1",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -268,7 +297,9 @@
       "type": "frc971.vision.sift.ImageMatchResult",
       "source_node": "pi1",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -282,7 +313,9 @@
       "type": "frc971.vision.CameraImage",
       "source_node": "pi2",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -296,7 +329,9 @@
       "type": "frc971.vision.sift.ImageMatchResult",
       "source_node": "pi2",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -310,7 +345,9 @@
       "type": "frc971.vision.CameraImage",
       "source_node": "pi3",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -324,7 +361,9 @@
       "type": "frc971.vision.sift.ImageMatchResult",
       "source_node": "pi3",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -338,7 +377,9 @@
       "type": "frc971.vision.CameraImage",
       "source_node": "pi4",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -352,7 +393,9 @@
       "type": "frc971.vision.sift.ImageMatchResult",
       "source_node": "pi4",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -366,7 +409,9 @@
       "type": "frc971.vision.CameraImage",
       "source_node": "pi5",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
@@ -380,7 +425,9 @@
       "type": "frc971.vision.sift.ImageMatchResult",
       "source_node": "pi5",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["laptop"],
+      "logger_nodes": [
+        "laptop"
+      ],
       "destination_nodes": [
         {
           "name": "laptop",
diff --git a/y2020/y2020_pi_template.json b/y2020/y2020_pi_template.json
index 61094be..8b14bef 100644
--- a/y2020/y2020_pi_template.json
+++ b/y2020/y2020_pi_template.json
@@ -1,6 +1,5 @@
 {
-  "channels":
-  [
+  "channels": [
     {
       "name": "/pi{{ NUM }}/aos",
       "type": "aos.timing.Report",
@@ -48,10 +47,12 @@
       "name": "/pi{{ NUM }}/aos",
       "type": "aos.message_bridge.Timestamp",
       "source_node": "pi{{ NUM }}",
-      "frequency": 10,
+      "frequency": 15,
       "num_senders": 2,
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["roborio"],
+      "logger_nodes": [
+        "roborio"
+      ],
       "max_size": 200,
       "destination_nodes": [
         {
@@ -59,7 +60,9 @@
           "priority": 1,
           "time_to_live": 5000000,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["roborio"]
+          "timestamp_logger_nodes": [
+            "roborio"
+          ]
         }
       ]
     },
@@ -76,8 +79,10 @@
       "type": "frc971.vision.sift.ImageMatchResult",
       "source_node": "pi{{ NUM }}",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["roborio"],
-      "frequency": 25,
+      "logger_nodes": [
+        "roborio"
+      ],
+      "frequency": 30,
       "max_size": 10000,
       "destination_nodes": [
         {
@@ -106,8 +111,10 @@
       "type": "y2020.vision.GalacticSearchPath",
       "source_node": "pi{{ NUM }}",
       "logger": "LOCAL_AND_REMOTE_LOGGER",
-      "logger_nodes": ["roborio"],
-      "max_size" : 104,
+      "logger_nodes": [
+        "roborio"
+      ],
+      "max_size": 104,
       "destination_nodes": [
         {
           "name": "roborio",
@@ -120,22 +127,30 @@
     {
       "name": "message_bridge_client",
       "executable_name": "message_bridge_client.stripped",
-      "nodes": ["pi{{ NUM }}"]
+      "nodes": [
+        "pi{{ NUM }}"
+      ]
     },
     {
       "name": "message_bridge_server",
       "executable_name": "message_bridge_server.stripped",
-      "nodes": ["pi{{ NUM }}"]
+      "nodes": [
+        "pi{{ NUM }}"
+      ]
     },
     {
       "name": "web_proxy",
       "executable_name": "web_proxy_main.stripped",
-      "nodes": ["pi{{ NUM }}"]
+      "nodes": [
+        "pi{{ NUM }}"
+      ]
     },
     {
       "name": "camera_reader",
       "executable_name": "camera_reader.stripped",
-      "nodes": ["pi{{ NUM }}"]
+      "nodes": [
+        "pi{{ NUM }}"
+      ]
     }
   ],
   "maps": [
diff --git a/y2020/y2020_roborio.json b/y2020/y2020_roborio.json
index 82eee24..105ffa6 100644
--- a/y2020/y2020_roborio.json
+++ b/y2020/y2020_roborio.json
@@ -1,6 +1,5 @@
 {
-  "channels":
-  [
+  "channels": [
     {
       "name": "/roborio/aos",
       "type": "aos.JoystickState",
@@ -25,7 +24,7 @@
       "name": "/roborio/aos",
       "type": "aos.logging.LogMessageFbs",
       "source_node": "roborio",
-      "frequency": 400,
+      "frequency": 500,
       "max_size": 344,
       "num_senders": 20
     },
@@ -55,7 +54,7 @@
       "name": "/roborio/aos",
       "type": "aos.message_bridge.ClientStatistics",
       "source_node": "roborio",
-      "frequency": 10,
+      "frequency": 15,
       "max_size": 736,
       "num_senders": 2
     },
@@ -108,7 +107,7 @@
       "name": "/roborio/aos",
       "type": "aos.message_bridge.Timestamp",
       "source_node": "roborio",
-      "frequency": 10,
+      "frequency": 15,
       "num_senders": 2,
       "max_size": 304,
       "destination_nodes": [
@@ -116,35 +115,45 @@
           "name": "pi1",
           "priority": 1,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["roborio"],
+          "timestamp_logger_nodes": [
+            "roborio"
+          ],
           "time_to_live": 5000000
         },
         {
           "name": "pi2",
           "priority": 1,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["roborio"],
+          "timestamp_logger_nodes": [
+            "roborio"
+          ],
           "time_to_live": 5000000
         },
         {
           "name": "pi3",
           "priority": 1,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["roborio"],
+          "timestamp_logger_nodes": [
+            "roborio"
+          ],
           "time_to_live": 5000000
         },
         {
           "name": "pi4",
           "priority": 1,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["roborio"],
+          "timestamp_logger_nodes": [
+            "roborio"
+          ],
           "time_to_live": 5000000
         },
         {
           "name": "pi5",
           "priority": 1,
           "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
-          "timestamp_logger_nodes": ["roborio"],
+          "timestamp_logger_nodes": [
+            "roborio"
+          ],
           "time_to_live": 5000000
         }
       ]
@@ -189,7 +198,7 @@
       "name": "/drivetrain",
       "type": "frc971.IMUValuesBatch",
       "source_node": "roborio",
-      "frequency": 200,
+      "frequency": 250,
       "max_size": 2000,
       "num_senders": 2
     },
@@ -286,7 +295,7 @@
       "name": "/roborio/aos",
       "type": "frc971.PDPValues",
       "source_node": "roborio",
-      "frequency": 50,
+      "frequency": 55,
       "max_size": 368
     },
     {
@@ -300,47 +309,65 @@
     {
       "name": "drivetrain",
       "executable_name": "drivetrain.stripped",
-      "nodes": ["roborio"]
+      "nodes": [
+        "roborio"
+      ]
     },
     {
       "name": "trajectory_generator",
       "executable_name": "trajectory_generator.stripped",
-      "nodes": ["roborio"]
+      "nodes": [
+        "roborio"
+      ]
     },
     {
       "name": "superstructure",
       "executable_name": "superstructure.stripped",
-      "nodes": ["roborio"]
+      "nodes": [
+        "roborio"
+      ]
     },
     {
       "name": "joystick_reader",
       "executable_name": "joystick_reader.stripped",
-      "nodes": ["roborio"]
+      "nodes": [
+        "roborio"
+      ]
     },
     {
       "name": "wpilib_interface",
       "executable_name": "wpilib_interface.stripped",
-      "nodes": ["roborio"]
+      "nodes": [
+        "roborio"
+      ]
     },
     {
       "name": "autonomous_action",
       "executable_name": "autonomous_action.stripped",
-      "nodes": ["roborio"]
+      "nodes": [
+        "roborio"
+      ]
     },
     {
       "name": "message_bridge_client",
       "executable_name": "message_bridge_client.stripped",
-      "nodes": ["roborio"]
+      "nodes": [
+        "roborio"
+      ]
     },
     {
       "name": "message_bridge_server",
       "executable_name": "message_bridge_server.stripped",
-      "nodes": ["roborio"]
+      "nodes": [
+        "roborio"
+      ]
     },
     {
       "name": "logger",
       "executable_name": "logger_main.stripped",
-      "nodes": ["roborio"]
+      "nodes": [
+        "roborio"
+      ]
     }
   ],
   "maps": [