| { |
| "channels": [ |
| { |
| "name": "/pi{{ NUM }}/aos", |
| "type": "aos.timing.Report", |
| "source_node": "pi{{ NUM }}", |
| "frequency": 50, |
| "num_senders": 20, |
| "max_size": 4096 |
| }, |
| { |
| "name": "/pi{{ NUM }}/aos", |
| "type": "aos.logging.LogMessageFbs", |
| "source_node": "pi{{ NUM }}", |
| "frequency": 200, |
| "num_senders": 20 |
| }, |
| { |
| "name": "/pi{{ NUM }}/aos", |
| "type": "aos.starter.Status", |
| "source_node": "pi{{ NUM }}", |
| "frequency": 50, |
| "num_senders": 20, |
| "max_size": 2000 |
| }, |
| { |
| "name": "/pi{{ NUM }}/aos", |
| "type": "aos.starter.StarterRpc", |
| "source_node": "pi{{ NUM }}", |
| "frequency": 10, |
| "num_senders": 2 |
| }, |
| { |
| "name": "/pi{{ NUM }}/aos", |
| "type": "aos.message_bridge.ServerStatistics", |
| "source_node": "pi{{ NUM }}", |
| "max_size": 2048, |
| "frequency": 10, |
| "num_senders": 2 |
| }, |
| { |
| "name": "/pi{{ NUM }}/aos", |
| "type": "aos.message_bridge.ClientStatistics", |
| "source_node": "pi{{ NUM }}", |
| "frequency": 20, |
| "num_senders": 2 |
| }, |
| { |
| "name": "/pi{{ NUM }}/aos", |
| "type": "aos.logging.DynamicLogCommand", |
| "source_node": "pi{{ NUM }}", |
| "frequency": 10, |
| "num_senders": 2 |
| }, |
| { |
| "name": "/pi{{ NUM }}/aos", |
| "type": "aos.message_bridge.Timestamp", |
| "source_node": "pi{{ NUM }}", |
| "frequency": 15, |
| "num_senders": 2, |
| "logger": "LOCAL_AND_REMOTE_LOGGER", |
| "logger_nodes": [ |
| "imu" |
| ], |
| "max_size": 200, |
| "destination_nodes": [ |
| { |
| "name": "imu", |
| "priority": 1, |
| "time_to_live": 5000000, |
| "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER", |
| "timestamp_logger_nodes": [ |
| "pi{{ NUM }}" |
| ] |
| } |
| ] |
| }, |
| { |
| "name": "/pi{{ NUM }}/aos/remote_timestamps/imu/pi{{ NUM }}/aos/aos-message_bridge-Timestamp", |
| "type": "aos.message_bridge.RemoteMessage", |
| "frequency": 20, |
| "source_node": "pi{{ NUM }}", |
| "max_size": 208 |
| }, |
| { |
| "name": "/imu/aos", |
| "type": "aos.message_bridge.Timestamp", |
| "source_node": "imu", |
| "logger": "LOCAL_AND_REMOTE_LOGGER", |
| "logger_nodes": [ |
| "pi{{ NUM }}" |
| ], |
| "destination_nodes": [ |
| { |
| "name": "pi{{ NUM }}", |
| "priority": 1, |
| "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER", |
| "timestamp_logger_nodes": [ |
| "imu" |
| ], |
| "time_to_live": 5000000 |
| } |
| ] |
| }, |
| { |
| "name": "/imu/aos/remote_timestamps/pi{{ NUM }}/imu/aos/aos-message_bridge-Timestamp", |
| "type": "aos.message_bridge.RemoteMessage", |
| "frequency": 20, |
| "source_node": "imu", |
| "max_size": 208 |
| }, |
| { |
| "name": "/pi{{ NUM }}/camera", |
| "type": "frc971.vision.CameraImage", |
| "source_node": "pi{{ NUM }}", |
| "frequency": 40, |
| "max_size": 1843456, |
| "num_readers": 6, |
| "read_method": "PIN", |
| "num_senders": 18 |
| }, |
| { |
| "name": "/pi{{ NUM }}/camera", |
| "type": "foxglove.CompressedImage", |
| "source_node": "pi{{ NUM }}", |
| "frequency": 40, |
| "max_size": 622384 |
| }, |
| { |
| "name": "/pi{{ NUM }}/camera", |
| "type": "foxglove.ImageAnnotations", |
| "source_node": "pi{{ NUM }}", |
| "frequency": 40, |
| "max_size": 50000 |
| }, |
| { |
| "name": "/pi{{ NUM }}/camera", |
| "type": "frc971.vision.TargetMap", |
| "source_node": "pi{{ NUM }}", |
| "frequency": 40, |
| "num_senders": 2, |
| "max_size": 1024, |
| "logger": "LOCAL_AND_REMOTE_LOGGER", |
| "logger_nodes": [ |
| "imu" |
| ], |
| "destination_nodes": [ |
| { |
| "name": "imu", |
| "priority": 4, |
| "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER", |
| "timestamp_logger_nodes": [ |
| "pi{{ NUM }}" |
| ], |
| "time_to_live": 5000000 |
| } |
| ] |
| }, |
| { |
| "name": "/pi{{ NUM }}/aos/remote_timestamps/imu/pi{{ NUM }}/camera/frc971-vision-TargetMap", |
| "type": "aos.message_bridge.RemoteMessage", |
| "frequency": 80, |
| "source_node": "pi{{ NUM }}", |
| "max_size": 208 |
| }, |
| { |
| "name": "/pi{{ NUM }}/constants", |
| "type": "y2023.Constants", |
| "source_node": "pi{{ NUM }}", |
| "frequency": 1, |
| "num_senders": 2, |
| "max_size": 65536 |
| }, |
| { |
| "name": "/pi{{ NUM }}/camera", |
| "type": "y2023.localizer.Visualization", |
| "source_node": "imu", |
| "frequency": 40, |
| "max_size": 1000, |
| "num_senders": 2 |
| } |
| ], |
| "applications": [ |
| { |
| "name": "message_bridge_client", |
| "executable_name": "message_bridge_client", |
| "args": [ |
| "--rt_priority=16", |
| "--sinit_max_init_timeout=5000" |
| ], |
| "user": "pi", |
| "nodes": [ |
| "pi{{ NUM }}" |
| ] |
| }, |
| { |
| "name": "irq_affinity", |
| "executable_name": "irq_affinity", |
| "user": "root", |
| "args": ["--user=pi"], |
| "nodes": [ |
| "pi{{ NUM }}" |
| ] |
| }, |
| { |
| "name": "message_bridge_server", |
| "executable_name": "message_bridge_server", |
| "user": "pi", |
| "nodes": [ |
| "pi{{ NUM }}" |
| ] |
| }, |
| { |
| "name": "web_proxy", |
| "executable_name": "web_proxy_main", |
| "user": "pi", |
| "args": [ |
| "--min_ice_port=5800", |
| "--max_ice_port=5810" |
| ], |
| "nodes": [ |
| "pi{{ NUM }}" |
| ] |
| }, |
| { |
| "name": "camera_reader", |
| "executable_name": "camera_reader", |
| "args": ["--enable_ftrace"], |
| "user": "pi", |
| "nodes": [ |
| "pi{{ NUM }}" |
| ] |
| }, |
| { |
| "name": "image_logger", |
| "executable_name": "image_logger", |
| "args": [ |
| "--logging_folder", |
| "", |
| "--rotate_every", |
| "30.0", |
| "--direct", |
| "--flush_size=4194304" |
| ], |
| "user": "pi", |
| "nodes": [ |
| "pi{{ NUM }}" |
| ] |
| }, |
| { |
| "name": "aprilrobotics", |
| "executable_name": "aprilrobotics", |
| "args": ["--enable_ftrace"], |
| "user": "pi", |
| "nodes": [ |
| "pi{{ NUM }}" |
| ] |
| }, |
| { |
| "name": "camera_monitor", |
| "executable_name": "camera_monitor", |
| "user": "pi", |
| "nodes": [ |
| "pi{{ NUM }}" |
| ] |
| }, |
| { |
| "name": "foxglove_websocket", |
| "user": "pi", |
| "nodes": [ |
| "pi{{ NUM }}" |
| ] |
| }, |
| { |
| "name": "foxglove_image_converter", |
| "user": "pi", |
| "nodes": [ |
| "pi{{ NUM }}" |
| ] |
| }, |
| { |
| "name": "constants_sender", |
| "autorestart": false, |
| "user": "pi", |
| "nodes": [ |
| "pi{{ NUM }}" |
| ] |
| } |
| ], |
| "maps": [ |
| { |
| "match": { |
| "name": "/aos*", |
| "source_node": "pi{{ NUM }}" |
| }, |
| "rename": { |
| "name": "/pi{{ NUM }}/aos" |
| } |
| }, |
| { |
| "match": { |
| "name": "/constants*", |
| "source_node": "pi{{ NUM }}" |
| }, |
| "rename": { |
| "name": "/pi{{ NUM }}/constants" |
| } |
| }, |
| { |
| "match": { |
| "name": "/camera*", |
| "source_node": "pi{{ NUM }}" |
| }, |
| "rename": { |
| "name": "/pi{{ NUM }}/camera" |
| } |
| } |
| ], |
| "nodes": [ |
| { |
| "name": "pi{{ NUM }}", |
| "hostname": "pi{{ NUM }}", |
| "hostnames": [ |
| "pi-971-{{ NUM }}", |
| "pi-7971-{{ NUM }}", |
| "pi-8971-{{ NUM }}", |
| "pi-9971-{{ NUM }}" |
| ], |
| "port": 9971 |
| }, |
| { |
| "name": "imu" |
| } |
| ] |
| } |