Send less data to the RIO
The wakeups were slaughtering the CPU load on the RIO. Most things only
need to talk to the IMU pi, so drop the connection to the RIO. This
saves 20% CPU usage, making it so we no longer get disabled
periodically.
Change-Id: Ib48cdf1e34b8b9dbbe7ff67d486932d08004e5cc
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/y2023/y2023_imu.json b/y2023/y2023_imu.json
index 535d97f..5aae0a9 100644
--- a/y2023/y2023_imu.json
+++ b/y2023/y2023_imu.json
@@ -126,20 +126,10 @@
"num_senders": 20,
"max_size": 2048,
"logger_nodes": [
- "roborio",
"logger"
],
"destination_nodes": [
{
- "name": "roborio",
- "priority": 5,
- "time_to_live": 5000000,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "imu"
- ]
- },
- {
"name": "logger",
"priority": 5,
"time_to_live": 5000000,
@@ -172,20 +162,10 @@
"num_senders": 2,
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "roborio",
"logger"
],
"destination_nodes": [
{
- "name": "roborio",
- "priority": 5,
- "time_to_live": 5000000,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "imu"
- ]
- },
- {
"name": "logger",
"priority": 5,
"time_to_live": 5000000,
@@ -197,13 +177,6 @@
]
},
{
- "name": "/imu/aos/remote_timestamps/roborio/imu/aos/aos-starter-StarterRpc",
- "type": "aos.message_bridge.RemoteMessage",
- "frequency": 20,
- "source_node": "imu",
- "max_size": 208
- },
- {
"name": "/imu/aos/remote_timestamps/logger/imu/aos/aos-starter-StarterRpc",
"type": "aos.message_bridge.RemoteMessage",
"frequency": 20,
@@ -366,35 +339,6 @@
"max_size": 200
},
{
- "name": "/roborio/aos",
- "type": "aos.starter.Status",
- "source_node": "roborio",
- "logger": "LOCAL_AND_REMOTE_LOGGER",
- "logger_nodes": [
- "imu"
- ],
- "destination_nodes": [
- {
- "name": "imu",
- "priority": 5,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "roborio"
- ],
- "time_to_live": 5000000
- }
- ]
- },
- {
- "name": "/roborio/aos/remote_timestamps/imu/roborio/aos/aos-starter-Status",
- "type": "aos.message_bridge.RemoteMessage",
- "source_node": "roborio",
- "logger": "NOT_LOGGED",
- "frequency": 50,
- "num_senders": 2,
- "max_size": 200
- },
- {
"name": "/localizer",
"type": "frc971.IMUValuesBatch",
"source_node": "imu",
diff --git a/y2023/y2023_logger.json b/y2023/y2023_logger.json
index 9b0ba55..df3a55b 100644
--- a/y2023/y2023_logger.json
+++ b/y2023/y2023_logger.json
@@ -37,7 +37,7 @@
"priority": 2,
"timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
"timestamp_logger_nodes": [
- "roborio"
+ "logger"
],
"time_to_live": 5000000
}
@@ -64,7 +64,11 @@
{
"name": "logger",
"priority": 1,
- "time_to_live": 5000000
+ "time_to_live": 5000000,
+ "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
+ "timestamp_logger_nodes": [
+ "pi1"
+ ]
}
]
},
@@ -80,7 +84,11 @@
{
"name": "logger",
"priority": 1,
- "time_to_live": 5000000
+ "time_to_live": 5000000,
+ "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
+ "timestamp_logger_nodes": [
+ "pi2"
+ ]
}
]
},
@@ -96,6 +104,10 @@
{
"name": "logger",
"priority": 1,
+ "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
+ "timestamp_logger_nodes": [
+ "pi3"
+ ],
"time_to_live": 5000000
}
]
@@ -112,6 +124,10 @@
{
"name": "logger",
"priority": 1,
+ "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
+ "timestamp_logger_nodes": [
+ "pi4"
+ ],
"time_to_live": 5000000
}
]
@@ -157,64 +173,16 @@
"name": "/logger/aos",
"type": "aos.starter.Status",
"source_node": "logger",
- "logger": "LOCAL_AND_REMOTE_LOGGER",
"frequency": 50,
"num_senders": 20,
- "max_size": 2000,
- "logger_nodes": [
- "roborio"
- ],
- "destination_nodes": [
- {
- "name": "roborio",
- "priority": 5,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "logger"
- ],
- "time_to_live": 5000000
- }
- ]
- },
- {
- "name": "/logger/aos/remote_timestamps/roborio/logger/aos/aos-starter-Status",
- "type": "aos.message_bridge.RemoteMessage",
- "source_node": "logger",
- "logger": "NOT_LOGGED",
- "frequency": 50,
- "num_senders": 2,
- "max_size": 200
+ "max_size": 2000
},
{
"name": "/logger/aos",
"type": "aos.starter.StarterRpc",
"source_node": "logger",
- "logger": "LOCAL_AND_REMOTE_LOGGER",
- "logger_nodes": [
- "roborio"
- ],
"frequency": 10,
- "num_senders": 2,
- "destination_nodes": [
- {
- "name": "roborio",
- "priority": 5,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "logger"
- ],
- "time_to_live": 5000000
- }
- ]
- },
- {
- "name": "/logger/aos/remote_timestamps/roborio/logger/aos/aos-starter-StarterRpc",
- "type": "aos.message_bridge.RemoteMessage",
- "source_node": "logger",
- "logger": "NOT_LOGGED",
- "frequency": 20,
- "num_senders": 2,
- "max_size": 200
+ "num_senders": 2
},
{
"name": "/logger/aos",
@@ -225,8 +193,12 @@
"max_size": 400,
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "roborio",
- "imu"
+ "imu",
+ "pi1",
+ "pi2",
+ "pi3",
+ "pi4",
+ "roborio"
],
"destination_nodes": [
{
@@ -286,15 +258,6 @@
]
},
{
- "name": "/logger/aos/remote_timestamps/roborio/logger/aos/aos-message_bridge-Timestamp",
- "type": "aos.message_bridge.RemoteMessage",
- "source_node": "logger",
- "logger": "NOT_LOGGED",
- "frequency": 20,
- "num_senders": 2,
- "max_size": 200
- },
- {
"name": "/logger/aos/remote_timestamps/imu/logger/aos/aos-message_bridge-Timestamp",
"type": "aos.message_bridge.RemoteMessage",
"source_node": "logger",
@@ -340,6 +303,15 @@
"max_size": 200
},
{
+ "name": "/logger/aos/remote_timestamps/roborio/logger/aos/aos-message_bridge-Timestamp",
+ "type": "aos.message_bridge.RemoteMessage",
+ "source_node": "logger",
+ "logger": "NOT_LOGGED",
+ "frequency": 20,
+ "num_senders": 2,
+ "max_size": 200
+ },
+ {
"name": "/logger/camera",
"type": "frc971.vision.CameraImage",
"source_node": "logger",
@@ -504,13 +476,13 @@
"name": "pi3"
},
{
- "name": "roborio"
- },
- {
"name": "imu"
},
{
"name": "pi4"
+ },
+ {
+ "name": "roborio"
}
]
}
diff --git a/y2023/y2023_pi_template.json b/y2023/y2023_pi_template.json
index 31f4045..46678f3 100644
--- a/y2023/y2023_pi_template.json
+++ b/y2023/y2023_pi_template.json
@@ -24,19 +24,17 @@
"max_size": 2000,
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "roborio",
"logger"
],
"destination_nodes": [
{
- "name": "roborio",
- "priority": 5,
- "time_to_live": 5000000
- },
- {
"name": "logger",
"priority": 5,
- "time_to_live": 5000000
+ "time_to_live": 5000000,
+ "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
+ "timestamp_logger_nodes": [
+ "pi{{ NUM }}"
+ ]
}
]
},
@@ -48,23 +46,28 @@
"num_senders": 2,
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "roborio",
"logger"
],
"destination_nodes": [
{
- "name": "roborio",
- "priority": 5,
- "time_to_live": 5000000
- },
- {
"name": "logger",
"priority": 5,
- "time_to_live": 5000000
+ "time_to_live": 5000000,
+ "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
+ "timestamp_logger_nodes": [
+ "pi{{ NUM }}"
+ ]
}
]
},
{
+ "name": "/pi{{ NUM }}/aos/remote_timestamps/logger/pi{{ NUM }}/aos/aos-starter-StarterRpc",
+ "type": "aos.message_bridge.RemoteMessage",
+ "frequency": 20,
+ "source_node": "pi{{ NUM }}",
+ "max_size": 208
+ },
+ {
"name": "/pi{{ NUM }}/aos",
"type": "aos.message_bridge.ServerStatistics",
"source_node": "pi{{ NUM }}",
@@ -93,39 +96,22 @@
"num_senders": 2,
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "roborio",
"imu"
],
"max_size": 200,
"destination_nodes": [
{
- "name": "roborio",
- "priority": 1,
- "time_to_live": 5000000,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "roborio"
- ]
- },
- {
"name": "imu",
"priority": 1,
"time_to_live": 5000000,
"timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
"timestamp_logger_nodes": [
- "imu"
+ "pi{{ NUM }}"
]
}
]
},
{
- "name": "/pi{{ NUM }}/aos/remote_timestamps/roborio/pi{{ NUM }}/aos/aos-message_bridge-Timestamp",
- "type": "aos.message_bridge.RemoteMessage",
- "frequency": 20,
- "source_node": "pi{{ NUM }}",
- "max_size": 208
- },
- {
"name": "/pi{{ NUM }}/aos/remote_timestamps/imu/pi{{ NUM }}/aos/aos-message_bridge-Timestamp",
"type": "aos.message_bridge.RemoteMessage",
"frequency": 20,
@@ -234,6 +220,10 @@
"name": "/logger/aos",
"type": "aos.starter.StarterRpc",
"source_node": "logger",
+ "logger": "LOCAL_AND_REMOTE_LOGGER",
+ "logger_nodes": [
+ "pi{{ NUM }}"
+ ],
"destination_nodes": [
{
"name": "pi{{ NUM }}",
@@ -259,6 +249,10 @@
"name": "/logger/aos",
"type": "aos.starter.Status",
"source_node": "logger",
+ "logger": "LOCAL_AND_REMOTE_LOGGER",
+ "logger_nodes": [
+ "pi{{ NUM }}"
+ ],
"destination_nodes": [
{
"name": "pi{{ NUM }}",
@@ -272,6 +266,22 @@
]
},
{
+ "name": "/pi{{ NUM }}/aos/remote_timestamps/logger/pi{{ NUM }}/aos/aos-starter-Status",
+ "type": "aos.message_bridge.RemoteMessage",
+ "frequency": 100,
+ "source_node": "pi{{ NUM }}",
+ "max_size": 208
+ },
+ {
+ "name": "/pi{{ NUM }}/aos/remote_timestamps/logger/pi{{ NUM }}/aos/aos-message_bridge-Timestamp",
+ "type": "aos.message_bridge.RemoteMessage",
+ "source_node": "pi{{ NUM }}",
+ "logger": "NOT_LOGGED",
+ "frequency": 15,
+ "num_senders": 2,
+ "max_size": 200
+ },
+ {
"name": "/logger/aos/remote_timestamps/pi{{ NUM }}/logger/aos/aos-starter-Status",
"type": "aos.message_bridge.RemoteMessage",
"source_node": "logger",
@@ -281,56 +291,6 @@
"max_size": 200
},
{
- "name": "/roborio/aos",
- "type": "aos.starter.StarterRpc",
- "source_node": "roborio",
- "destination_nodes": [
- {
- "name": "pi{{ NUM }}",
- "priority": 5,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "roborio"
- ],
- "time_to_live": 5000000
- }
- ]
- },
- {
- "name": "/roborio/aos/remote_timestamps/pi{{ NUM }}/roborio/aos/aos-starter-StarterRpc",
- "type": "aos.message_bridge.RemoteMessage",
- "source_node": "roborio",
- "logger": "NOT_LOGGED",
- "frequency": 20,
- "num_senders": 2,
- "max_size": 200
- },
- {
- "name": "/roborio/aos",
- "type": "aos.starter.Status",
- "source_node": "roborio",
- "destination_nodes": [
- {
- "name": "pi{{ NUM }}",
- "priority": 5,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "roborio"
- ],
- "time_to_live": 5000000
- }
- ]
- },
- {
- "name": "/roborio/aos/remote_timestamps/pi{{ NUM }}/roborio/aos/aos-starter-Status",
- "type": "aos.message_bridge.RemoteMessage",
- "source_node": "roborio",
- "logger": "NOT_LOGGED",
- "frequency": 50,
- "num_senders": 2,
- "max_size": 200
- },
- {
"name": "/pi{{ NUM }}/constants",
"type": "y2023.Constants",
"source_node": "pi{{ NUM }}",
@@ -492,9 +452,6 @@
},
{
"name": "imu"
- },
- {
- "name": "roborio"
}
]
}
diff --git a/y2023/y2023_roborio.json b/y2023/y2023_roborio.json
index 452a570..2888690 100644
--- a/y2023/y2023_roborio.json
+++ b/y2023/y2023_roborio.json
@@ -7,18 +7,13 @@
"frequency": 100,
"logger": "LOCAL_AND_REMOTE_LOGGER",
"logger_nodes": [
- "imu",
- "logger"
+ "imu"
],
"destination_nodes": [
{
"name": "imu",
"priority": 5,
- "time_to_live": 50000000,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "roborio"
- ]
+ "time_to_live": 50000000
}
]
},
@@ -59,31 +54,7 @@
"source_node": "roborio",
"frequency": 50,
"num_senders": 20,
- "max_size": 2000,
- "logger": "LOCAL_AND_REMOTE_LOGGER",
- "logger_nodes": [
- "logger"
- ],
- "destination_nodes": [
- {
- "name": "logger",
- "priority": 5,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "roborio"
- ],
- "time_to_live": 5000000
- }
- ]
- },
- {
- "name": "/roborio/aos/remote_timestamps/logger/roborio/aos/aos-starter-Status",
- "type": "aos.message_bridge.RemoteMessage",
- "source_node": "roborio",
- "logger": "NOT_LOGGED",
- "frequency": 50,
- "num_senders": 2,
- "max_size": 200
+ "max_size": 2000
},
{
"name": "/roborio/aos",
@@ -91,31 +62,7 @@
"source_node": "roborio",
"frequency": 10,
"max_size": 400,
- "num_senders": 2,
- "logger": "LOCAL_AND_REMOTE_LOGGER",
- "logger_nodes": [
- "logger"
- ],
- "destination_nodes": [
- {
- "name": "logger",
- "priority": 5,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "roborio"
- ],
- "time_to_live": 5000000
- }
- ]
- },
- {
- "name": "/roborio/aos/remote_timestamps/logger/roborio/aos/aos-starter-StarterRpc",
- "type": "aos.message_bridge.RemoteMessage",
- "source_node": "roborio",
- "logger": "NOT_LOGGED",
- "frequency": 20,
- "num_senders": 2,
- "max_size": 200
+ "num_senders": 2
},
{
"name": "/roborio/aos",
@@ -140,38 +87,6 @@
"num_senders": 2
},
{
- "name": "/roborio/aos/remote_timestamps/logger/roborio/aos/aos-message_bridge-Timestamp",
- "type": "aos.message_bridge.RemoteMessage",
- "frequency": 300,
- "source_node": "roborio"
- },
- {
- "name": "/roborio/aos/remote_timestamps/pi1/roborio/aos/aos-message_bridge-Timestamp",
- "type": "aos.message_bridge.RemoteMessage",
- "frequency": 20,
- "source_node": "roborio",
- "max_size": 208
- },
- {
- "name": "/roborio/aos/remote_timestamps/pi2/roborio/aos/aos-message_bridge-Timestamp",
- "type": "aos.message_bridge.RemoteMessage",
- "frequency": 20,
- "source_node": "roborio",
- "max_size": 208
- },
- {
- "name": "/roborio/aos/remote_timestamps/pi3/roborio/aos/aos-message_bridge-Timestamp",
- "type": "aos.message_bridge.RemoteMessage",
- "frequency": 20,
- "source_node": "roborio"
- },
- {
- "name": "/roborio/aos/remote_timestamps/pi4/roborio/aos/aos-message_bridge-Timestamp",
- "type": "aos.message_bridge.RemoteMessage",
- "frequency": 20,
- "source_node": "roborio"
- },
- {
"name": "/roborio/aos/remote_timestamps/imu/roborio/aos/aos-message_bridge-Timestamp",
"type": "aos.message_bridge.RemoteMessage",
"frequency": 20,
@@ -179,6 +94,12 @@
"max_size": 208
},
{
+ "name": "/roborio/aos/remote_timestamps/logger/roborio/aos/aos-message_bridge-Timestamp",
+ "type": "aos.message_bridge.RemoteMessage",
+ "frequency": 300,
+ "source_node": "roborio"
+ },
+ {
"name": "/roborio/aos",
"type": "aos.message_bridge.Timestamp",
"source_node": "roborio",
@@ -191,42 +112,6 @@
],
"destination_nodes": [
{
- "name": "pi1",
- "priority": 1,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "roborio"
- ],
- "time_to_live": 5000000
- },
- {
- "name": "pi2",
- "priority": 1,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "roborio"
- ],
- "time_to_live": 5000000
- },
- {
- "name": "pi3",
- "priority": 1,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "roborio"
- ],
- "time_to_live": 5000000
- },
- {
- "name": "pi4",
- "priority": 1,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "roborio"
- ],
- "time_to_live": 5000000
- },
- {
"name": "imu",
"priority": 1,
"timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
@@ -344,10 +229,6 @@
{
"name": "imu",
"priority": 5,
- "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
- "timestamp_logger_nodes": [
- "imu"
- ],
"time_to_live": 5000000
}
]
@@ -385,7 +266,7 @@
"priority": 5,
"timestamp_logger": "LOCAL_AND_REMOTE_LOGGER",
"timestamp_logger_nodes": [
- "imu"
+ "roborio"
],
"time_to_live": 0
}
@@ -578,6 +459,7 @@
{
"name": "can_logger",
"executable_name": "can_logger",
+ "autostart": false,
"nodes": [
"roborio"
]