![]() | To understand the protocol and be able to avoid pitfalls, please read "General information" before attempting to build packets. |
The protocol can be used to read and write specific values of the hardware.
Most of these values are normally controlled by the simulation and will be overwritten immediately after writing.
The "OverrideBitmask" address can be used to detach the simulation from these variables, allowing third-party applications to take control.
As the name implies, each variable is represented by one bit. If that bit is set, the simulation will release control of the variable.
![]() | Addresses for writing are not allowed to be read and will always return 0 when reading. |
![]() | In a dual-seat set-up, all Data except force information (e.g. ElevatorForce, ElevatorForce2) and button presses (YokeButtons, YokeButton2) is synchronized. Therefore it is only exposed as a single value regardless if the hardware set-up is single- or dual-seat. |
Request![]() |
Response![]() |
Request![]() |
Response![]() |
| Name | Address | Description |
|---|---|---|
| ElevatorTrim | 0x01 |
Int32 - Allowed values are 0 to 0xFFFF. This setting controls the trim of the axis, defining the position it returns to. When writing the autopilot position, this value will be overwritten with the AP position value. |
| AileronTrim | 0x02 | |
| RudderTrim | 0x03 | |
| CollectiveTrim | 0x04 | |
| ElevatorPos | 0x05 |
Int32 - Allowed values are 0 to 0xFFFF. This value returns the position of the axis. Writing to it will have no effect. |
| AileronPos | 0x06 | |
| RudderPos | 0x07 | |
| CollectivePos | 0x08 | |
| ElevatorForce | 0x09 |
Int32 - Full range. Reading this address returns the force applied by the user to the axis. variables with the number 2 at the end, will read the value from the copilot device in a dual setup. |
| ElevatorForce2 | 0x0A | |
| AileronForce | 0x0B | |
| AileronForce2 | 0x0C | |
| RudderForce | 0x0D | |
| RudderForce2 | 0x0E | |
| CollectiveForce | 0x0F | |
| CollectiveForce2 | 0x10 | |
| ElevatorScalefactor | 0x11 |
Int32 - Allowed values are 25 to 999. Force multiplicator for the axis. a value of 100 is 100% the force set in the force profile. This setting is used to increase and decrease force gradually during operation. |
| AileronScalefactor | 0x12 | |
| RudderScalefactor | 0x13 | |
| CollectiveScalefactor | 0x14 | |
| ElevatorAPActive | 0x15 |
Int32 - Allowed values are 0 or 1. Activates/Deactivates the autopilot of the axis. The analog value <AXISNAME>APPos can be used to set desired yoke position. |
| AileronAPActive | 0x16 | |
| RudderAPActive | 0x17 | |
| CollectiveAPActive | 0x18 | |
| ElevatorAPPos | 0x19 |
Int32 - Allowed values are 0 to 0xFFFF. This variable will set the position of the autopilot as well as the trim position. |
| AileronAPPos | 0x1A | |
| RudderAPPos | 0x1B | |
| CollectiveAPPos | 0x1C | |
| ElevatorAPSpeed | 0x21 |
Int32 - Allowed values are 0 to 0x0BB8 (3000). This variable will set the speed of the autopilot. |
| AileronAPSpeed | 0x22 | |
| RudderAPSpeed | 0x23 | |
| CollectiveAPSpeed | 0x24 | |
| ElevatorAPForce | 0x25 |
Int32 - Allowed values are 1 to 0x64 (100). This variable will set the force of the autopilot. |
| AileronAPForce | 0x26 | |
| RudderAPForce | 0x27 | |
| CollectiveAPForce | 0x28 | |
| Airspeed | 0x1D |
Float32 - Full positive range, including 0. Writing this address will recalculate the force scale factors of all axes, based on the active CLS2Sim profile. The formula is shown in the CLSProfile manager window. Writing this variable will override all <Axis>Scalefactor variables. |
| OverrideMask | 0x1E |
Int32 - 32bit Bitmask. The bits are defined in the "OverrideBitmask" enum. Each set bit releases control of a specific variable, allowing it to be controlled over the remote control interface. |
| YokeButtons | 0x1F |
Int32 - 32bit Bitmask. Each bit represents a button on the pilot yoke. |
| YokeButtons2 | 0x20 |
Int32 - 32bit Bitmask. Each bit represents a button on the copilot yoke. |
| Name | Bitmask |
|---|---|
| ElevatorScalefactor | 0x0001 |
| AileronScalefactor | 0x0002 |
| RudderScalefactor | 0x0004 |
| CollectiveScalefactor | 0x0008 |
| ElevatorAPActive | 0x0010 |
| AileronAPActive | 0x0020 |
| RudderAPActive | 0x0040 |
| CollectiveAPActive | 0x0080 |
| ElevatorTrim | 0x0100 |
| AileronTrim | 0x0200 |
| RudderTrim | 0x0400 |
| CollectiveTrim | 0x0800 |
| ElevatorAPPos | 0x1000 |
| AileronAPPos | 0x2000 |
| RudderAPPos | 0x4000 |
| CollectiveAPPos | 0x8000 |
To use this feature. "External Control" in the connection settings window must be checked. All other commands as well as all other CLS2Sim functionality will be deactivated!
The CLS system consisting of yokes / cyclics and pedals is intended to be used over CLS2Sim with supported flight simulation software.
If unsupported software is used, CLS2Sim has no way of communicating the steering values to the simulation.
Remote Control allows a 3rd-party application to define directional force on all axes of the CLS hardware, while receiving position information for said axes.
Using this, unsupported software can communicate with CLS2Sim and its hardware over a 3rd-party application.


©2025 Brunner Elektronik AG
CH-8335 Hittnau 
http://www.brunner-innovation.swiss