Add the node name as a prefix to every channel's canonical name

This makes everything very explicit and clears all ambiguity around
channel naming.

Signed-off-by: Sanjay Narayanan <sanjay.narayanan@bluerivertech.com>
Change-Id: I9c0f6e7dd136e74f73e2ab5ee175be259a6e88bd
diff --git a/y2024_swerve/y2024_swerve_imu.json b/y2024_swerve/y2024_swerve_imu.json
index 56e2734..c87faf5 100644
--- a/y2024_swerve/y2024_swerve_imu.json
+++ b/y2024_swerve/y2024_swerve_imu.json
@@ -220,7 +220,7 @@
       "max_size": 200
     },
     {
-      "name": "/can/cana",
+      "name": "/imu/can/cana",
       "type": "frc971.can_logger.CanFrame",
       "source_node": "imu",
       "frequency": 9000,
@@ -237,7 +237,7 @@
       "max_size": 65536
     },
     {
-      "name": "/localizer",
+      "name": "/imu/localizer",
       "type": "frc971.IMUValuesBatch",
       "source_node": "imu",
       "frequency": 2200,
@@ -519,12 +519,30 @@
     },
     {
       "match": {
+        "name": "/can*",
+        "source_node": "imu"
+      },
+      "rename": {
+        "name": "/imu/can"
+      }
+    },
+    {
+      "match": {
         "name": "/hardware_monitor*",
         "source_node": "imu"
       },
       "rename": {
         "name": "/imu/hardware_monitor"
       }
+    },
+    {
+      "match": {
+        "name": "/localizer*",
+        "source_node": "imu"
+      },
+      "rename": {
+        "name": "/imu/localizer"
+      }
     }
   ],
   "nodes": [
diff --git a/y2024_swerve/y2024_swerve_roborio.json b/y2024_swerve/y2024_swerve_roborio.json
index f216b57..e5e40dd 100644
--- a/y2024_swerve/y2024_swerve_roborio.json
+++ b/y2024_swerve/y2024_swerve_roborio.json
@@ -134,7 +134,7 @@
             "max_size": 208
         },
         {
-            "name": "/drivetrain",
+            "name": "/roborio/drivetrain",
             "type": "frc971.control_loops.swerve.Position",
             "source_node": "roborio",
             "frequency": 250,
@@ -142,7 +142,7 @@
             "max_size": 480
         },
         {
-            "name": "/drivetrain",
+            "name": "/roborio/drivetrain",
             "type": "frc971.control_loops.swerve.CanPosition",
             "source_node": "roborio",
             "frequency": 250,
@@ -150,7 +150,7 @@
             "max_size": 656
         },
         {
-            "name": "/can",
+            "name": "/roborio/can",
             "type": "frc971.can_logger.CanFrame",
             "source_node": "roborio",
             "frequency": 6000,
@@ -158,7 +158,7 @@
             "max_size": 200
         },
         {
-            "name": "/drivetrain",
+            "name": "/roborio/drivetrain",
             "type": "frc971.control_loops.drivetrain.CANPosition",
             "source_node": "roborio",
             "frequency": 220,
@@ -166,20 +166,20 @@
             "max_size": 400
         },
         {
-            "name": "/drivetrain",
+            "name": "/roborio/drivetrain",
             "type": "frc971.control_loops.drivetrain.SplineGoal",
             "source_node": "roborio",
             "frequency": 10
         },
         {
-            "name": "/drivetrain",
+            "name": "/roborio/drivetrain",
             "type": "frc971.control_loops.drivetrain.Goal",
             "source_node": "roborio",
             "max_size": 224,
             "frequency": 250
         },
         {
-            "name": "/drivetrain",
+            "name": "/roborio/drivetrain",
             "type": "frc971.control_loops.swerve.Output",
             "source_node": "roborio",
             "frequency": 400,
@@ -198,7 +198,7 @@
             ]
         },
         {
-            "name": "/drivetrain",
+            "name": "/roborio/drivetrain",
             "type": "frc971.control_loops.drivetrain.Status",
             "source_node": "roborio",
             "frequency": 400,
@@ -206,7 +206,7 @@
             "num_senders": 2
         },
         {
-            "name": "/drivetrain",
+            "name": "/roborio/drivetrain",
             "type": "frc971.control_loops.drivetrain.LocalizerControl",
             "source_node": "roborio",
             "frequency": 250,
@@ -228,7 +228,7 @@
             ]
         },
         {
-            "name": "/roborio/aos/remote_timestamps/imu/drivetrain/frc971-control_loops-drivetrain-LocalizerControl",
+            "name": "/roborio/aos/remote_timestamps/imu/roborio/drivetrain/frc971-control_loops-drivetrain-LocalizerControl",
             "type": "aos.message_bridge.RemoteMessage",
             "source_node": "roborio",
             "logger": "NOT_LOGGED",
@@ -237,17 +237,17 @@
             "max_size": 200
         },
         {
-            "name": "/autonomous",
+            "name": "/roborio/autonomous",
             "type": "aos.common.actions.Status",
             "source_node": "roborio"
         },
         {
-            "name": "/autonomous",
+            "name": "/roborio/autonomous",
             "type": "frc971.autonomous.Goal",
             "source_node": "roborio"
         },
         {
-            "name": "/autonomous",
+            "name": "/roborio/autonomous",
             "type": "frc971.autonomous.AutonomousMode",
             "source_node": "roborio",
             "frequency": 250
@@ -354,6 +354,33 @@
             "rename": {
                 "name": "/roborio/aos"
             }
+        },
+        {
+            "match": {
+                "name": "/autonomous*",
+                "source_node": "roborio"
+            },
+            "rename": {
+                "name": "/roborio/autonomous"
+            }
+        },
+        {
+            "match": {
+                "name": "/can*",
+                "source_node": "roborio"
+            },
+            "rename": {
+                "name": "/roborio/can"
+            }
+        },
+        {
+            "match": {
+                "name": "/drivetrain*",
+                "source_node": "roborio"
+            },
+            "rename": {
+                "name": "/roborio/drivetrain"
+            }
         }
     ],
     "nodes": [