cu-flight-controller 1.1.3

This is a basic quadcopter Flight Controller implemented end to end using Copper components
(
    tasks: [
        (
            id: "vitfly_context",
            type: "tasks::VitFlyContextAdapter",
            logging: (enabled: true),
        ),
        (
            id: "vitfly_depth_rate",
            type: "cu_ratelimit::CuRateLimit<cu_zed::ZedDepthMap>",
            config: {"rate": 30.0},
            logging: (enabled: true),
        ),
        (
            id: "vitfly",
            type: "cu_vitfly::VitFlyTask",
            config: {
                "max_depth_m": 12.5,
                "invalid_depth": 0.8,
            },
            logging: (enabled: true),
        ),
        (
            id: "vitfly_command",
            type: "tasks::VitFlyCommandAdapter",
            logging: (enabled: true),
        ),
    ],
    bridges: [
        (
            id: "autonomy",
            type: "autonomy_bridge::AutonomyBridge",
            run_in_sim: false,
            logging: (enabled: true),
            config: {
                "wire_format": "bincode",
                "zenoh_config_json": r#"
                    {
                        mode: "peer",
                        listen: { endpoints: ["udp/0.0.0.0:7447"] },
                    }
                "#,
            },
            channels: [
                Rx(
                    id: "context",
                    route: "flight/autonomy/context",
                ),
                Tx(
                    id: "command",
                    route: "flight/autonomy/command",
                ),
            ],
        ),
    ],
    cnx: [
        (
            src: "zed",
            dst: "__nc__",
            msg: "cu_zed::ZedStereoImages",
        ),
        (
            src: "autonomy/context",
            dst: "vitfly_context",
            msg: "crate::messages::AutonomyContext",
        ),
        (
            src: "autonomy/context",
            dst: "vitfly_command",
            msg: "crate::messages::AutonomyContext",
        ),
        (
            src: "zed",
            dst: "vitfly_depth_rate",
            msg: "cu_zed::ZedDepthMap",
        ),
        (
            src: "vitfly_depth_rate",
            dst: "vitfly",
            msg: "cu_zed::ZedDepthMap",
        ),
        (
            src: "vitfly_context",
            dst: "vitfly",
            msg: "cu_ahrs::AhrsPose",
        ),
        (
            src: "vitfly_context",
            dst: "vitfly",
            msg: "cu29::units::si::f32::Velocity",
        ),
        (
            src: "vitfly",
            dst: "vitfly_command",
            msg: "cu_vitfly::VitFlyVelocity",
        ),
        (
            src: "vitfly_command",
            dst: "autonomy/command",
            msg: "crate::messages::AutonomyVelocityCommand",
        ),
        (
            src: "zed",
            dst: "__nc__",
            msg: "cu_zed::ZedConfidenceMap<Vec<f32>>",
        ),
        (
            src: "zed",
            dst: "__nc__",
            msg: "cu29::prelude::CuLatchedStateUpdate<cu_zed::ZedCalibrationBundle>",
        ),
        (
            src: "zed",
            dst: "__nc__",
            msg: "cu29::prelude::CuLatchedStateUpdate<cu_zed::ZedRigTransforms>",
        ),
        (
            src: "zed",
            dst: "__nc__",
            msg: "cu_sensor_payloads::ImuPayload",
        ),
        (
            src: "zed",
            dst: "__nc__",
            msg: "cu_sensor_payloads::MagnetometerPayload",
        ),
        (
            src: "zed",
            dst: "__nc__",
            msg: "cu_sensor_payloads::BarometerPayload",
        ),
        (
            src: "zed",
            dst: "__nc__",
            msg: "cu_zed::ZedFrameMeta",
        ),
    ],
    logging: (
        enable_task_logging: true,
        slab_size_mib: 64,
        section_size_mib: 8,
    ),
)