{
  "formatVersion": 1,
  "kind": "ffb-bridge.profile",
  "id": "addon-jrx-bo105",
  "revision": 1,
  "metadata": {
    "title": "JRX MBB Bo105 DBS-4 (XP12)",
    "description": "JRX Bo105 DBS-4 XP12: boosted cyclic estimate and four-blade rotor cues; rotor-trim/AP signal integration remains gated.",
    "author": {
      "name": "FFB-Bridge",
      "id": "rohsam"
    },
    "aircraft": [
      {
        "name": "MBB Bo105 DBS-4",
        "kind": "helicopter",
        "identifiers": [
          {
            "scheme": "airframedb",
            "value": "mbb-bo105"
          }
        ]
      }
    ],
    "sims": [],
    "hardware": [],
    "tags": [
      "starting-point",
      "estimated-feel",
      "helicopter",
      "rotorcraft",
      "estimated-feel"
    ],
    "targets": [
      {
        "aircraftId": "mbb-bo105",
        "implementationId": null,
        "simulator": "xplane12",
        "scope": "addon-starting-point",
        "developer": "JRX",
        "addonName": "JRX MBB Bo105 DBS-4 (XP12)"
      }
    ],
    "evidence": {
      "basis": "research-derived-estimates",
      "summary": "JRX Bo105 DBS-4 XP12: boosted cyclic estimate and four-blade rotor cues; rotor-trim/AP signal integration remains gated.",
      "reviewedOn": "2026-09-24",
      "sourceUrls": [
        "https://store.x-plane.org/Messerschmitt-B%C3%B6lkow-Blohm-Bo-105-DBS-4-_p_1529.html",
        "https://www.helisimmer.com/reviews/jrx-design-mbb-bo-105-dbs4-x-plane",
        "https://www.easa.europa.eu/en/downloads/7939/en",
        "https://airframedb.com/aircraft/mbb-bo105"
      ],
      "estimatedSettings": [
        "Force amplitudes, damping, friction, response curves and cue onset are engineering estimates, not measured hand forces.",
        "The indicated-airspeed tuning reference is a selected control-feel reference, not published cruise TAS."
      ],
      "limitations": [
        "Estimated cyclic resistance and airframe textures, not measured aircraft grip forces. Physical and installed-product acceptance remain deferred.",
        "Electric trim datum and AP/SAS output contracts are unqualified. Fixed physical neutral does not follow simulator trim. Local FTR, follow-up trim, elevator-trim relief and AP follow/hold are disabled to avoid duplicate software centering.",
        "Rotor RPM uses the observed XP12 prop_rotation_speed_rad_sec[0] conversion, not turbine/engine RPM. Rotor index applicability still needs installed verification. Rendered blade-passage character is mapped to the existing 4-12 Hz haptic band, not literal physical blade-passage frequency.",
        "Missing rotor RPM silences rotor rumble, but the existing forward-flight n/rev channel can fall back to combustion state and its default rendered frequency. That fallback is an optional estimate, not evidence that rotor speed or blade passage was observed.",
        "ETL and powered low-speed descent cues are modest generic estimates, not aircraft-specific onset or flight warnings. No verified collective/native VRS contract is assumed. Engine-off autorotation retains rotor texture when rotor speed remains available.",
        "Hydraulic failures, mast moment, custom vibration animations, governor droop and variable VNE/RBS are not converted into invented cyclic forces. No simulator input writes or hardware tests are part of this profile review.",
        "DBS4 electric rotor-trim center and optionalAPservos are not hardware-synchronized. Store aerobatic marketing is not a DBS4 flight approval or force envelope."
      ]
    },
    "derivedFrom": {
      "kind": "profile",
      "id": "airframe-mbb-bo105",
      "version": 1
    },
    "createdWith": "FFB-Bridge 1.6",
    "createdAt": "2026-09-24",
    "updatedAt": "2026-09-24",
    "addon": {
      "developer": "JRX",
      "product": "MBB Bo105 DBS-4",
      "simulator": "xplane12"
    }
  },
  "compatibility": {
    "minAppVersion": "1.6.0-beta.1"
  },
  "modules": [
    {
      "type": "force-model",
      "schemaVersion": 7,
      "data": {
        "Forces": {
          "SpringStrength": 0.1,
          "SpringDeadband": 0.02,
          "ForceGain": 0,
          "CruiseSpeedRefKnots": 110,
          "MaxOutputForce": 0.55,
          "MasterGain": 0.65,
          "QBlendEnabled": false,
          "QSpringStartKnots": 16.8,
          "QSpringFullKnots": 60.0,
          "QSpringMinimumFactor": 1,
          "HydraulicAeroLoadFactor": 0.6,
          "LoadShapingExponent": 1,
          "SpringAirspeedStiffenGain": 0,
          "SpringAirspeedStiffenCap": 5,
          "ElevatorForceScale": 1,
          "AileronForceScale": 1
        },
        "Ground": {
          "Enabled": true,
          "Rumble": {
            "MinSpeedKt": 2,
            "FullSpeedKt": 30,
            "Gain": 0
          },
          "Thump": {
            "ReferenceSinkFps": 6,
            "MinSinkFps": 1,
            "Gain": 0.2
          },
          "Bumps": {
            "StartSpeedKt": 15,
            "FullSpeedKt": 60,
            "Gain": 0
          },
          "Brake": {
            "MinSpeedKt": 3,
            "FullSpeedKt": 30,
            "BrakeDeadband": 0.05,
            "Gain": 0
          },
          "Reverse": {
            "MinSpeedKt": 30,
            "FullSpeedKt": 120,
            "Gain": 0
          },
          "NosewheelShimmy": {
            "MinSpeedKt": 5,
            "FullSpeedKt": 35,
            "Gain": 0
          },
          "GroundAccelPitch": {
            "Gain": 0,
            "DeadbandG": 0.03
          },
          "SkidScrape": {
            "MinSpeedKt": 2,
            "FullSpeedKt": 10,
            "MaxSpeedKt": 25,
            "Gain": 0.12
          },
          "SurfaceScalingEnabled": true,
          "Undercarriage": 0
        },
        "StickFeel": {
          "TrimFeelEnabled": false,
          "TrimFeel": {
            "ElevatorAuthority": 0,
            "AileronAuthority": 0
          },
          "GLoadEnabled": true,
          "GLoadStiffness": {
            "MinFactor": 1,
            "GGain": 0,
            "MaxFactor": 1
          },
          "DynamicDeadbandEnabled": false,
          "DynamicDeadband": {
            "LowSpeedWidening": 0.15,
            "FullSpeedRefKnots": 60.0
          },
          "ControlEdgeEnabled": false,
          "ControlEdge": {
            "EdgeStart": 0.85,
            "Gain": 0.3
          },
          "RateDampingEnabled": false,
          "RateDamping": {
            "PitchGain": 0,
            "RollGain": 0,
            "MaxForce": 0.2
          },
          "StickDropEnabled": false,
          "StickDrop": {
            "Force": 0.25,
            "FadeKts": 36.0
          },
          "TrimReliefEnabled": false,
          "TrimRelief": {
            "ElevatorAuthority": 0,
            "AileronAuthority": 0
          },
          "CyclicDampingEnabled": true,
          "CyclicDamping": {
            "Gain": 0.12,
            "MaxForce": 0.25,
            "VelocityNoiseFloor": 0.12,
            "SmoothingTimeConstantSeconds": 0.015,
            "PitchGain": null,
            "RollGain": null
          },
          "StickFrictionEnabled": false,
          "StickFriction": {
            "Strength": 0,
            "PitchStrength": null,
            "RollStrength": null
          },
          "ControlInertiaEnabled": false,
          "ControlInertia": {
            "PitchStrength": 0,
            "RollStrength": 0
          },
          "SoftStopsEnabled": false,
          "SoftStops": {
            "PitchStart": 0.85,
            "PitchStrength": 0,
            "RollStart": 0.85,
            "RollStrength": 0
          },
          "ForceTrimEnabled": false,
          "ForceTrim": {
            "HoldStrength": 0,
            "Deadband": 0.02,
            "BreakoutTravel": 0.3,
            "BeepTrimRate": 0.25,
            "FollowUpTrim": false,
            "FollowUpRate": 0.15,
            "FollowUpMaxAirspeedKt": 40,
            "FollowUpDeadband": 0.06
          }
        },
        "Aero": {
          "Enabled": true,
          "Stall": {
            "Gain": 0
          },
          "Overspeed": {
            "Gain": 0
          },
          "Mach": {
            "MinMach": 0.9,
            "FullMach": 0.92,
            "Gain": 0
          },
          "Turbulence": {
            "MinStddev": 0.02,
            "FullStddev": 0.3,
            "Gain": 0.15,
            "AmbientGain": 0.2,
            "VerticalWindGain": 0,
            "VerticalWindStartFps": 1,
            "VerticalWindFullFps": 15
          },
          "Spoiler": {
            "MinDeploy": 0.1,
            "MinSpeedKt": 60,
            "FullSpeedKt": 200,
            "Gain": 0
          },
          "Flap": {
            "MaxFlapIndex": 1,
            "MinFlapIndex": 1,
            "MinSpeedKt": 48.0,
            "FullSpeedKt": 84.0,
            "Gain": 0
          },
          "Gear": {
            "MinSpeedKt": 80,
            "FullSpeedKt": 150,
            "Gain": 0
          },
          "Etl": {
            "StartKt": 12,
            "StopKt": 24,
            "Gain": 0.18
          },
          "Vrs": {
            "MaxIasKt": 28,
            "OnsetSinkFps": 5,
            "FullSinkFps": 15,
            "MinEngineRpmPct": 0.5,
            "Gain": 0.16,
            "MinCollectivePct": 0.4
          },
          "TwoPerRev": {
            "MinSpeedKt": 30,
            "FullSpeedKt": 110,
            "Gain": 0.12,
            "BladeCount": 4
          },
          "Rbs": {
            "VneKt": 130,
            "OnsetFraction": 0.85,
            "Gain": 0
          },
          "ShakerEnabled": false,
          "Shaker": {
            "Amplitude": 0.5
          },
          "TurbulenceWindowSamples": 20
        },
        "AeroDrag": {
          "Enabled": false,
          "Flap": {
            "MaxFlapIndex": 1,
            "Gain": 0,
            "MinKnots": 30.0,
            "FullKnots": 84.0
          },
          "Spoiler": {
            "Gain": 0,
            "MinKnots": 60,
            "FullKnots": 220,
            "MinDeploy": 0.05
          },
          "Gear": {
            "Gain": 0,
            "MinKnots": 70,
            "FullKnots": 200
          },
          "Propwash": {
            "Gain": 0,
            "MinRpm": 0.3,
            "WashoutKnots": 86.4
          }
        },
        "Mechanical": {
          "Enabled": true,
          "GearDeploy": {
            "Gain": 0
          },
          "FlapStep": {
            "Gain": 0
          },
          "FlapMotion": {
            "Gain": 0,
            "MinimumPositionDelta": 0.001,
            "PacketHoldSeconds": 0.12,
            "ArrivalSettleSeconds": 0.25
          },
          "GearMotion": {
            "Gain": 0,
            "MinimumPositionDelta": 0.001,
            "PacketHoldSeconds": 0.12,
            "ArrivalSettleSeconds": 0.25
          },
          "FlapArrival": {
            "Gain": 0
          }
        },
        "Watchdog": {
          "StaleSec": 5,
          "FadeMs": 500
        },
        "Autopilot": {
          "FollowEnabled": false,
          "FollowAuthority": 0.05,
          "FollowSpringStrength": 0.25,
          "FollowSpeed": 1,
          "NeutralHoldEnabled": false,
          "NeutralHoldStrength": 0.6
        },
        "Engine": {
          "Enabled": true,
          "Rumble": {
            "IdleRpmPct": 0.55,
            "FullRpmPct": 1,
            "Gain": 0,
            "IdleRoughnessGain": 0,
            "IdleSmoothRpmPct": 0.45,
            "FrequencyAtMaxRpmHz": 0
          },
          "Rotor": {
            "NominalRotorRpm": 424,
            "IdleRpmPct": 0.05,
            "FullRpmPct": 1,
            "Gain": 0.1,
            "GovernorDroopBelowPct": 0.97,
            "GovernorDroopFloorPct": 0.85,
            "GovernorDroopGain": 0
          }
        },
        "StickAlive": {
          "Enabled": true,
          "RotationKick": {
            "Enabled": false,
            "PitchGain": 0,
            "RollGain": 0,
            "MaxOutput": 0,
            "DeadbandRadPerSec2": 0.75
          },
          "SurfaceFollow": {
            "Enabled": false,
            "Gain": 0,
            "FullAirspeedKnots": 100,
            "MinAirspeedKnots": 30,
            "DeltaDeadband": 0.05,
            "MaxOutput": 0
          },
          "SideslipCoupling": {
            "Enabled": false,
            "Gain": 0,
            "FullAirspeedKnots": 110,
            "MinAirspeedKnots": 40,
            "BetaDeadbandRad": 0.02,
            "MaxOutput": 0
          },
          "UseSimEngineVibration": false,
          "UseTireLoadThump": false,
          "TireLoadGain": 0
        },
        "ControlInput": {
          "Mode": 0,
          "Pitch": {
            "CommandForce": 0.5,
            "ForceDeadZone": 0.05,
            "Travel": 0.25,
            "Positive": null,
            "Negative": null,
            "PositiveCommandForce": 0.5,
            "NegativeCommandForce": 0.5,
            "PositiveForceDeadZone": 0.05,
            "NegativeForceDeadZone": 0.05,
            "PositiveTravel": 0.25,
            "NegativeTravel": 0.25
          },
          "Roll": {
            "CommandForce": 0.5,
            "ForceDeadZone": 0.05,
            "Travel": 0.25,
            "Positive": null,
            "Negative": null,
            "PositiveCommandForce": 0.5,
            "NegativeCommandForce": 0.5,
            "PositiveForceDeadZone": 0.05,
            "NegativeForceDeadZone": 0.05,
            "PositiveTravel": 0.25,
            "NegativeTravel": 0.25
          },
          "OverRangeCue": true
        },
        "Hydraulics": {
          "LossLoadIncrease": 0
        },
        "ControlSystem": 3
      }
    }
  ]
}
