Changes to support orin and new camera stream

Add orin as option to downloader.py
Add viewer to binaries to download
Tweak rates and sizes to match new buffer requirements

Change-Id: Ic40fdc4f70062ec9d9f1dd6c39c6a8a73251eee5
Signed-off-by: Jim Ostrowski <yimmy13@gmail.com>
diff --git a/frc971/downloader/downloader.py b/frc971/downloader/downloader.py
index a962d5b..181a721 100644
--- a/frc971/downloader/downloader.py
+++ b/frc971/downloader/downloader.py
@@ -37,7 +37,7 @@
                         help="Target to deploy code to.")
     parser.add_argument("--type",
                         type=str,
-                        choices=["roborio", "pi"],
+                        choices=["roborio", "pi", "orin"],
                         required=True,
                         help="Target type for deployment")
     parser.add_argument("srcs",
@@ -64,7 +64,7 @@
         target_dir = result.group(3)
 
     if user is None:
-        if args.type == "pi":
+        if args.type == "pi" or args.type == "orin":
             user = "pi"
         elif args.type == "roborio":
             user = "admin"
@@ -122,7 +122,7 @@
         # permissions or the executables won't be visible to init.
         os.chmod(temp_dir, 0o775)
         # Starter needs to be SUID so we transition from lvuser to admin.
-        if args.type != "pi":
+        if args.type != "pi" and args.type != "orin":
             os.chmod(os.path.join(temp_dir, "starterd"), 0o775 | stat.S_ISUID)
 
         rsync_cmd = ([
diff --git a/y2023/vision/BUILD b/y2023/vision/BUILD
index 07911a8..f583abd 100644
--- a/y2023/vision/BUILD
+++ b/y2023/vision/BUILD
@@ -50,7 +50,10 @@
         "viewer.cc",
     ],
     target_compatible_with = ["@platforms//os:linux"],
-    visibility = ["//y2023:__subpackages__"],
+    visibility = [
+        "//y2023:__subpackages__",
+        "//y2024:__subpackages__",
+    ],
     deps = [
         "//aos:init",
         "//aos:json_to_flatbuffer",
diff --git a/y2024/BUILD b/y2024/BUILD
index be8abe0..ecbb301 100644
--- a/y2024/BUILD
+++ b/y2024/BUILD
@@ -46,14 +46,15 @@
 robot_downloader(
     name = "orin_download",
     binaries = [
+        ":joystick_republish",
+        "//aos/events:aos_timing_report_streamer",
+        "//aos/events/logging:log_cat",
+        "//aos/network:web_proxy_main",
         "//aos/starter:irq_affinity",
         "//aos/util:foxglove_websocket",
-        "//aos/events:aos_timing_report_streamer",
-        "//y2024/constants:constants_sender",
-        "//aos/network:web_proxy_main",
-        ":joystick_republish",
-        "//aos/events/logging:log_cat",
         "//frc971/image_streamer:image_streamer",
+        "//y2023/vision:viewer",
+        "//y2024/constants:constants_sender",
     ],
     data = [
         ":aos_config",
@@ -66,15 +67,15 @@
         "//frc971/image_streamer/www:www_files",
     ],
     start_binaries = [
+        "//aos/events/logging:logger_main",
         "//aos/network:message_bridge_client",
         "//aos/network:message_bridge_server",
         "//aos/network:web_proxy_main",
         "//aos/starter:irq_affinity",
-        "//y2024/vision:image_logger",
-        "//aos/events/logging:logger_main",
-        "//y2024/orin:can_logger",
-        "//frc971/orin:gpu_apriltag",
         "//frc971/orin:argus_camera",
+        "//frc971/orin:gpu_apriltag",
+        "//y2024/orin:can_logger",
+        "//y2024/vision:image_logger",
     ],
     target_compatible_with = ["//tools/platforms/hardware:raspberry_pi"],
     target_type = "pi",
diff --git a/y2024/y2024_orin_template.json b/y2024/y2024_orin_template.json
index 93c0e27..1e05e9a 100644
--- a/y2024/y2024_orin_template.json
+++ b/y2024/y2024_orin_template.json
@@ -6,7 +6,7 @@
       "source_node": "orin{{ NUM }}",
       "frequency": 50,
       "num_senders": 20,
-      "max_size": 4096
+      "max_size": 8192
     },
     {
       "name": "/orin{{ NUM }}/aos",
@@ -113,8 +113,8 @@
       "name": "/orin{{ NUM }}/camera",
       "type": "frc971.vision.CameraImage",
       "source_node": "orin{{ NUM }}",
-      "frequency": 40,
-      "max_size": 1843456,
+      "frequency": 65,
+      "max_size": 4752384,
       "num_readers": 6,
       "read_method": "PIN",
       "num_senders": 18
@@ -123,21 +123,21 @@
       "name": "/orin{{ NUM }}/camera",
       "type": "foxglove.CompressedImage",
       "source_node": "orin{{ NUM }}",
-      "frequency": 40,
+      "frequency": 65,
       "max_size": 622384
     },
     {
       "name": "/orin{{ NUM }}/camera",
       "type": "foxglove.ImageAnnotations",
       "source_node": "orin{{ NUM }}",
-      "frequency": 40,
+      "frequency": 65,
       "max_size": 50000
     },
     {
       "name": "/orin{{ NUM }}/camera",
       "type": "frc971.vision.TargetMap",
       "source_node": "orin{{ NUM }}",
-      "frequency": 40,
+      "frequency": 65,
       "num_senders": 2,
       "max_size": 1024,
       "logger": "LOCAL_AND_REMOTE_LOGGER",
@@ -180,7 +180,7 @@
         "--rt_priority=16",
         "--sinit_max_init_timeout=5000"
       ],
-      "user": "orin",
+      "user": "pi",
       "nodes": [
         "orin{{ NUM }}"
       ]
@@ -189,7 +189,7 @@
       "name": "irq_affinity",
       "executable_name": "irq_affinity",
       "user": "root",
-      "args": ["--user=orin"],
+      "args": ["--user=pi"],
       "nodes": [
           "orin{{ NUM }}"
       ]
@@ -197,7 +197,7 @@
     {
       "name": "message_bridge_server",
       "executable_name": "message_bridge_server",
-      "user": "orin",
+      "user": "pi",
       "nodes": [
         "orin{{ NUM }}"
       ]
@@ -205,7 +205,7 @@
     {
       "name": "web_proxy",
       "executable_name": "web_proxy_main",
-      "user": "orin",
+      "user": "pi",
       "args": [
         "--min_ice_port=5800",
         "--max_ice_port=5810"
@@ -225,21 +225,21 @@
         "--direct",
         "--flush_size=4194304"
       ],
-      "user": "orin",
+      "user": "pi",
       "nodes": [
         "orin{{ NUM }}"
       ]
     },
     {
       "name": "foxglove_websocket",
-      "user": "orin",
+      "user": "pi",
       "nodes": [
         "orin{{ NUM }}"
       ]
     },
     {
       "name": "foxglove_image_converter",
-      "user": "orin",
+      "user": "pi",
       "nodes": [
         "orin{{ NUM }}"
       ]
@@ -247,7 +247,7 @@
     {
       "name": "constants_sender",
       "autorestart": false,
-      "user": "orin",
+      "user": "pi",
       "nodes": [
         "orin{{ NUM }}"
       ]
@@ -255,7 +255,11 @@
     {
       "name": "argus_camera",
       "executable_name": "argus_camera",
-      "user": "orin",
+      "args": [
+          "--enable_ftrace",
+          "--channel=0",
+      ],
+      "user": "pi",
       "nodes": [
         "orin{{ NUM }}"
       ]
@@ -263,7 +267,7 @@
     {
       "name": "gpu_apriltag",
       "executable_name": "gpu_apriltag",
-      "user": "orin",
+      "user": "pi",
       "nodes": [
         "orin{{ NUM }}"
       ]