| { |
| "channels": [ |
| { |
| "name": "/imu/aos", |
| "type": "aos.util.FilesystemStatus", |
| "source_node": "imu", |
| "frequency": 2 |
| }, |
| { |
| "name": "/imu/aos", |
| "type": "aos.JoystickState", |
| "source_node": "imu", |
| "frequency": 100, |
| "logger": "LOCAL_AND_REMOTE_LOGGER", |
| "logger_nodes": [ |
| "orin1" |
| ], |
| "destination_nodes": [ |
| { |
| "name": "orin1", |
| "priority": 5, |
| "time_to_live": 50000000, |
| "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER", |
| "timestamp_logger_nodes": [ |
| "imu" |
| ] |
| } |
| ] |
| }, |
| { |
| "name": "/imu/aos/remote_timestamps/orin1/imu/aos/aos-JoystickState", |
| "type": "aos.message_bridge.RemoteMessage", |
| "source_node": "imu", |
| "logger": "NOT_LOGGED", |
| "frequency": 300, |
| "num_senders": 2, |
| "max_size": 200 |
| }, |
| { |
| "name": "/imu/aos", |
| "type": "aos.timing.Report", |
| "source_node": "imu", |
| "frequency": 50, |
| "num_senders": 30, |
| "max_size": 10912 |
| }, |
| { |
| "name": "/imu/aos", |
| "type": "aos.logging.LogMessageFbs", |
| "source_node": "imu", |
| "frequency": 200, |
| "num_senders": 30 |
| }, |
| { |
| "name": "/imu/aos", |
| "type": "aos.starter.Status", |
| "source_node": "imu", |
| "frequency": 50, |
| "num_senders": 20, |
| "max_size": 6144 |
| }, |
| { |
| "name": "/imu/aos", |
| "type": "aos.starter.StarterRpc", |
| "source_node": "imu", |
| "frequency": 10, |
| "num_senders": 2 |
| }, |
| { |
| "name": "/imu/aos", |
| "type": "aos.message_bridge.ServerStatistics", |
| "source_node": "imu", |
| "max_size": 2048, |
| "frequency": 10, |
| "num_senders": 2 |
| }, |
| { |
| "name": "/imu/aos", |
| "type": "aos.message_bridge.ClientStatistics", |
| "source_node": "imu", |
| "frequency": 20, |
| "num_senders": 2 |
| }, |
| { |
| "name": "/imu/aos", |
| "type": "aos.logging.DynamicLogCommand", |
| "source_node": "imu", |
| "frequency": 10, |
| "num_senders": 2 |
| }, |
| { |
| "name": "/imu/aos", |
| "type": "aos.message_bridge.Timestamp", |
| "source_node": "imu", |
| "frequency": 15, |
| "num_senders": 2, |
| "logger_nodes": [ |
| "roborio" |
| ], |
| "max_size": 400, |
| "destination_nodes": [ |
| { |
| "name": "roborio", |
| "priority": 1, |
| "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER", |
| "timestamp_logger_nodes": [ |
| "imu" |
| ], |
| "time_to_live": 5000000 |
| } |
| ] |
| }, |
| { |
| "name": "/imu/aos/remote_timestamps/roborio/imu/aos/aos-message_bridge-Timestamp", |
| "type": "aos.message_bridge.RemoteMessage", |
| "frequency": 20, |
| "source_node": "imu", |
| "max_size": 208 |
| }, |
| { |
| "name": "/roborio/aos", |
| "type": "aos.starter.StarterRpc", |
| "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": "/localizer", |
| "type": "frc971.controls.LocalizerOutput", |
| "source_node": "imu", |
| "frequency": 52, |
| "logger": "LOCAL_AND_REMOTE_LOGGER", |
| "logger_nodes": [ |
| "roborio" |
| ], |
| "destination_nodes": [ |
| { |
| "name": "roborio", |
| "priority": 5, |
| "time_to_live": 5000000, |
| "timestamp_logger": "LOCAL_AND_REMOTE_LOGGER", |
| "timestamp_logger_nodes": [ |
| "imu" |
| ] |
| } |
| ] |
| }, |
| { |
| "name": "/imu/aos/remote_timestamps/roborio/localizer/frc971-controls-LocalizerOutput", |
| "type": "aos.message_bridge.RemoteMessage", |
| "source_node": "imu", |
| "logger": "NOT_LOGGED", |
| "frequency": 100, |
| "num_senders": 2, |
| "max_size": 200 |
| }, |
| { |
| "name": "/roborio/aos/remote_timestamps/imu/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": "/imu/camera0", |
| "type": "frc971.vision.CameraImage", |
| "source_node": "imu", |
| "channel_storage_duration": 1000000000, |
| "frequency": 70, |
| "max_size": 4752384, |
| "num_readers": 6, |
| "read_method": "PIN", |
| "num_senders": 18 |
| }, |
| { |
| "name": "/imu/camera1", |
| "type": "frc971.vision.CameraImage", |
| "source_node": "imu", |
| "channel_storage_duration": 1000000000, |
| "frequency": 70, |
| "max_size": 4752384, |
| "num_readers": 6, |
| "read_method": "PIN", |
| "num_senders": 18 |
| }, |
| { |
| "name": "/imu/camera0", |
| "type": "foxglove.CompressedImage", |
| "source_node": "imu", |
| "logger": "NOT_LOGGED", |
| "channel_storage_duration": 1000000000, |
| "frequency": 70, |
| "max_size": 622384 |
| }, |
| { |
| "name": "/imu/camera1", |
| "type": "foxglove.CompressedImage", |
| "source_node": "imu", |
| "logger": "NOT_LOGGED", |
| "channel_storage_duration": 1000000000, |
| "frequency": 70, |
| "max_size": 622384 |
| }, |
| { |
| "name": "/imu/camera0", |
| "type": "foxglove.ImageAnnotations", |
| "source_node": "imu", |
| "frequency": 70, |
| "max_size": 50000 |
| }, |
| { |
| "name": "/imu/camera1", |
| "type": "foxglove.ImageAnnotations", |
| "source_node": "imu", |
| "frequency": 70, |
| "max_size": 50000 |
| }, |
| { |
| "name": "/imu/camera0", |
| "type": "y2024.localizer.Visualization", |
| "source_node": "imu", |
| "frequency": 70, |
| "max_size": 50000 |
| }, |
| { |
| "name": "/imu/camera1", |
| "type": "y2024.localizer.Visualization", |
| "source_node": "imu", |
| "frequency": 70, |
| "max_size": 50000 |
| }, |
| { |
| "name": "/imu/camera0", |
| "type": "frc971.vision.TargetMap", |
| "source_node": "imu", |
| "frequency": 70, |
| "num_senders": 2, |
| "max_size": 1024 |
| }, |
| { |
| "name": "/imu/camera1", |
| "type": "frc971.vision.TargetMap", |
| "source_node": "imu", |
| "frequency": 70, |
| "num_senders": 2, |
| "max_size": 1024 |
| }, |
| { |
| "name": "/imu", |
| "type": "frc971.imu.DualImu", |
| "source_node": "imu", |
| "frequency": 1100, |
| "num_senders": 1, |
| "max_size": 496 |
| }, |
| { |
| "name": "/imu", |
| "type": "frc971.imu.CanTranslatorStatus", |
| "source_node": "imu", |
| "frequency": 1000, |
| "num_senders": 1, |
| "max_size": 200 |
| }, |
| { |
| "name": "/can/cana", |
| "type": "frc971.can_logger.CanFrame", |
| "source_node": "imu", |
| "frequency": 9000, |
| "channel_storage_duration": 7000000000, |
| "num_senders": 2, |
| "max_size": 200 |
| }, |
| { |
| "name": "/localizer", |
| "type": "frc971.IMUValuesBatch", |
| "source_node": "imu", |
| "frequency": 2200, |
| "max_size": 1600, |
| "num_senders": 2 |
| }, |
| { |
| "name": "/imu", |
| "type": "frc971.imu.DualImuBlenderStatus", |
| "source_node": "imu", |
| "frequency": 1100, |
| "num_senders": 1, |
| "max_size": 200 |
| }, |
| { |
| "name": "/localizer", |
| "type": "y2024.localizer.Status", |
| "source_node": "imu", |
| "frequency": 1600, |
| "max_size": 3200, |
| "num_senders": 2 |
| }, |
| { |
| "name": "/imu/hardware_monitor", |
| "type": "frc971.orin.HardwareStats", |
| "source_node": "imu", |
| "frequency": 2 |
| }, |
| { |
| "name": "/imu/constants", |
| "type": "y2024.Constants", |
| "source_node": "imu", |
| "frequency": 1, |
| "num_senders": 2, |
| "max_size": 65536 |
| } |
| ], |
| "applications": [ |
| { |
| "name": "message_bridge_client", |
| "args": [ |
| "--rt_priority=16", |
| "--sinit_max_init_timeout=5000", |
| "--rmem=8388608" |
| ], |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "irq_affinity", |
| "executable_name": "irq_affinity", |
| "user": "root", |
| "args": ["--user=pi", "--irq_config=orin_irq_config.json"], |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "filesystem_monitor", |
| "executable_name": "filesystem_monitor", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "hardware_monitor", |
| "executable_name": "hardware_monitor", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "joystick_republish", |
| "executable_name": "joystick_republish", |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "message_bridge_server", |
| "executable_name": "message_bridge_server", |
| "user": "pi", |
| "args": [ |
| "--rt_priority=16", |
| "--force_wmem_max=131072" |
| ], |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "localizer", |
| "executable_name": "localizer_main", |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "localizer_logger", |
| "executable_name": "localizer_logger", |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "imu_can_logger", |
| "executable_name": "can_logger", |
| "args": [ |
| "--priority=59", |
| "--affinity=5" |
| ], |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| // TODO(max): Update the channel value with whatever channel the IMU is on. |
| { |
| "name": "can_translator", |
| "executable_name": "can_translator", |
| "args": [ |
| "--channel=/can/cana" |
| ], |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "dual_imu_blender", |
| "executable_name": "dual_imu_blender", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "web_proxy", |
| "executable_name": "web_proxy_main", |
| "args": [ |
| "--min_ice_port=5800", |
| "--max_ice_port=5810" |
| ], |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "foxglove_websocket", |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "constants_sender", |
| "autorestart": false, |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "image_logger", |
| "executable_name": "image_logger", |
| "args": [ |
| "--rotate_every", |
| "30.0", |
| "--direct", |
| "--flush_size=4194304" |
| ], |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "foxglove_websocket", |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "foxglove_image_converter0", |
| "executable_name": "foxglove_image_converter", |
| "user": "pi", |
| "args": [ |
| "--channel", "/camera0" |
| ], |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "foxglove_image_converter1", |
| "executable_name": "foxglove_image_converter", |
| "user": "pi", |
| "args": [ |
| "--channel", "/camera1" |
| ], |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "constants_sender", |
| "autorestart": false, |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "argus_monitor_imu", |
| "executable_name": "argus_monitor", |
| "args": [ |
| "/imu/camera0", |
| "frc971.vision.TargetMap", |
| "/imu/camera1", |
| "frc971.vision.TargetMap", |
| ], |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "argus_camera0", |
| "executable_name": "argus_camera", |
| "args": [ |
| "--camera=0", |
| "--channel=/camera0" |
| ], |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "argus_camera1", |
| "executable_name": "argus_camera", |
| "args": [ |
| "--camera=1", |
| "--channel=/camera1" |
| ], |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "apriltag_detector0", |
| "executable_name": "apriltag_detector", |
| "args": [ |
| "--channel=/camera0" |
| ], |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| }, |
| { |
| "name": "apriltag_detector1", |
| "executable_name": "apriltag_detector", |
| "args": [ |
| "--channel=/camera1" |
| ], |
| "user": "pi", |
| "nodes": [ |
| "imu" |
| ] |
| } |
| ], |
| "maps": [ |
| { |
| "match": { |
| "name": "/constants*", |
| "source_node": "imu" |
| }, |
| "rename": { |
| "name": "/imu/constants" |
| } |
| }, |
| { |
| "match": { |
| "name": "/aos*", |
| "source_node": "imu" |
| }, |
| "rename": { |
| "name": "/imu/aos" |
| } |
| }, |
| { |
| "match": { |
| "name": "/camera*", |
| "source_node": "imu" |
| }, |
| "rename": { |
| "name": "/imu/camera" |
| } |
| }, |
| { |
| "match": { |
| "name": "/hardware_monitor*", |
| "source_node": "imu" |
| }, |
| "rename": { |
| "name": "/imu/hardware_monitor" |
| } |
| } |
| ], |
| "nodes": [ |
| { |
| "name": "imu", |
| "hostname": "orin2", |
| "hostnames": [ |
| "orin-971-2", |
| "orin-7971-2", |
| "orin-8971-2", |
| "orin-9971-2" |
| ], |
| "port": 9971 |
| }, |
| { |
| "name": "roborio" |
| }, |
| { |
| "name": "orin1" |
| } |
| ] |
| } |